• 제목/요약/키워드: 메모리 단편화

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

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

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

  • PDF

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

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

  • PDF

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

  • 권혜은;김상훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.343-345
    • /
    • 2002
  • 제한된 환경에서 자바 실행환경을 제공하는 KVM은 마크-회수 방식의 가비지 콜렉터를 사용하고 있다. 그러나 마크-회수 방식은 시간이 지남에 따라 심각한 메모리 단편화 문제로 충분한 메모리 공간이 있음에도 불구하고 프로그램의 실행이 중단되는 문제점을 가지고 있다. 본 논문에서는 단편화 문제의 개선을 위해 단일 링크드 리스트 형태로 구성되어 있던 프리 리스트를 이중 링크드로 구성하고 객체의 크기에 따라 할당 위치를 달리하는 방법을 제안한다. 이를 통하여 단편화 문제가 최소화되어 메모리 낭비를 줄일 수 있음을 실험을 통해 확인하였다.

  • PDF

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

  • 정성훈;권재국;이철훈
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2012년도 제45차 동계학술발표논문집 20권1호
    • /
    • pp.33-36
    • /
    • 2012
  • 디지털 컨버젼스 시대가 도래하면서 자원이 제한된 소형기기들의 사용이 비약적으로 증가하는 추세이다. 실시간 운영체제가 탑재되는 임베디드 시스템은 특성상 제한된 메모리를 가지기 때문에 제한된 메모리를 효율적으로 사용할 수 있는 기법이 적용되어야 한다. 이러한 제한된 메모리 관리를 효율적으로 사용하도록 기존의 CNU_RTOS에서는 실시간 운영체제의 메모리 관리 기법인 메모리 풀(Pool)과 힙(Heap) 알고리즘을 사용하였다. 시간 결정성을 보장하기 위해 힙을 할당하는 방법으로 first fit 알고리즘을 사용하였지만 외부 단편화로 인한 메모리 낭비를 감수하게 되었다. 본 논문에서는 힙 스토리지 매니저에서 발생하는 외부 단편화를 최소화하기 위해 버디 시스템을 이용한 메모리 관리 기법을 설계 및 구현하였다.

  • PDF

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

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

  • PDF

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

  • 이중희;이준환
    • 전자공학회논문지SC
    • /
    • 제45권2호
    • /
    • pp.61-70
    • /
    • 2008
  • 내장형 시스템의 설계 유연성을 높이고 예측하기 어려운 입력과 출력을 다루기 위해 동적 메모리 할당기가 사용된다. 일반적으로 내장형 시스템은 사용 기간 동안 계속 수행되기 때문에 메모리 할당기를 설계하는데 있어서 단편화 문제가 중요한 고려 사항 중 하나이다. 본 논문에서는 미리 구분된 객체들에 대한 전용 영역을 활용하여 단편화를 최소화시키기는 budgeted 메모리 할당기를 제안한다. 최신의 메모리 할당기를 사용하는 대신 budgeted 메모리 할당기를 사용하면 필요한 힙 영역의 크기를 최대 49.5% 감소시킬 수 있었다. 힙 영역의 크기가 16KB 이상이면 budgeted 메모리 할당기를 사용함으로 늘어나는 코드의 크기를 줄어든 단편화로 보상할 수 있다.

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

  • 전영식;허신
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.798-801
    • /
    • 2008
  • MicroC/OS-II에서는 연속된 메모리 공간으로 구성된 파티션에서 고정 크기의 메모리 블록을 할당할 수 있는 방법을 제공하며, 이 파티션은 사용 가능한 메모리 블록의 개수를 유지하고, 모두 같은 크기를 갖는 메모리 블록을 단일 연결 리스트의 형태로 관리 한다. 이런 형태의 메모리 관리 시스템은 메모리 단편화 현상이 잘 일어나지 않지만 이런 단순한 구조로 메모리 공간을 통합 관리, 블록을 할당하고 반환하는데 필요한 검사등을 효율적으로 수행할 수 없다. 본 논문에서는 MicroC/OS-II에서의 단편화문제를 해결하는 방법에 더 나아가 효율적으로 메모리를 통합하고 관리하는 방법에 대해 제안하고 자 한다.

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

  • 강지훈;길준민
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 춘계학술발표대회
    • /
    • 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)

  • 현철승;이동희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (B)
    • /
    • 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)

  • 박세영;최종선;최재영;김은회
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제4권9호
    • /
    • pp.327-336
    • /
    • 2015
  • 모바일 환경에서의 게임 서버는 클라이언트의 요청을 처리하는 버퍼를 생성하기 위해 일반적으로 동적 메모리 할당을 빈번하게 수행한다. 이는 시스템에 부하를 가중시키고 메모리 단편화를 발생시키게 되어 게임 서버의 성능을 저하시킨다. 본 논문에서는 이러한 문제를 해결하기 위해 고정크기 메모리 풀 관리 방법을 제안한다. 제안하는 방법에서의 메모리 풀은 원형 연결 리스트 형태의 순차적 메모리 구조를 가지며, 이를 통해 게임 서버에서의 메모리 단편화 문제를 해결하고, 메모리 할당과 해제를 위해 필요한 메모리 블록의 탐색 시간 비용을 줄일 수 있다. 실험에서는 제안하는 방법과 잘 알려진 오픈소스 메모리 풀 라이브러리(boost) 기반의 메모리 풀 관리방법을 이용하여, 동적 할당을 수행할 때의 성능평가를 통해 해당 기법의 효율성을 보이도록 한다.