A Design of Profile Based Generational Garbage Collector in Java

자바에서 프로파일에 기초한 세대기반 가비지 콜렉터 설계

  • Published : 1999.10.01

Abstract

자바는 자동 메로리 회수(garbage collection) 방식을 채택한 범용 프로그래밍 언어로 자바 가상머신(JVM)이 설치된 다양한 플랫폼에서 사용되어 지고 있다. 현재 자바에서 사용되는 가비지 콜렉터는 휴지(pause) 시간이 상당히 길어 짧은 응답시간을 요구하는 서버 및 실시간 응용 프로그램에는 적합하지 않은 표시-압축 기법을 사용한다. 이를 보완하기 위해 자바 HotSpotTM 성능 엔진에서 세대기반(generational) 복사 기법에 기반을 둔 혼성(hybrid) 가비지 콜렉터를 사용하고 있으나, 상당히 큰 오버헤드를 보이고 있어 다양한 응용 프로그램의 특성을 수용하기에는 개선의 여지가 많다. 본 논문에서는 세대기반 기법을 기반으로, 자바와 자바 가상머신이 가진 특성들과 실행시간 객체의 타입 및 스택 정보를 이용하는 가비지 콜렉터를 설계한다. 또한, 힙 프로파일 분석기를 구현하고, 이를 통해 응용 프로그램에 적합한 메모리 구조를 분석하고, 가비지 콜렉터에 적용할 수 있도록 한다.

Keywords