DOI QR코드

DOI QR Code

Performance Evaluation of Embedded Garbage Collectors in CVM Environment

CVM 환경에서 임베디드 가비지 컬렉터의 성능 평가

  • 차창일 ((주)에이록스) ;
  • 김상욱 (한양대학교 정보통신대학 정보통신학부) ;
  • 장지웅 (한국산업기술대학교 게임공학과)
  • Published : 2007.06.30

Abstract

Garbage collection in the Java virtual machine is a core function that relieves application programmers of difficulties related to memory management. In this paper, we evaluate and analyze the performance of GenGC and GenRGC, garbage collectors for embedded Java virtual machines. For performance evaluation, we employ CVM, a real embedded Java virtual machine developed by Sun Microsystems, Inc., as a platform and also use a widely-used SpecJVM98 as a set of benchmark programs. To compare the performance of GenGC and GenRGC, we first evaluate the time of garbage collection and the delay time caused by garbage collection. Second, for more detailed performance analysis of GenRGC, we evaluate the time of garbage collection and the delay time caused by garbage collection while changing the sizes of a block and a frame. Third, we analyze the size of storage space required for performing GenRGC, and show GenRGC to be suitable for embedded environment with a limited mont of memory. Since CVM is the most representative one of embedded Java virtual machines, this performance study is quite meaningful in that we can predict the performance of garbage collectors in real application environments more accurately.

가비지 컬렉션은 자바 가상 머신의 핵심적인 기능으로서 개발자들이 겪는 메모리 관리의 어려움을 줄여준다. 본 논문에서는 임베디드 자바 가상 머신을 위한 가비지 컬렉터인 GenGC와 GenRGC의 성능을 평가하고 분석한다. 성능 평가를 위하여 썬 마이크로시스템즈사에서 개발한 실제 임베디드 자바 가상 머신인 CVM을 플랫폼으로 사용하며, SpecJVM98을 벤치마크 프로그램 집합으로 사용한다. 첫째, GenGC와 GenRGC의 성능을 비교하기 위하여 힙의 크기 및 각 영역의 크기를 변화시키면서 가비지 컬렉션 수행 시간 및 지연 시간을 비교한다. 둘째, GenRGC의 성능을 보다 세밀하게 분석하기 위하여 힙의 구성 요소 중 블록과 프레임의 크기를 변화시키면서 가비지 컬렉션 수행 시간 및 지연 시간을 측정하여 분석한다. 셋째, GenRGC를 사용하기 위하여 필요한 저장 공간의 크기를 분석하고, GenRGC가 제한된 메모리를 가지는 임베디드 환경에서 적합하다는 것을 보인다. CVM은 가장 대표적인 임베디드 자바 가상 머신이므로, 이와 같은 성능 연구는 실제 응용 환경에서 가비지 컬렉터의 성능을 보다 정확히 예측할 수 있다는 점에서 큰 의미를 갖는다.

Keywords

References

  1. D. Barrett and B. Zorn, 'Using Lifetime Predictors to Improve Memory Allocation Performance,' In Proc. Int'l. Conf. on Programming Languages Design and Implementation, SIGPLAN PLDI, Vol. 24, No.7, pp. 187-196, 1993 https://doi.org/10.1145/173262.155108
  2. S. Blackburn, P. Cheng, and K. McKinley, 'Myths and Reality: The Performance Impact of Garbage Collection,' In Proc. Int'l. Canf. on Measurement and Modeling of Computer Systems, SIGMETRICS, pp. 25-36, 2004 https://doi.org/10.1145/1005686.1005693
  3. C. Cha et al., 'Garbage Collection in an Embedded Java Virtual Machine,' In Proc. Int'l. Cant on Knowledge-Based Intelligent Inforrmtion & Engineering Systems, KES, pp.443-450, 2006 https://doi.org/10.1007/11892960_54
  4. G. Chen et al., 'Tuning Garbage Collection in an Embedded Java Environment,' In Proc. Int'l. Symp. on High-Performance Computer Architecture, HPCA, pp.92-103, 2002
  5. C. Cheney, 'A Non-Recursive List Compacting Algorithm,' Communications of the ACM, Vol. 13, No. 11, pp.677-678, 1970 https://doi.org/10.1145/362790.362798
  6. J. Cohen and A. Nicolau, 'Comparison of compacting algorithms for garbage collection,' ACM Transactions on Programming Languages and Systems, Vol. 5, No.4, pp.532 - 553, 1983 https://doi.org/10.1145/69575.357226
  7. S. Dieckmann and U. H''olzle, 'A Study of Allocation Behavior of the SPECjvm98 Java Benchmarks,' In Proc. European Conf. on Object-Oriented Progromming, ECOOP, pp.92-115, 1999 https://doi.org/10.1007/3-540-48743-3
  8. L. Hansen and W. Clinger, 'An Experimental Study of Renewal-Older-First Garbage Collection,' In Proc. Int'l. Cont on Functional Programming, ACM SIGPLAN ICFP, pp.247-258, 2002 https://doi.org/10.1145/583852.581502
  9. R. Jones and R. Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management, John Wiley & Sons, 1996
  10. H. Lieberman and C. Hewitt, 'A Real-Time Garbage Collector Based on the Lifetimes of Objects,' Communications of the ACM, Vol. 26, No.6, pp.419-429, 1983 https://doi.org/10.1145/358141.358147
  11. T. Lindholm and F. Yellin, The Java Virtual Machine Specification, Addison-Wesley, 1996
  12. Standard Performance Evaluation Corporation, SPECjvm98 Documentation, Release 1.04 Edition, 2001
  13. Sun Microsystems, Java2 Platform Micro Edition Technologies, http://java.sun.com/javame/technologies/index.jsp, 2006
  14. Sun Microsystems, Connected Device(CDC) and the Foundation Profile, http://java.sun.com/products/cdc/wp/CDCwp.pdf, 2006
  15. D. Stefanovic, Properties of Age-Based Automatic Memory Reclamation Algorithms, Ph. D. Dissertation, University of Massachusetts, Amherst, MA, 1999
  16. D. Stefanovic et al., 'Age-based Garbage Collection,' In Proc. Int'l. Conf on Oojed-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN OOPSLA, pp.370- 381, 1999 https://doi.org/10.1145/320384.320425
  17. D. Stefanovic et al., 'Older-First Garbage Collection in Practice: Evaluation in a Java Virtual Machine,' ACM SIGPLAN Notices, Vol. 38, No.2, pp.25-36, 2003 https://doi.org/10.1145/773146.773042
  18. D. Ungar, 'Generation Scavenging: A Non-Disruptive High Performance Storage Reclamation Algorithm,' ACM SIGPLAN Notices, Vol. 19, No.5, pp.157-167, 1984 https://doi.org/10.1145/390011.808261
  19. B. Zom, Comparative Performance Evaluation of Garbage Collection Algorithms, Ph. D. Dissertation, University of California at Berkeley, 1989
  20. B. Zorn, Barrier Methods for Garbage Collection, Technical Report CU-CS-494-90, University of Colorado, 1990