• 제목/요약/키워드: mark-sweep garbage collection

검색결과 6건 처리시간 0.025초

소규모 대화형 시스템을 위한 자바 가비지 콜렉션 (Java Garbage Collection for a Small Interactive System)

  • 권혜은;김상훈
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권12호
    • /
    • pp.957-965
    • /
    • 2002
  • CLDC는 가비지 콜렉션을 위해, 가비지 콜렉션이 필요한 시점에 모든 작업을 수행하는 스탑더 월드 가비지 콜렉션 알고리즘을 일반적으로 사용한다. 이 방법은 길고 예측할 수 없는 지연시간으로 인하여 대화형 자바 임베디드 시스템에서는 부적당하다. 본 논문에서는 평균 지연시간을 줄이고 대화형 환경을 지원하는 가비지 콜렉션 알고리즘을 제안한다. 가비지 콜렉터는 객체의 크기에 따라 할당 위치를 결정하는 할당기와 점진적 마크-회수 알고리즘을 사용하는 콜렉터로 구성된다. 가비지 콜렉터는 스레드 스케줄링 정책에 따라 주기적으로 호출되며, 할당기는 콜렉션 주기 동안 마크된 상태의 객체를 할당한다. 또한 콜렉션 주기의 마지막에 비트 패턴의 의미를 교환하는 칼라토글방식을 사용한다. 제안한 가비지 콜렉터와 스탑더월드 마크-회수 가비지 콜렉터의 성능을 비교하였으며, 이 비교 실험을 통해 평균 지연시간은 감소하고, 균일하고 낮은 응답시간을 제공함을 확인하였다.

CLDC에서 자바 가비지 콜렉션 (Java Garbage Collection in CLDC)

  • 권혜은;김상훈
    • 정보학연구
    • /
    • 제5권2호
    • /
    • pp.27-34
    • /
    • 2002
  • CLDC를 지원하는 자바가상머신인 KVM의 가비지 콜렉터는 일반적으로 단순한 마크-회수 알고리즘에 기반을 두고 있다. 그러나 이 알고리즘은 단편화 없이 다양한 크기의 객체를 다루기 어렵다는 문제점을 가진다. 본 논문에서는 객체의 크기에 따라 자유 기억 공간의 할당 위치를 결정하는 메모리 할당 방법을 적용한 개선된 마크-회수 가비지 콜렉터를 설계하고 구현하였다. 실험을 통해 단편화 문제가 감소되었고 실행시간의 개선이 있었음을 확인하였다.

  • PDF

Java 기반 임베디드 시스템을 위한 쓰레기 수집기 설계 (Design of Garbage Collector for Java-based Embedded Systems)

  • 배유석;김태근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.421-423
    • /
    • 1999
  • 가전 제품이나 정보 가전 기기를 포함하는 실시간 임베디드 응용 분야에서 Java를 소프트웨어 개발 플랫폼으로 선택하는 범위가 확대되고 있다. 현재 Sun에서 제공하는 PersonalJava 기술은 동적인 메모리 할당에 대하여 마크-회수(mark-sweep) 방식의 자동 쓰레기 수집(garbage collection) 기능을 지원하는데, 이 방법은 쓰레기 회수 수행전 응용프로그램의 수행을 중지시키는 방식으로 실시간 임베디드 환경에 적합하지 않다. 본 논문에서는 Java 기반 인터넷 셋톱박스나 디지털 가전기기에 탑재할수 있는 Java 플랫폼을 대상으로 기존에 적용된 비실시간 마크-회수 메모리 관리 기법을 대체하는 실시간 자동 메모리 관리 기법을 제시한다.

  • PDF

EVM에서의 자바 동적 메모리 관리기 및 쓰레기 수집기의 구현 및 성능 분석 (Implementation and Performance Analysis of the EVM's Java Dynamic Memory Manager and Garbage Collector)

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

자바기반 내장형 시스템에서 쓰레기 객체의 명시적 자유화 방법 (An Explicit Free Method for the Garbage Objects in Java-based Embedded System)

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

자바 실행시간 환경에서 명시적인 동적 메모리 관리 기법 (An Explicit Dynamic Memory Management Scheme in Java Run-Time Environment)

  • 배수강;이승룡;전태웅
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권1_2호
    • /
    • pp.58-72
    • /
    • 2003
  • 자바 언어에서 new라는 키워드로 생성된 객체들은 C나 C++언어에서의 free 또는 delete와 같은 키워드를 사용하지 않고 자바가상머신의 쓰레기 수집기에 의하여 자동적으로 관리 (유지 또는 제거) 되어진다. 따라서. 응용프로그래머는 메모리 관리에 대한 부담을 전혀 가지지 않고 프로그래밍을 할 수 있다는 장점이 있다. 그러나, 쓰레기 수집기는 자체 실행시간 오버헤드로 인하여 자바가상머신의 성능을 저하시킨다. 이러한 점을 개선하기 위하여, 본 논문에서는 쓰레기 수집기를 사용하는 자바환경에서 프로그래머가 최소한의 프로그래밍 오버헤드를 가지고 명시적으로 객체를 수거함으로 쓰레기 수집기의 실행시간 오버헤드를 줄일 수 있는 방안을 제시한다. 이를 위하여, 제안된 기법에서는 자바 어플리케이션이 순수 자바로 자성된 API를 호출하고, 이것이 다시 가상머신의 종속적인 루틴을 호출함으로써 자바가 가지는 이식성을 그대로 유지하도록 하였다. 다시 말하면 어플리케이션 수행의 안정성은 유지하면서 프로그래머가 단순히 API만을 호출함으로 자바가상머신의 성능향상을 이룰 수 있게 하였다. 마크-수거(Mark-and-Sweep) 알고리즘에 제안한 방법을 적용한 결과 쓰레기 수집기만으로 작동되는 경우의 객체수거 시간에 비해 최저 10%에서 최고 52% 이상의 수행시간 향상을 보였다.