Fixed-Size Memory Allocation for Memory Space Reuse in Small Embedded Java Virtual Machine

소규모 내장형 자바가상기계에서 메모리 공간 재사용을 위한 고정 크기 메모리 할당

  • 김성수 (경성대학교 컴퓨터 공학과) ;
  • 양희재 (경성대학교 컴퓨터 공학과)
  • Published : 2003.10.01

Abstract

자바가상기계는 힙 영역과 자바 스택 영역에 객체와 스택 프레임을 할당할 공간이 없을 때 가비지 콜렉션과 함께 이미 해제된 힙과 자바 스택 영역을 재사용 가능하도록 메모리 공간을 재구성하게 된다. 한편 메모리 단편화로 인해 객체 또는 스택 프레임을 더 이상 할당하지 못하는 경우 자바가상기계는 컴펙션을 수행하여 메모리 단편화를 제거하면서 메모리를 재구성한다. 하지만 자바가상기계에서 메모리 재구성은 가비지 콜렉션및 컴펙션과 함께 길고 예측할 수 없는 지연시간에 의해 내장형 자바가상기계의 성능을 저하시키는 단점을 가진다. 본 논문은 소규모 내장형 자바가상기계의 성능을 개선하기 위한 방안으로, 가변 크기를 가지는 객체와 스택 프레임을 고정 크기로 변환하여 메모리를 할당하는 고정 크기 메모리 할당에 대해 기술하고 있다. 고정 크기 메모리 할당은 메모리 전체 사용율은 떨어지지만 외부 단편화가 발생하지 않기 때문에 회수된 메모리 공간을 재구성하지 않고도 힙 영역과 자바 스택 영역에 객체와 스택 프레임을 할당 가능하다. 본 논문에서 기술한 고정 크기 메모리 할당 방식으로 객체와 스택 프레임을 할당하게 되면 가변 크기 메모리 할당 보다 약 10% ~ 30% 효율향상을 보였다.

Keywords