본문 바로가기
KERD
논문KCI 등재

EVM에서의 자바 동적 메모리 관리기 및 쓰레기 수집기의 구현 및 성능 분석

Implementation and Performance Analysis of the EVM’s Java Dynamic Memory Manager and Garbage Collector

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

자바 언어는 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 메모리 관리기 및 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 본 논문에서는 임베디드용 자바 가상 머신에서 구현된 메모리 관리기 및 가비지 컬렉터에 대해서 제안한다. 메모리 관리기는 힙을 다양한 크기의 셀로 분할한 후 동일한 셀의 집단인 블록 단위로 관리하여 빠른 메모리 할당과 해제가 가능하다. 가비지 컬렉션 방법으로는 3-색상 기반 표기-쓸어담기 가비지 컬렉터를 기반 알고리즘으로 채택하였으며 멀티쓰레드를 지원하기 위해 새로운 4-색상 기반 표기-쓸어 담기 가비지 컬렉터를 제안한다. 제안하는 기법은 메모리 단편화가 발생하지만 객체 생성수가 많아짐에 따라 단편화율이 거의 일정함을 실험을 통해 보인다.

Abstract

Java has been established as one of the most widely-used languages owing to its support of object-oriented concepts, safety, and flexibility. Garbage collection in the Java virtual machine is a core component that relieves application programmers of difficulties related to memory management. In this paper, we propose a memory manager and a garbage collector that is implemented on a embedded java virtual machine. The memory manager divide a heap into various-sized cells and manages it as blocks of same-sized cells. So it is possible to allocate and free memory fast. We adopted the 3-color based Mark & Sweep garbage collector as our base algorithm and we propose 4-color based Mark & Sweep garbage collector for supporting multi-threaded program. The proposed garbage collector occurs memory fragmentation but we show through a experiment that the fragmentation ratio is almost fixed according as we create objects continuously.

참고문헌 (16)

  1. Sun Microsystems, "Java2 Platform, Micro Edition, Connected Device Configuration(CDC)" (2005)
  2. T. Lindholm, "The JavaTM Virtual Machine Specification, 2nd Ed." (1999), Addison-Wesley
  3. D. A. Barrett, "Using lifetime predictors to improve memory allocation performance", 24(7), pp.187~196
  4. S. M. Blackburn, "Myths and reality: The performance impact of garbage collection", pp.25~36 (2004)
  5. H. Lieberman, "A real-time garbage collector based on the lifetimes of objects", 26(6), pp.419~429 (1983)
  6. W. Liu, "Research and analysis of garbage collection mechanism for real-time embedded java", pp.462~468 (2004)
  7. "www.kaffe.org"
  8. Chia-Tien Dan Lo, "Who is collecting your java garbage?", pp.44~50 (2003)
  9. D. Doligez, "A Concurrent, Generational Garbage Collector for a Multithreaded Implementation of ML", pp.113~123 (1993), ACM Press
  10. "http:"[DOI]
  11. George E. Collins, "A method for overlapping and erasure of lists Communications of the ACM", 3(12), pp.655~657
  12. John McCarthy, "Recursive functions of symbolic expressions and their computations by machine", pp.184~195 (1960)
  13. Marvin L. Minsky, "A Lisp garbage collector algorithm using serial secondary storage"
  14. Andrew W. Appel, "Simple generational garbage collection and fast allocation", 19(2), pp.171~183 (1989)
  15. E. W. Dijkstra, "-the-fly garbage collection: An exercise in cooperation", 21(11), pp.965~975
  16. "http:", software, pp.classpath

관련 논문AI추천

이 간행물의 다른 논문 (10건)