• Title/Summary/Keyword: 힙 사용량

Search Result 10, Processing Time 0.021 seconds

Heap Consumption Analyzer Using Code Embedding (코드 삽입을 이용한 힙 사용량 분석기)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10b
    • /
    • pp.566-570
    • /
    • 2006
  • 프로그램의 힙 사용량이나 수행 시간과 같은 프로그램의 동적인 속성을 분석하기 위해서 프로파일러가 이용된다. 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러를 위한 인터페이스를 제공한다. 그러나 자바 가상기계 구현 명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 프로파일러 인터페이스를 구현하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러를 이용할 수 없다. 본 논문에서는 프로파일러 인터페이스를 사용하지 않는 힙 사용량 분석 기법을 제안했다. 이 방법은 힙 사용 정보를 추출하기 위한 코드를 소스파일에 삽입한다. 이 방법은 힙 사용량 분석 시 자바에서 제공하는 인터페이스를 사용하지 않기 때문에, 표준 인터페이스를 구현하지 않는 가상기계에서도 힙 사용 정보 분석을 수행할 수 있다.

  • PDF

An Algorithm to Insert Safe Deallocations for Efficient Memory Usage (효율적인 메모리 사용을 위한 free 명령어 삽입 알고리즘)

  • 이욱세
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10d
    • /
    • pp.655-657
    • /
    • 2002
  • 메모리 반납(deallocation) 명령어는 프로그램에게 할당된 힙 셀(heap cell)을 반납하는 명령어로 힙 사용량을 낮추어 주지만, 잘못된 반납으로 인해 심각한 오류를 일으킬 수 있다. 본 논문에서는 재귀적인 자료구조(recursive data structure),를 안전하게 반납하는 명령어를 삽입하는 알고리즘을 제시한다. 메모리의 모양새를 분석하고 나중에 쓰이지 않을 힙 셀들을 추정하여 반납 명령어를 삽입한다. 분석시 요약 수준을 적절히 조절함으로써 빠르면서도 정확하게 분석한다. 또한, 실행시간에 부가적인 정보를 전달하여 일찍 힙 셀을 반납할 수 있도록 한다. 제시한 알고리즘으로 메모리 반납을 하지 않는 프로그램에 반납 명령어를 삽입하여 전체 메모리 할당량의 5.2-98.7%를 반납할 수 있었다.

  • PDF

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

Compressing the Graphis in G-machine by Tag-Forwarding (태그 옮기기에 의한 G-machine 그래프의 압축)

  • U, Gyun;Han, Tae-Suk
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.5
    • /
    • pp.702-712
    • /
    • 1999
  • 지연 함수형 언어를 효율적으로 구현하기 위한 한 방법으로 G-machine이 제안되었다. G-machine은 그래프 축약을 빠르게 수행하지만, 축약 과정의 그래프를 저장하기 위해 많은 기억장소를 필요로 한다. 이는 그래프 축약 방법자체의 문제점으로 생각된다. 이 논문에서는 그래프 노드의 태그를 옮김으로써 기억장소의 그래프 구조를 압축할수 있는 방법을 제안한다. 노드의 태그는 그 노드를 가리키는 포인터 자리로 옮겨지는데, 포인터 정보의 유지하기 위해 상대주소와 합쳐져 함께 옮겨진다. 태그 옮기기는 그래프 구성 노드를 힙에 동시에 할당할수 있을 때 가능하다. 그러나, 일반적으로 그래프의 일부가 전체 그래프가 생성되기 이전에 생성될 수 있으므로, 이러한 태그 옮기기가 항상 가능한 것은 아니다. 그렇지만, 태그 옮기기에 의해서 어느 정도의 힙 사용량을 줄일 수있다. 태그 옮기기에 의해 그래프를 압축했을 때 압축된 그래프를 해석하기위한 수행시간의 부담이 생기게 되는데, 이 부담정도를 알아보기 위해 몇몇 작은 프로그램에 대해서 실험결과를 보였다. 실험결과에 따르면, 태그 옮기기를 수행한 결과, 총 힙 사용량은 평균 약 305 감소하였고, 이로 인한 수행시간은 원래의 G-machine과 비슷한 수준인 것으로 나타났다.

Reusing AP Node in G-machine (G-machine 에서의 AP 노드 재사용)

  • Joo, Sung-Yong;Woo, Gyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11c
    • /
    • pp.2329-2332
    • /
    • 2002
  • G-machine은 지연 함수형 언어를 효율적으로 구현하기 위한 추상기계이다. G-machine은 축약 과정에서 생성되는 그래프를 저장하기 위해서 많은 기억장소를 필요로 한다. 본 논문은 힙에 할당되는 그래프 노드 중 AP 노드를 재사용하는 방법을 제시한다. 일반적으로 AP 노드를 루트로 하는 그래프가 한 단계 축약된 후 다시 AP 노드를 루트로 하는 그래프로 구성되어지는 경우 루트 노드를 재사용할 수 있다. 이를 위해서는 기존 G-machine을 약간 확장 시켜야 하는데, 본 논문에서는 AP 노드의 일부를 변경하기 위한 명령어 UPDL과 UPDR을 제시하고, 이들 명령어의 상태변환 규칙과 이들 명령어 생성을 위해 수정된 R-변환 규칙을 제시한다. 본 논문에서 제시하는 방식으로 기 생성된 AP 노드를 재사용함으로써 힙 기억공간의 사용량을 줄일 수 있고, 이 과정에서 힙 기억장소 할당과 쓰기 연산의 수를 줄일 수 있다.

  • PDF

Data-flow Analysis for Finding Null-assignable Fields in Java (자바에서의 Null을 할당할 수 있는 필드를 찾기 위한 데이터 흐름 분석)

  • Kim Min-Kyoon;Lee Suk-Hee;Kwon Yong-Rae
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06b
    • /
    • pp.406-408
    • /
    • 2006
  • 이 논문에서는 자바 프로그램이 실행 중에 사용하는 힙(heap)의 크기를 줄일 수 있는 데이터 흐름 분석 기법을 제안한다. 이 알고리즘은 클래스를 분석하여 사용될 때마다 새로 정의되는 필드(field)들을 찾는다. 이 필드의 마지막 사용 후에 null 값을 필드에 할당하면 필드가 가리키고 있던 객체를 더욱 빨리 회수할 수 있게 되고, 이로 인해 객체들이 차지하는 힙 공간을 줄일 수 있다. 이 알고리즘은 private 필드만을 대상으로 분석을 수행한다. 우리의 궁극적인 목표는 이 알고리즘을 확장하여 모든 필드들을 분석하고, 힙 사용량을 줄이기 위해 null을 할당하도록 바이트 코드를 자동으로 수정하는 기법을 개발하는 것이다.

  • PDF

Estimation of Static Memory Usage for Embedded Java System by Class File Analysis (내장형 자바 시스템에서 클래스 파일의 분석을 통한 정적 메모리 사용량의 예측)

  • Yang, Hee-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11a
    • /
    • pp.467-470
    • /
    • 2003
  • 한 개의 자바 프로그램은 다수 개의 클래스 파일로 구성된다. 자바 프로그램이 실행되기 위해서는 클래스 파일이 메모리에 적재되어져야 하는데, 본 논문에서는 개별 클래스들이 어느 정도의 메모리를 사용할지를 정적으로 예측할 수 있게 하는 방법에 대해 알아보았다. 본 논문의 관심은 클래스 영역의 메모리, 즉 정적 메모리에 맞추어져 있으며, 힙 영역의 메모리 등 동적 메모리에 대한 예측은 향후 연구로 남겨 두었다. 클래스를 이루는 필드와 메소드 등의 값들이 메모리 사용량에 미치는 영향을 수식으로 유도하였으며, 이 수식의 유효성을 실제 실험을 통해 확인하였다.

  • PDF

A Technique to Analyze Heap Usage of Java Programs Using Code Inserting (코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.29-36
    • /
    • 2007
  • In the Java a profiler interface such as JVM TI is provided for communication between a Java virtual machine and a profiler. The JVM TI specification, however does not require an implementation of a profiler interface. Consequently the JVM without an implementation of a profiler interface cannot use a profiler with the JVM TI. For solving the problem, we propose a technique which analyzes heap usage without a profiler interface. This technique inserts codes to extract heap usage into source files in the Java. We implemented a code inserter to verify the proposed technique. We experimented with Java programs that are frequently used and opened. the experimental result presents the number of created objects. the maximum number of allocated objects, and the used pattern of the objects.

  • PDF

Design and Implementation of Efficient Mobile E-book Viewer Using Mobile App Framework (모바일 앱 프레임워크를 이용한 E-Book Viewer 설계 및 구현)

  • Lee, Ji Hye;Shim, Jae Sung;Park, Seok Cheon
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.12 no.6
    • /
    • pp.49-55
    • /
    • 2012
  • A study on e-book viewer terminal in the native language of the platform-dependent studies are based, This is inefficient in memory usage and screen rendering speed, and there are frequent system updates, e-book viewer, the nature of mobile terminal platform application compatibility issues may occur. In this paper, using the mobile app framework in order to design e-book e-book viewer, analyzed the structure of ePub file parser and file more structured modules were designed and MVC. Designed and implemented to test the functionality of the memory information that is currently running to provide the ability to show the relationship of DDMS and layout components were used to show Hierarchy Viewer. As a result, rendering the screen 150%, 84% in the heap memory usage, improved performance was confirmed.

Reusing Local Regions in Memory-limited Java Virtual Machines (메모리가 제한적인 자바가상기계에서의 지역 재사용)

  • Kim, Tae-In;Kim, Seong-Gun;Han, Hwan-Soo
    • Journal of KIISE:Software and Applications
    • /
    • v.34 no.6
    • /
    • pp.562-571
    • /
    • 2007
  • Various researches had been devoted in purpose of improving memory management in terms of performance, efficiency, ease of use, and safety. One of these approaches is a region-based memory management. Each allocation site selects a specific region, after that allocated objects are placed in this region. Memory is reclaimed by destroying the region, freeing all the objects allocated therein. In this paper, we propose reusing of local regions to reduce heap memory usage in memory-limited environments. The basic idea of this proposal is reusing of upper local regions where objects that are allocated to these regions are not accessed until the current method is finished. We believe our method of reusing local regions is able to overcome memory constraints in memory-limited environments.