• Title/Summary/Keyword: 메모리 단편화

Search Result 28, Processing Time 0.024 seconds

A Memory Allocation Strategy for Minimizing External Fragmentation in Embedded Java Virtual Machine (임베디드 자바가상기계에서 외부 단편화 최소화를 위한 메모리 할당)

  • 김성수;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.940-942
    • /
    • 2004
  • 자바가상기계의 메모리 할당에서 서로 다른 크기의 메모리 할당과 해제는 힙 영역과 자바 스택 영역에 심각한 외부 단편화를 발생시킨다. 자바가상기계에서 외부 단편화는 가비지 콜렉션의 발생을 증가시키고 메모리를 할당하기 위한 메모리 접근이 증가되는 고비용의 동작이 발생하므로 소규모 메모리에서 동작하는 임베디드 자바가상기계에서 성능저하가 발생하게 된다. 본 논문에서는 임베디드 자바가상기계에서 외부 단편화를 최소화하고 메모리를 효율적으로 관리하기 위한 한 가지 방안으로 고정크기 메모리 할당 방법에 대한 연구이다. 고정크기 메모리 할당 기법은 자바가상기계의 힙 영역에 가장 큰 객체의 크기를 기준으로 할당하고 자바 스택 영역에 가장 큰 스택 프레임을 기준으로 할당하도록 하여, 힙 영역과 자바 스택 영역에 외부 단편화를 최소화하도록 하는 메모리 할당 정책이다. 고정 크기 메모리 할당은 내부 단편화에 따른 메모리 낭비가 발생될 수 있지만, 외부 단편화는 최소화되기 때문에 가비지 콜렉션 발생 횟수를 감소시킬 수 있으며, 회수된 메모리 공간을 재구성하는 고비용을 제거 할 수 있다. 또한 할당 해제된 영역들은 Free-List로 연결되어 메모리 할당을 위한 메모리 접근을 최소화시키는 장점을 가진다.

  • PDF

Fixed-Size Memory Allocation for Memory Space Reuse in Small Embedded Java Virtual Machine (소규모 내장형 자바가상기계에서 메모리 공간 재사용을 위한 고정 크기 메모리 할당)

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

  • PDF

Garbage collection for small memory java application (소규모 메모리 자마 프로그램을 위한 가비지 콜렉션)

  • 권혜은;김상훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.343-345
    • /
    • 2002
  • 제한된 환경에서 자바 실행환경을 제공하는 KVM은 마크-회수 방식의 가비지 콜렉터를 사용하고 있다. 그러나 마크-회수 방식은 시간이 지남에 따라 심각한 메모리 단편화 문제로 충분한 메모리 공간이 있음에도 불구하고 프로그램의 실행이 중단되는 문제점을 가지고 있다. 본 논문에서는 단편화 문제의 개선을 위해 단일 링크드 리스트 형태로 구성되어 있던 프리 리스트를 이중 링크드로 구성하고 객체의 크기에 따라 할당 위치를 달리하는 방법을 제안한다. 이를 통하여 단편화 문제가 최소화되어 메모리 낭비를 줄일 수 있음을 실험을 통해 확인하였다.

  • PDF

Design and Implementation of Buddy System for Real-Time Operating system, CNU_RTOS (실시간 운영체제 CNU_RTOS에서 버디 시스템 메모리 기법 설계 및 구현)

  • Jeong, Seong-Hoon;Kwon, Jae-Guk;Lee, Cheol-Hoon
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2012.01a
    • /
    • pp.33-36
    • /
    • 2012
  • 디지털 컨버젼스 시대가 도래하면서 자원이 제한된 소형기기들의 사용이 비약적으로 증가하는 추세이다. 실시간 운영체제가 탑재되는 임베디드 시스템은 특성상 제한된 메모리를 가지기 때문에 제한된 메모리를 효율적으로 사용할 수 있는 기법이 적용되어야 한다. 이러한 제한된 메모리 관리를 효율적으로 사용하도록 기존의 CNU_RTOS에서는 실시간 운영체제의 메모리 관리 기법인 메모리 풀(Pool)과 힙(Heap) 알고리즘을 사용하였다. 시간 결정성을 보장하기 위해 힙을 할당하는 방법으로 first fit 알고리즘을 사용하였지만 외부 단편화로 인한 메모리 낭비를 감수하게 되었다. 본 논문에서는 힙 스토리지 매니저에서 발생하는 외부 단편화를 최소화하기 위해 버디 시스템을 이용한 메모리 관리 기법을 설계 및 구현하였다.

  • PDF

Multiple Fixed-Size Memory Allocation Scheme for Embedded Java Virtual Machine (내장형 자바가상기계를 위한 다중 고정크기 메모리 할당 기법)

  • 김세영;지정훈;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.229-231
    • /
    • 2003
  • 내장형 실시간 시스템에서는 메모리 관리시스템의 구현에 있어 메모리 단편화와 시간 결정성 (determinism)의 문제를 해결하기 위한 방법 중의 하나로 고정크기의 메모리를 할당하는 기법이 사용되어진다 내장형 자바가상기계에서도 객체를 관리하는 메모리 구조인 힙에 이를 적용하여 활용할 수 있으며 실제 구현으로는 simpleRTJ가 있다. 고정크기의 메모리 할당기법은 구현이 간단하기 때문에 시스템이 단순해지고 실행에서의 오버헤드도 작아지는 장점이 있다. 하지만 고정크기의 객체할당 방식은 가장 큰 객체의 크기를 이용하여 모든 객체를 할당하기 때문에 내부단편화를 발생시키는 단점이 있다. 본 논문에서는 내부 단편화를 최소화하면서 고정크기 할당기법의 장점을 최대한 이용할 수 있도록 하기 위해 다수의 고정크기를 이용하여 객체를 할당하는 기법에 관해 설명하며 관련 실험을 통해 내부단편화 문제를 얼마나 해결할 수 있는지에 관해 기술한다.

  • PDF

Budgeted Memory Allocator for Embedded Systems (내장형 시스템을 위한 Budgeted 메모리 할당기)

  • Lee, Jung-Hee;Yi, Joon-Hwan
    • Journal of the Institute of Electronics Engineers of Korea SC
    • /
    • v.45 no.2
    • /
    • pp.61-70
    • /
    • 2008
  • Dynamic memory allocators are used for embedded systems to increase flexibility to manage unpredictable inputs and outputs. As embedded systems generally run continuously during their whole lifetime, fragmentation is one of important factors for designing the memory allocator. To minimize fragmentation, a budgeted memory allocator that has dedicated storage for predetermined objects is proposed. A budgeting method based on a mathematical analysis is also presented. Experimental results show that the size of the heap storage can be reduced by up to 49.5% by using the budgeted memory allocator instead of a state-of-the-art allocator. The reduced fragmentation compensates for the increased code size due to budgeted allocator when the heap storage is larger than 16KB.

A Study for Effective Management of Memory to MicroC/OS-II (MicroC/OS-II에서의 효율적인 메모리 관리에 관한 연구)

  • Young-Sik JEON;Shin Heu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.798-801
    • /
    • 2008
  • MicroC/OS-II에서는 연속된 메모리 공간으로 구성된 파티션에서 고정 크기의 메모리 블록을 할당할 수 있는 방법을 제공하며, 이 파티션은 사용 가능한 메모리 블록의 개수를 유지하고, 모두 같은 크기를 갖는 메모리 블록을 단일 연결 리스트의 형태로 관리 한다. 이런 형태의 메모리 관리 시스템은 메모리 단편화 현상이 잘 일어나지 않지만 이런 단순한 구조로 메모리 공간을 통합 관리, 블록을 할당하고 반환하는데 필요한 검사등을 효율적으로 수행할 수 없다. 본 논문에서는 MicroC/OS-II에서의 단편화문제를 해결하는 방법에 더 나아가 효율적으로 메모리를 통합하고 관리하는 방법에 대해 제안하고 자 한다.

Analyzing the performance of training tasks based on GPU memory use manner of TensorFlow in Container environments (컨테이너 환경에서 텐서플로의 GPU 메모리 사용방식에 따른 학습 작업의 성능 분석)

  • Jihun Kang;Joon-Min Gil
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2023.05a
    • /
    • pp.60-62
    • /
    • 2023
  • 인공지능의 학습 작업은 연산량이 많아 고성능 연산 장치인 GPU(Graphics Processing Unit)를 필요로 하며, GPU 장치의 성능은 학습 작업의 실행 성능에 직접적으로 영향을 미치는 요소 중 하나로 작용한다. 인공지능 작업을 처리하기 위해 많이 사용되는 텐서플로의 경우 GPU를 사용해 연산을 수행할 때 기본적으로 거의 모든 GPU 메모리 영역을 단일 학습 작업이 점유하도록 GPU 메모리를 관리한다. 이 방법은 컴퓨팅 자원 중 확장성이 가장 낮은 GPU 메모리의 단편화를 방지하기 위해 사용되는 방법이지만, 하나의 학습 작업이 GPU를 점유하게 되면, 실제 GPU 메모리 사용량과 상관없이 다른 프로세스는 GPU를 사용할 수 없는 문제를 유발한다. 특히, 전이학습, 소규모 학습과 같이 상대적으로 작업 규모가 작은 경우에는 전체 GPU 메모리 용량 중 대부분의 영역이 낭비된다. 본 논문에서는 컨테이너 환경에서 텐서플로의 기본 GPU 메모리 사용 방식으로 인해 다수의 학습 작업을 동시 실행하는 것이 불가능한 문제를 확인하고 GPU 메모리 사용량을 제한한 경우와 하지 않은 경우에 실제 GPU 메모리 사용량과 학습 작업의 실행 시간에 대한 성능 비교를 통해 GPU 메모리의 단편화 방지가 성능에 유의미한 요소인지 검증한다.

De-fragmentation Scheme Exploiting Merge Operation in Flash Memory-based File System (플래시 메모리 기반 파일 시스템에서 병합동작을 이용한 조각 모음 기법)

  • Hyun, Choul-Seung;Lee, Dong-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06b
    • /
    • pp.377-380
    • /
    • 2007
  • 플래시 메모리는 무게, 내구성, 전력 소비량 측면에서 기존 디스크보다 우수하기 때문에 주로 휴대용 기기의 저장장치로 사용되었다. 최근에는 집적도가 향상되면서 SSD(Solid State Disk)형태로 노트북에서도 활용되고 있다. 이러한 플래시 메모리는 제자리 갱신이 불가능한 특징 때문에 저장장치로 사용하기 위해서는 FTL(Flash Memory Translation Layer)이라는 주소사상 소프트웨어가 필요하다. 그리고 FTL은 블록을 재활용하기 위해 병합 연산을 수행하게 되는데 이 병합 연산의 비용이 시스템 성능에 큰 영향을 미친다. 아울러 FTL 상에서 동작하는 파일 시스템의 경우도 디스크 기반 파일 시스템과 같이 단편화 문제로 인한 성능 저하가 발생하게 된다. 본 논문에서는 플래시 메모리 기반 파일 시스템에서 단편화 현상을 줄이기 위해 FTL의 병합동작의 특성을 활용한 조각 모음 기법을 제안한다. 실험결과는 제안한 기법이 결국 FTL에서 병합 연산의 비용을 줄임으로써 성능을 향상시킬 수 있음을 보여준다.

  • PDF

Fixed Size Memory Pool Management Method for Mobile Game Servers (모바일 게임 서버를 위한 고정크기 메모리 풀 관리 방법)

  • Park, Seyoung;Choi, Jongsun;Choi, Jaeyoung;Kim, Eunhoe
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.4 no.9
    • /
    • pp.327-336
    • /
    • 2015
  • Mobile game servers usually execute frequent dynamic memory allocation for generating the buffers that deal with clients requests. It causes to deteriorate the performance of game servers since it increases system workload and memory fragmentation. In this paper, we propose fixed-sized memory pool management method. Memory pool for the proposed method has a sequential memory structure based on circular linked list data structure. It solves memory fragmentation problem and saves time for searching the memory blocks which are required for memory allocation and deallocation. We showed the efficiency of the proposed method by evaluating the performance of dynamic memory allocation, through the proposed method and the memory pool management method based on boost open source library.