DOI QR코드

DOI QR Code

자바기반 내장형 시스템에서 쓰레기 객체의 명시적 자유화 방법

An Explicit Free Method for the Garbage Objects in Java-based Embedded System

  • 배수강 (경희대학교 대학원 전자계산공학과) ;
  • 이승룡 (경희대학교 전자계산공학과)
  • 발행 : 2002.12.01

초록

내장형 시스템 소프트웨어의 규모가 커지고 복잡해짐에 따라 동적 메모리 사용이많아지고, 자동화된 동적 메모리 관리를 수행할 수 있는 쓰레기 수집기의 사용이 보편화 되어가고 있다. 그러나, 쓰레기수집기의 실행 시 오버헤드로 인하여 발생되는 시스템의 성능저하 문제는 피할 수 없게된다. 본 논문에서는 쓰레기 수집기 사용하는 자바기반의 내장형 시스템에서 실행시간에 쓰레기수집기로 인한 오버헤드를 줄이기 위한 방안으로 프로그래머가 명시적으로 동적 메모리를 자유화할 수 있는 기법을 소개한다. 제안된 기법은 최상의 경우쓰레기수집기가 한 번도 수행되지 않은 채 어플리케이션의 수행이 가능하므로 기존의 쓰레기수집기로 인한 오버헤드가 전혀 발생되지 않을 수 있다. 반면, 최악의 경우 어떤 쓰레기 객체가 명시적으로 수거되지 않더라도 그것은 추후 쓰레기 수집기에 의해 수거될 수 있기 때문에 쓰레기 수집기를 사용하는 경우와 동일한 오버헤드를 가진다. 제안된 기법은 기존의 모든 쓰레기 수집 알고리즘에 사용될 수 있지만 성능평가 결과 마크-수거 알고리즘에 잘 적용됨을 보여 주었다.

As the size of embedded system software increase bigger and bigger, and it's complexity is grower and grower, the usage of dynamic memory management scheme such collector also has been increased. Using the garbage collector, however, inherently lead us performance degradation. In order to resolve this kind of performance problem in the Java based embedded system. we introduce an explicit dynamic memory free method to the automated dynamic memory management environment. which can be performed by a programmer. In the worst case, the prosed scheme shows the same performance as the case of that only garbage collector is working, since the unclaimed garbage objects will eventually be collected later by the garbage collector. In the best case. our method is free from any runtime overhead because the applications can be implemented without any intervention of the garbage collector. Although the proposed method can be facilitated with all the existing garbage collection algorithms, it shows an outperform in the case of mark-and-sweep algorithm.

키워드

참고문헌

  1. Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles, 'Dynamic Storage Allocation: A Survey and Critical Review,' International Workshop on Memory Management, Lecture Notes in Computer Science, Vol.986, pp. 1-116, 1995 https://doi.org/10.1007/3-540-60368-9_19
  2. Paul R. Wilson, 'Uniprocessor Garbage Collection Techniques,' In Yves Bekkers and Jaques Cohen, editors, Proceedings of the 1992 International Workshop on Memory Management, pp.1-42, St Malo, France, pp.17 19, 1992 https://doi.org/10.1007/BFb0017182
  3. David Gay and Alex Aiken, 'Memory Management with Explicit Regions,' In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, number 33 : 5 in SIGPLAN Notices, pp.313-323, 1998 https://doi.org/10.1145/277650.277748
  4. D. T. Ross, 'The AED free storage package,' Comm. ACM, Vol.10, No.8, pp.481 492, 1967 https://doi.org/10.1145/363534.363546
  5. Yuuji Ichisugi and Akinori Yonezawa, 'Distributed garbage collection using group reference counting,' In OOPSLA/ECOOP '90 Workshop on Garbage Collection in Object-Oriented Systems, 1990
  6. David R. Hanson, 'Fast allocation and deallocation of memory based on object lifetimes,' Software Practice and Experience, Vol.20, No.1, pp.5 12, 1990 https://doi.org/10.1002/spe.4380200104
  7. J. Gosling, B. Joy, and G. Steele, The Java Language Specification, Addison Wesley, Boston, 1996
  8. T. Lindholm, and F. Yellin, The Java Virtual Machine Specification, Addison Wesley, Boston, 1997
  9. Hans Juergen Boehm, and Mark Weiser, 'Garbage Collection in an Uncooperative Environment, Software Practice and Experience,' Software Practice & Experience, Vol.18, No.9, pp.807 820, 1988 https://doi.org/10.1002/spe.4380180902
  10. Hans-Juergen Boehm, 'Space Efficient Conservative Garbage Collection,' Proceedings of SIGPLAN'93 Conference on Programming Languages Design and Implementation, of ACM SIGPLAN Notices, Vol.28(6), pp.197-206, 1993 https://doi.org/10.1145/155090.155109
  11. Hans-Juergen Boehm, A garbage collector for C and C++, http://www.hpl.hp.com/personal/Hans_Boehm/gc/index.html
  12. The Real-Time for Java Expert Group, The Real-Time specification for java, Addison-Wesley, Boston, 2001
  13. TimeSys Products and Services - Real-Time Java, http://www.timesys.com/prodserv/java/index.cfm
  14. Henry G. Baker, 'Cache-conscious copying collection,' In OOPSLA/ECOOP '91 Workshop on Garbage Collection in Object-Oriented Systems, 1991
  15. Kelvin D. Nilsen and William J. Schmidt, 'A high-performance hardware-assisted real time garbage collection system,' Journal of Programming Languages, Vol.2, No.1, 1994
  16. Richard Jones, and Rafael Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management, John Wiley & Sons, England, 1996
  17. Henry Baker, 'List processing in real time on a serial computer,' CACM, Vol.21, No.4, pp.280-294, 1978 https://doi.org/10.1145/359460.359470