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

검색결과 13건 처리시간 0.034초

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

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

분산 공유 메모리 시스템에서 거짓 공유를 줄이는 객체-크기 및 호출지-추적 기반 공유 메모리 할당 기법 (Object-Size and Call-Site Tracing based Shared Memory Allocator for False Sharing Reduction in DSM Systems)

  • 이종우;박영호;윤용익
    • 디지털콘텐츠학회 논문지
    • /
    • 제9권1호
    • /
    • pp.77-86
    • /
    • 2008
  • 거짓 공유는 공유 메모리 다중 처리기 시스템에서 여러 처리기들이 일관성 유지의 단위 메모리 영역을 공유함으로 인해 발생하는 현상으로써, 메모리 일관성 유지의 정확성에는 아무런 도움을 주지 못하면서 그 비용만 증가시키는 주요 요인이다. 특히 메모리 일관성 유지의 단위가 커질수록 그 피해가 더 커진다고 할 수 있다. 페이지-기반 분산 공유 메모리 시스템에서 거짓 공유를 줄이기 위해서는 공유 페이지에 할당되는 객체들의 특성을 미리 예측하여 참조 패턴이 상이한 객체들이 하나의 공유 페이지에 섞이는 것을 방지하는 것이 필수적이다. 본 논문에서는 객체-크기와 호출지-추적에 기반한 거짓 공유 감소 기법인 SCSTallocator: Sized and Call-Site Tracing based allocator)을 제시한다. SCSTallocator는 서로 다른 코드 위치에서 할당 요청된 공유 객체들은 각각 상이한 참조 패턴을 보일 것이라는 가정에 기반함과 동시에 요청된 객체의 크기가 다르면 향후 참조 패턴도 다를 것이라고 가정하고 있다. 본 논문에서는 기존의 두 정책(크기별 할당 정책과 호출지-추적 기반 할당 정책)을 동시에 적용할 경우 거짓 공유를 더 많이 줄일 수 있을 것이라는 예상을 실험을 통해 확인하였다.

  • PDF

무선 센서 운영체제를 위한 지능형 슬랩 할당기 (A Smart Slab Allocator for Wireless Sensor Operating Systems)

  • 민홍;이상호;허준영;김석현;조유근;홍지만
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권7호
    • /
    • pp.708-712
    • /
    • 2008
  • 무선 센서 네트워크에서 사용하는 동적 메모리 관리 기법들은 범용 시스템에서 사용되고 있는 기법들을 그대로 적용한 것들이 많기 때문에, 센서 응용에는 부적합한 부분이 있다. 본 논문에서는 센서 응용들의 특성을 살펴보고, 이들의 특성을 모델링 함으로써, 기존의 동적 메모리 관리 시스템에서 발생할 수 있는 긴 수행시간과 불필요한 메모리 관리 공간의 문제를 해결할 수 있는 슬랩 할당기를 제안한다. 또한 대표적인 센서 응용 프로그램을 활용한 실험을 통해서 새로이 제안한 방법의 성능을 기존의 시스템과 비교 평가한다.

Improving Memory Efficiency of Dynamic Memory Allocators for Real-Time Embedded Systems

  • Lee, Jung-Hee;Yi, Joon-Hwan
    • ETRI Journal
    • /
    • 제33권2호
    • /
    • pp.230-239
    • /
    • 2011
  • Dynamic memory allocators for real-time embedded systems need to fulfill three fundamental requirements: bounded worst-case execution time, fast average execution time, and minimal fragmentation. Since embedded systems generally run continuously during their whole lifetime, fragmentation is one of the most important factors in designing the memory allocator. This paper focuses on minimizing fragmentation while other requirements are still satisfied. To minimize fragmentation, a part of a memory region is segregated by the proposed budgeting method that exploits the memory profile of the given application. The budgeting method can be applied for any existing memory allocators. Experimental results show that the memory efficiency of allocators can be improved by up to 18.85% by using the budgeting method. Its worst-case execution time is analyzed to be bounded.

분산 공유 메모리 시스템에서 메모리 참조 패턴에 근거한 거짓 공유 감속 기법 (Reducing False Sharing based on Memory Reference Patterns in Distributed Shared Memory Systems)

  • 조성제
    • 한국정보처리학회논문지
    • /
    • 제7권4호
    • /
    • pp.1082-1091
    • /
    • 2000
  • In Distributed Shared Memory systems, false sharing occurs when two different data items, not shared but accessed by two different processors, are allocated to a single block and is an important factor in degrading system performance. The paper first analyzes shared memory allocation and reference patterns in parallel applications that allocate memory for shared data objects using a dynamic memory allocator. The shared objects are sequentially allocated and generally show different reference patterns. If the objects with the same size are requested successively as many times as the number of processors, each object is referenced by only a particular processor. If the objects with the same size are requested successively much more than the number of processors, two or more successive objects are referenced by only particular processors. On the basis of these analyses, we propose a memory allocation scheme which allocates each object requested by different processors to different pages and evaluate the existing memory allocation techniques for reducing false sharing faults. Our allocation scheme reduces a considerable amount of false sharing faults for some applications with a little additional memory space.

  • PDF

분산 공유 메모리 시스템에서 거짓 공유를 줄이는 호출지 추적 기반 공유 메모리 할당 기법 (Call-Site Tracing-based Shared Memory Allocator for False Sharing Reduction in DSM Systems)

  • 이종우
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권7호
    • /
    • pp.349-358
    • /
    • 2005
  • 거짓 공유는 공유 메모리 다중 처리기 시스템에서 여러 처리기들이 일관성 유지의 단위 메모리 영역을 공유함으로 인해 발생하는 현상으로써, 메모리 일관성 유지의 정확성에는 아무런 도움을 주지 못하면서 그 비용만 증가시키는 주요 요인이다. 특히 메모리 일관성 유지의 단위가 커질수록 그 피해가 더 커진다고 할 수 있다. 페이지-기반 분산 공유 메모리 시스템에서 거짓 공유를 줄이기 위해서는 공유 페이지에 할당되는 객체들의 특성을 미리 예측하여 참조 패턴이 상이한 객체들이 하나의 공유 페이지에 섞이는 것을 방지하는 것이 필수적이다. 본 논문에서는 병렬 응용 프로그램의 코드 내에서 공유 메모리 할당자를 호출한 위치를 추적하여 서로 다른 호출지에서 요청된 공유 객체가 같은 공유 페이지에 할당되는 것을 방지하는 호출지-추적 기반 거짓 공유 감소 기법(CSTallocator)을 제시한다. CSTallocator는 서로 다른 코드 위치에서 할당 요청된 공유 객체들은 각각 상이한 참조 패턴을 보일 것이라는 가정에 기반하고 있다 이 기법의 효용성을 검증하기 위해 기존 거짓 공유 감소 할당 기법들의 성능과 비교한 결과 기존 방식에 비해 훨씬 더 많은 거짓 공유 폴트를 감소시킨다는 것을 알 수 있었다. 실험은 실제 병렬 응용에 기반한 실행-기반 시뮬레이션 기법을 사용하였다.

CLDC에서 자바 가비지 콜렉션 (Java Garbage Collection in CLDC)

  • 권혜은;김상훈
    • 정보학연구
    • /
    • 제5권2호
    • /
    • pp.27-34
    • /
    • 2002
  • CLDC를 지원하는 자바가상머신인 KVM의 가비지 콜렉터는 일반적으로 단순한 마크-회수 알고리즘에 기반을 두고 있다. 그러나 이 알고리즘은 단편화 없이 다양한 크기의 객체를 다루기 어렵다는 문제점을 가진다. 본 논문에서는 객체의 크기에 따라 자유 기억 공간의 할당 위치를 결정하는 메모리 할당 방법을 적용한 개선된 마크-회수 가비지 콜렉터를 설계하고 구현하였다. 실험을 통해 단편화 문제가 감소되었고 실행시간의 개선이 있었음을 확인하였다.

  • PDF

연속할당 기법을 이용한 효과적인 lock-free 메모리 할당자 설계 및 구현 (Design and Implementation of Efficient Memory Allocator using Contiguous Allocation Scheme)

  • 김인혁;김태형;엄영익
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.559-561
    • /
    • 2011
  • 멀티코어 환경에서는 공유 데이터에 대한 동기화로 인한 병목 현상이 중요한 문제점 중의 하나이다. 그리고 동적 메모리 할당자는 대량의 메모리를 할당 및 해제하는 프로그램에서 공유 데이터에 대한 동기화 문제로 성능 저하를 유발시키고 있다. 이를 해결하기 위해 다양한 lock-free 메모리 할당 기법들이 소개되었지만 false sharing과 heap blow-up과 같은 여러 가지 문제점들을 가지고 있다. 이에 본 논문에서는 새로운 연속할당 기법을 제안하고, 이를 이용하여 동일 블록 내의 오브젝트 할당/해제에 따른 동기화 문제를 해결함으로써 효과적인 lock-free 메모리 할당 기법을 제안하였다. 그리고 제안 기법을 구현하여 기존의 메모리 할당 기법들과 실험을 통하여 검증하였으며, 대량의 메모리를 사용하는 멀티 스레드 환경에서 특히 좋은 성능을 보이는 것을 확인하였다.

멀티코어 환경에서의 확장성 향상을 위한 메모리 할당자 (Enhanced Memory Allocator for Scalability Improvement On Multicore)

  • 조영중;김인혁;엄영익
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.164-165
    • /
    • 2013
  • 멀티프로세서에서 시스템의 병렬성을 향상시키기 위해서 멀티스레드 프로그램을 이용한다. 이러한 멀티스레드 프로그램은 스레드간 역할을 분담하여 작업을 진행하게 된다. 멀티스레드 프로그램에는 생산자-소비자 구조가 있다. 기존 메모리할당자들은 생산자-소비자 구조에 대한 연구가 진행되지 않고, 크리티컬 섹션이 긴 락을 사용하여 성능상에 문제가 있다. 우리는 이러한 문제점을 독특한 메모리 해제 방법을 통해 해결하였고, 실험을 통해 메모리 할당자의 속도가 향상되는 것을 검증하였다.

CMA 인식을 통한 메모리 안전성 강화 연구

  • 홍준화;박찬민;정성윤;민지운;유동연;권용휘;전유석
    • 정보보호학회지
    • /
    • 제32권4호
    • /
    • pp.61-69
    • /
    • 2022
  • C/C++에는 다수의 메모리 취약점이 존재하며 ASan은 낮은 오버헤드와 높은 탐지율로 이러한 메모리 취약점을 탐지하기 위해 광범위하게 사용되고 있다. 그러나 상용 프로그램 중 다수는 메모리를 효율적으로 사용하기 위해 Custom Memory Allocator(CMA)를 구현하여 사용하며, ASan은 이러한 CMA로부터 파생된 버그를 대부분 탐지하지 못한다. 이를 극복하기 위해 본 연구에서는 LLVM IR 코드를 RNN 신경망에 학습하여 CMA를 탐지하고, ASan이 CMA를 식별할 수 있도록 수정하여 CMA로부터 파생된 메모리 취약점을 탐지할 수 있는 도구인 CMASan을 제안한다. ASan과 CMASan의 성능 및 CMA 관련 취약점의 탐지 결과를 비교·분석하여 CMASan이 낮은 실행시간 및 적은 메모리 오버헤드로 ASan이 탐지하지 못하는 메모리 취약점을 탐지할 수 있음을 확인하였다.