• Title/Summary/Keyword: Garbage Collector

Search Result 27, Processing Time 0.025 seconds

Design of Garbage Collector for JFFS2 (JFFS2 Garbage Collector의 설계)

  • Kim Ki-Young;Jung Sung-Wook;Sohn Sung-Hoon;Shin Dong-Ha
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.793-795
    • /
    • 2005
  • 플래시 메모리는 PDA 등과 같은 모바일 장치에 많이 사용되는 저장 매체이다. 이 매체는 덮어 쓰기가 불가능하다는 특징으로 인해 흔히 JFFS2와 같은 전용 파일 시스템을 사용하게 된다. 현재의 JFFS2 파일 시스템은 Garbage Collection 시 많은 자원과 시간을 소비하는 문제점을 가지고 있다. 본 논문에서는 JFFS2 Garbage Collector에서 유효한 노드에 대한 다시 쓰기 작업을 개선한 새로운 Garbage Collector를 설계하였고, 이에 대한 성능 평가를 수행하였다.

  • PDF

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

  • Lee Sang-Yun;Won Hee-Sun;Choi Byung-Uk
    • The KIPS Transactions:PartA
    • /
    • v.13A no.4 s.101
    • /
    • pp.295-304
    • /
    • 2006
  • 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.

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

  • Bae, Soo-kang;Lee, Sung-young
    • The KIPS Transactions:PartA
    • /
    • v.9A no.4
    • /
    • pp.441-450
    • /
    • 2002
  • As the size of embedded system software increase bigger and bigger, and it's complexity is grower and grower, the usage of dynamic memory management scheme such collector also has been increased. Using the garbage collector, however, inherently lead us performance degradation. In order to resolve this kind of performance problem in the Java based embedded system. we introduce an explicit dynamic memory free method to the automated dynamic memory management environment. which can be performed by a programmer. In the worst case, the prosed scheme shows the same performance as the case of that only garbage collector is working, since the unclaimed garbage objects will eventually be collected later by the garbage collector. In the best case. our method is free from any runtime overhead because the applications can be implemented without any intervention of the garbage collector. Although the proposed method can be facilitated with all the existing garbage collection algorithms, it shows an outperform in the case of mark-and-sweep algorithm.

A garbage collector design and implementation for flash memory file system (플래시 메모리 파일 시스템을 위한 가비지 콜렉터 설계 및 구현)

  • Kim, Ki-Young;Son, Sung-Hoon;Shin, Dong-Ha
    • The KIPS Transactions:PartA
    • /
    • v.14A no.1 s.105
    • /
    • pp.39-46
    • /
    • 2007
  • Recently flash memory is widely accepted as a storage devise of embedded systems for portability and performance reasons. Flash memory has many distinguishing features compared to legacy magnetic disks. Especially, a file system for flash memory usually assumes the form of log-structured file system and it employs garbage collector accordingly. Since the garbage collector can greatly affect the performance of file system, it should be designed carefully considering flash memory features. In this paper, we suggest a new garbage collector for existing JFFS2 (Journaling Flash File System II) file system. By extensive performance evaluation, we show that the proposed garbage collector achieves improved performance in terms of flash memory consumption rate, increased flash memory life time, and improved wear-leveling.

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

  • 권혜은;김상훈
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.12
    • /
    • pp.957-965
    • /
    • 2002
  • Garbage collection in the CLDC typically employs a stop-the-world GC algorithm which is performing a complete garbage collection when needed. This technique is unsuitable for the interactive Java embedded system because this can lead to long and unpredictable delays. In this paper, We present a garbage collection algorithm which reduces the average delay time and supports the interactive environment. Our garbage collector is composed of the allocator and the collector. The allocator determines the allocation position of free-list according to object size, and the collector uses an incremental mark-sweep algorithm. The garbage collector is called periodically by the thread scheduling policy and the allocator allocates the objects of marked state during collection cycle. Also, we introduce a color toggle mechanism that changes the meaning of the bit patterns at the end of the collection cycle. We compared the performance of our implementation with stop-the-world mark-sweep GC. The experimental results show that our algorithm reduces the average delay time and that it provides uniformly low response times.

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

  • 배수강;이승룡;전태웅
    • Journal of KIISE:Software and Applications
    • /
    • v.30 no.1_2
    • /
    • pp.58-72
    • /
    • 2003
  • The objects generated by the keyword new in Java are automatically managed by the garbage collector Inside Java Virtual Machine (JVM) not like using the keywords free or delete in C or C++ programming environments. This provides a means of freedom of memory management burden to the application programmers. The garbage collector however. inherently has its own run time execution overhead. Thus it causes the performance degradation of JVM significantly. In order to mitigate the execution burden of a garbage collector, we propose a novel way of dynamic memory management scheme in Java environment. In the proposed method, the application programmers can explicitly manage the objects In a simple way, which in consequence the run-time overhead can be reduced while the garbage collector is under processing. In order to accomplish this, Java application firstly calls the APIs that arc implemented by native Jana, and then calls the subroutines depending on the JVM, which in turn support to keep the portability characteristic Java has. In this way, we can not only sustain the stability in execution environments. but also improve performance of garbage collector by simply calling the APIs. Our simulation study show that the proposed scheme improves the execution time of the garbage collector from 10.07 percent to 52.24 percent working on Mark-and-Sweep algorithm.

Automatic Dynamic Memory Management Techniques for Memory Scarce Java system (메모리가 적은 자바 시스템을 위한 자동 동적 메모리 관리 기법)

  • Choi, Hyung-Kyu;Moon, Soo-Mook
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.35 no.8
    • /
    • pp.378-384
    • /
    • 2008
  • Many embedded systems are supporting Java as their software platform via Java virtual machine. Java virtual machine manages memory automatically by providing automatic memory management, i.e. garbage collector. Because only scarce memory is available to embedded system, Java virtual machine should use small memory and manage it efficiently. This paper introduces two memory management techniques to exploit small memory in Java virtual machine which can execute multiple Java applications concurrently. First, compaction based garbage collection is introduced to overcome external fragmentation problem in presence of immovable memory area. Then garbage collector driven class unloading is introduced to reduce memory use of unnecessary loaded classes. We implemented these techniques in working embedded system and observed that they are very efficient, since more Java applications are able to be executed concurrently and memory use is also reduced with these techniques.

Effect of Garbage Collection in the ZG-machine (ZG-machine에서 기억 장소 재활용 체계의 영향)

  • Woo, Gyun;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.7
    • /
    • pp.759-768
    • /
    • 2000
  • The ZG-machine is a space-efficient G-machine, which exploits a simple encoding method, called tag-forwarding, to compress the heap structure of graphs. Experiments on the ZG-machine without garbage collection shows that the ZG-machine saves 30% of heap space and the run-time overhead is no more than 6% than the G-machine. This paper presents the results of further experiments on the ZG-machine with the garbage collector. As a result, the heap-residency of the ZG-machine decreases by 34% on average although the run-time increases by 34% compared to the G-machine. The high rate of the run-time overhead of the ZG-machine is incurred by the garbage collector. However, when the heap size is 7 times the heap-residency, the run-time overhead of the ZG-machine is no more than 12% compared to the G-machine. With the aspect of reduced heap-residency, the ZG-machine may be useful in memory-restricted environments such as embedded systems. Also, with the development of a more efficient garbage collector, the run-time is expected to decrease significantly.

  • PDF

Garbage Collection on the Embedded Java Virtual Machine (임베디드 자바 가상머신에서의 가비지 컬렉션)

  • Lee Sang-Yun;Kim Sang-Wook;Choi Byung-Uk
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.43 no.3 s.309
    • /
    • pp.20-29
    • /
    • 2006
  • The Java language has been established as one of the most widely used language due to its object-oriented programming, safety and flexibility and the garbage collection of the virtual machine has relieved programmers of many difficulties related to the memory management. In the embedded environment, Java is also prevalent, the virtual machine and garbage collector that takes into account the embedded environment is required. In this paper we manage the heap memory area by dividing into young generation and old generation, and we propose a garbage collector in which appropriate techniques are applied to each generation to utilize the different characteristics of each generation. Also, we propose the write barrier technique and double filtering technique for efficient garbage recognition, and double check method for determining and reclaiming the garbage with cyclic structure. The proposed method satisfies the embedded environment's requirements of fast object allocation, real time property, recollection of all the garbage, elimination of fragmentations and high locality.

Design & Implementation of an Efficient Garbage Collector for JFFS2 (JFFS2를 위한 효율적인 Garbage Collector의 설계 및 구현)

  • 정하용;김진수;한환수;최기선
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.523-525
    • /
    • 2004
  • 플래시 메모리는 저전력 소비, 빠른 읽기 속도, 비휘발성 등 좋은 특징을 많이 가지고 있다. 하지만 반대로 플래시메모리는 치명적인 약점도 가지고 있는데, 그것은 덮어쓰기가 불가능 하다는 것과 삭제속도가 극단적으로 느리다는 것이다. 따라서 이와 같은 치명적인 약점을 극복하기 위한 효율적인 파일시스템과 Carbage Collector(GC)의 설계는 플래시 메모리 연구의 핵심적인 부분이 되어 왔고 JFFS2(Journaling Flash File System version 2)는 그러한 연구의 결과 중 하나이다 본 논문은 기존에 JFFS2에서 사용된 GC와 비교해 좀 더 효율적 인 GC를 제안한다. 성능향상을 위해서 사용된 두 가지 핵심적인 알고리즘은 Cost Age Times (CAT 방법과 Dynamic dAta Clustering (DAC) 방법이며, 결과적으로 지역성(Locality)이 높은 데이터의 쓰기에서 최고 3배 정도의 성능향상을 보였다.

  • PDF