• 제목/요약/키워드: Heap Memory

검색결과 29건 처리시간 0.026초

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

  • 김태인;김성건;한환수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권6호
    • /
    • pp.562-571
    • /
    • 2007
  • 많은 연구들을 통해 수행 속력, 효율성, 용이성, 안전성을 위하여 메모리 관리 기법들을 개선시켰다. 그러한 방법들 중에서 지역별 메모리 관리 기법은 각각의 객체 할당 위치에서 따라 정해진 지역에 할당 시키고 그 지역이 제거된다면 그 곳에 할당된 모든 객체의 메모리를 반환하는 방법이다. 본 논문에서는 메모리 제약적인 환경에서 힙 메모리 사용량을 줄이기 위해 로컬 지역을 재사용하는 방법을 제시한다. 기본 아이디어는 현재 함수가 수행될 동안 사용하지 않는 상위 로컬 지역을 재사용하는 것이다. 이러한 방법을 사용함으로써 메모리 제약적인 환경에서 메모리의 한계를 극복할 수 있을 것이다.

Effect of ASLR on Memory Duplicate Ratio in Cache-based Virtual Machine Live Migration

  • Piao, Guangyong;Oh, Youngsup;Sung, Baegjae;Park, Chanik
    • 대한임베디드공학회논문지
    • /
    • 제9권4호
    • /
    • pp.205-210
    • /
    • 2014
  • Cache based live migration method utilizes a cache, which is accessible to both side (remote and local), to reduce the virtual machine migration time, by transferring only irredundant data. However, address space layout randomization (ASLR) is proved to reduce the memory duplicate ratio between targeted migration memory and the migration cache. In this pager, we analyzed the behavior of ASLR to find out how it changes the physical memory contents of virtual machines. We found that among six virtual memory regions, only the modification to stack influences the page-level memory duplicate ratio. Experiments showed that: (1) the ASLR does not shift the heap region in sub-page level; (2) the stack reduces the duplicate page size among VMs which performed input replay around 40MB, when ASLR was enabled; (3) the size of memory pages, which can be reconstructed from the fresh booted up state, also reduces by about 60MB by ASLR. With those observations, when applying cache-based migration method, we can omit the stack region. While for other five regions, even a coarse page-level redundancy data detecting method can figure out most of the duplicate memory contents.

MNFS : NAND 플래시메모리를 기반으로 하는 모바일 멀티미디어 파일시스템의 설계 (MNFS: Design of Mobile Multimedia File System based on NAND FLASH Memory)

  • 김효준;원유집;김요환
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권11호
    • /
    • pp.497-508
    • /
    • 2008
  • 본 연구는 NAND 플래시 메모리를 기반으로 하는 모바일 멀티미디어 파일시스템(MNFS)에 관한 내용이다. 이 연구에서 제안하는 파일시스템은 기존 범용 플래시 파일시템과는 달리 MP3 플레이어, PMP, 디지털 캠코더 둥과 같은 모바일 멀티미디어 장치에서 최적의 성능을 보장하기 위하여 설계된 파일시스템이다. MNFS는 크게 세 가지의 특징을 갖는데, 첫째 파일시스템의 순차적인 쓰기 요청에 대해 균일한 응답시간을 보장하고, 둘째 파일시스템 마운트 시간이 빠르며, 셋째 최소한의 메모리만을 소모한다. 이를 위해 4가지 새로운 기법들을 사용한다. 파일시스템 메타데이타와 사용자 데이타를 서로 다른 맵핑 기법으로 관리하는 혼합 맵핑 기법과, 파일 데이타 할당 단위를 NAND 플래시 메모리의 블록 단위로 사용한 블록 단위사용자 데이타 할당, 메타데이타를 최소화하기 위한 iBAT, 그리고 상향식 디렉토리 표현기법이다. 프로토타입 MNFS를 ARM9 프로세서와 1G 비트 용량의 NAND 플래시 메모리환경에서 구현하고 성능을 측정한다. 기존의 NAND 플래시 파일시템인 YAFFS와 FTL을 사용하는 FAT 파일시스템과 비교하였으며, 순차적 쓰기 요청에 대해 빠르고 균일한 응답시간을 확인할 수 있다. 또, 같은 조건에서 YAFFS에 비해 30배 빠른 마운트 시간을 보였고, Heap 메모리도 YAFFS의 5%밖에 소모하지 않았다.

자바가상기계 최적화를 위한 가비지 컬렉션 알고리즘과 힙 메모리 연구 (Study of Garbage Collection Algorithm and Heap Memory for Java Virtual Machine Optimization)

  • 임동기;배철성;정민수
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2002년도 춘계학술발표논문집(하)
    • /
    • pp.989-994
    • /
    • 2002
  • 최근에 발표된 마이크로소프트의 C#이라는 언어에서도 채택했듯이 그 동안 자바 개발자의 특권으로만 여겨졌던 가비지 컬렉션(garbage collection)은 개발자로 하여금 메모리와 관련된 고인으로부터 해방시켰다. 단순히 메모리의 효율적 관리뿐 만 아니라 프로그램의 무결성을 높여 자바 보안정책에 중요한 부분을 제공한다. 본 논문에서는 자바 가상 머신의 최적화를 위해서 가비지 컬렉션을 처리에 효과적인 알고리즘과 힙 메모리를 설계하였다.

  • PDF

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

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

  • PDF

실시간 운영체제에서 최대 힙 알고리즘을 이용한 메모리 할당 기법 설계 및 구현 (The Design and Implementation of Memory Allocation using Max Heap Algorithm on Real-time Operating System)

  • 이정원;최인범;김용희;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.634-636
    • /
    • 2004
  • 실시간 운영체제는 멀티태스킹 및 ITC(Inter Task Communication)를 제공한다는 면에서는 범용운영체제와 비슷하나, 시간 결정성을 보장해야 한다는 면에서는 일반 운영체제와 다르다. 실시간 시스템에서는 메모리를 할당하는데 있어서 시간 제약을 어기지 않아야 하기 때문에 동적 메모리 할당은 효율적으로 구성되어야 한다. 본 논문에서는 실시간 운영체제 $_{1}$RTOS$^{TM}$에서 메모리 할당에 소요되는 시간을 향상시키기 위해 최대 힙 알고리즘을 적용한 메모리 할당 기법을 설계 및 구현하였다.

  • PDF

안드로이드 2.3 달빅 가상머신에서 스택 할당 기법을 통한 메모리 성능 향상 기법 (Stack Allocation-based Memory Performance Improvement Technique on Android 2.3 Dalvik Virtual Machine)

  • 임영규;김정길;김신덕
    • 디지털콘텐츠학회 논문지
    • /
    • 제12권4호
    • /
    • pp.551-557
    • /
    • 2011
  • 본 논문에서는 안드로이드 2.3에서 어플리케이션 실행 시 가비지 컬렉션(garbage collection)으로 인하여 발생하는 성능 저하를 감소시키기 위한 자바(Java) 객체들의 스택 할당(stack allocation) 기법을 제안하였다. 제안한 스택 할당 기법에서는 자바 객체들을 가비지 컬렉션이 되는 힙(Heap) 영역 대신에 스택에 할당함으로써 실행 시 가비지 컬렉션 대상이 되지 않게 한다. 제안한 기법의 성능 검증을 위하여 실제 자바 벤치마크에서 널리 사용되고 있는 Caffeinemark 및 자체 벤치마크 어플리케이션을 통해 안드로이드 스마트 폰에서 비교 실험을 하였다. 그 결과 자바 객체들의 스택 할당에 따르는 동작상의 오버헤드로 인한 수행 속도의 저하는 미미함을 보이면서도 가비지 컬렉션 수행 빈도는 상당히 감소시켜 어플리케이션 동작 및 사용자 인터페이스 성능 향상을 가져왔다.

메모리 실행영력 추적을 사용한 버퍼오버플로 악성코드 탐지기법 (Buffer Overflow Malicious Code Detection by Tracing Executable Area of Memory)

  • 최성운;조재익;문종섭
    • 정보보호학회논문지
    • /
    • 제19권5호
    • /
    • pp.189-194
    • /
    • 2009
  • 버퍼오버플로 악성코드 탐지를 위해 대부분의 안티바이러스 프로그램은 공격코드의 시그너처만 비교 탐지하고 있어 알려지지 않은 공격코드에 대해 탐지하지 못하는 문제점이 있다. 본 논문에서는 공격코드에서 필수적으로 사용하는 API의 메모리 실행영역 추적기법을 이용하여 알려지지 않은 공격코드에 대한 탐지기법을 제안한다. 제윤기법 검증을 위해 7개의 샘플 공격코드를 선정하여 8개의 안티바이러스 프로그램과 비교 실험한 결과, 대부분의 안티바이러스 프로그램은 Stack영역만 감시하고 Heap영역은 감시하지 않아 제안적인 탐지만 가능하였다. 이에 대부분의 안티 바이러스 프로그램에서 탐지할 수 없는 공격코드를 제안 기법을 이용하여 탐지할 수 있음을 시뮬레이션 하였다.

안정적인 API 게이트웨이를 위한 스트림 기반 API 조합 (Stream-based API composition for stable API Gateway)

  • 조동일
    • 인터넷정보학회논문지
    • /
    • 제25권1호
    • /
    • pp.1-8
    • /
    • 2024
  • API 게이트웨이에서 API 조합은 클라이언트의 호출 횟수를 줄이고 오버페칭과 언더페칭을 방지할 수 있는 필수적인 기능이다. IMJ(In-Memory Join)로 동작하는 API 조합은 많은 자원을 소모하여 API 게이트웨이의 성능에 부담을 준다. 본 연구에서는 IMJ 방식의 API 조합의 문제를 개선하기 위해 조합할 데이터를 스트리밍으로 클라이언트에 전달하는 SAPIC(Stream-based API Composition)를 제안한다. SAPIC는 클라이언트 응답 메시지를 구성하는 각각의 MSA API를 호출하여 받은 응답 메시지를 즉시 클라이언트로 스트리밍하여 IMJ에 비해 API 게이트웨이의 자원 소모를 줄이고 빠른 응답시간을 제공할 수 있다. 대표적인 API 조합 기술인 GraphQL 비교실험결과 SAPIC는 GraphQL에 비해 약 21 ~ 70 % 낮은 최대 CPU 점유율과 약 16 ~ 74 % 낮은 최대 Heap 사용량 그리고 1 ~ 2.3 배의 높은 처리량을 기록하였다.

메모리 분할을 이용한 효과적인 가비지 컬렉션에 관한 연구 (A Study on Effective Garbage Collection using Memory Partitioning)

  • 허서경;이승룡
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (상)
    • /
    • pp.317-320
    • /
    • 2003
  • 자바는 플랫폼 독립성, 이식성, 보안, 멀티 쓰레드 지원, 동적 적재, 자동화된 메모리 관리(Garbage Collection) 등 많은 장점을 갖는 언어이다. 특히, 가비지 컬렉터(Garbage Collector)는 메모리 누수(memory leak), 동강난 포인터(dangling pointer) 등과 같은 메모리의 잘못된 사용으로 인한 버그로부터 프로그래머를 자유롭게 하며, 디버깅의 용이함, 개발비용의 절감, 프로그램의 일관성 및 견고성의 향상 등의 이점을 얻을 수 있다. 그러나, 자바 가상머신(Java Virtual Machine)에서 가비지 컬렉터가 객체를 추적(tracing)하고 수집(collecting)하는 작업은 프로그램의 수행 성능을 저하시키는 요인이 된다. 따라서, 본 논문에서는 가비지 컬렉터의 성능을 향상시키기 위하여 힙(heap)에 할당하는 객체들의 특성을 고려하여 메모리를 분할한 후, 효율적으로 컬렉션 작업을 수행 할 수 있는 기법을 소개한다.

  • PDF