원문정보
An Improved Memory Pool using Slab Allocator
초록
영어
In this paper, we propose an improved memory pool using slab allocator. Our method dynamically rearranges memory block sets of memory pool by their state of usage, so it decreases fragments of memory blocks and keeps a locality more than a linked list structure of a single memory set. A memory pool that has a single memory block set searches all memory blocks to satisfy requests, but dynamically rearranged and classified memory block sets reduce its search range, improve performance of a memory pool. The proposed memory pool can allocate memory blocks of a various size by this improvement.
한국어
본 연구는 슬랩 할당자(slab allocator)를 이용한 개선된 메모리풀을 제안한다. 이 방법은 메모리풀의 메모리 블록 집합을 할당 상태에 따라 동적으로 재배열한다. 동적 재배열된 메모리 블록 집합은 단일 메모리 블록 집합의 단편화를 줄이고, 할당된 메모리 블록의 지역적인 특성을 유지해준다. 단일 메모리 블록 연결 구조의 메모리풀은 메모리 할당 및 반환 요청을 처리하기 위해 전체 메모리 블록 집합을 탐색해야 하지만, 동적 재배열된 메모리 블록 집합은 탐색 범위를 제한하여 메모리풀의 메모리 블록 할당 및 반환 성능을 향상시킨다. 이를 통해 얻은 성능 향상을 동적 메모리 할당처럼 다양한 크기의 메모리 블록을 할당할 수 있는 메모리풀을 구성하는데 사용할 수 있다.
목차
Abstract
1. 서론
1.1 관련연구
2. 슬랩 할당자를 이용한 메모리풀
2.1 Loki::SmallObject
2.2 슬랩 할당자
2.3 슬랩 할당 전략을 적용한 개선된 고정 크기 할당기 : 플랫 할당기(FlatAllocator)
3. 실험결과
3.1 순차 할당/반환
3.2 무작위 할당/반환
3.3 실제 프로그램에서의 성능 측정
3.4 결과 요약
4. 결론
참고문헌
