연속할당 기법을 이용한 효과적인 lock-free 메모리 할당자 설계 및 구현

Design and Implementation of Efficient Memory Allocator using Contiguous Allocation Scheme

  • 김인혁 (성균관대학교 정보통신공학부) ;
  • 김태형 (성균관대학교 정보통신공학부) ;
  • 엄영익 (성균관대학교 정보통신공학부)
  • Kim, In-Hyuk (School of Information and Communication Eng., Sungkyunkwan University) ;
  • Kim, Tae-Hyoung (School of Information and Communication Eng., Sungkyunkwan University) ;
  • Eom, Young-Ik (School of Information and Communication Eng., Sungkyunkwan University)
  • 발행 : 2011.06.29

초록

멀티코어 환경에서는 공유 데이터에 대한 동기화로 인한 병목 현상이 중요한 문제점 중의 하나이다. 그리고 동적 메모리 할당자는 대량의 메모리를 할당 및 해제하는 프로그램에서 공유 데이터에 대한 동기화 문제로 성능 저하를 유발시키고 있다. 이를 해결하기 위해 다양한 lock-free 메모리 할당 기법들이 소개되었지만 false sharing과 heap blow-up과 같은 여러 가지 문제점들을 가지고 있다. 이에 본 논문에서는 새로운 연속할당 기법을 제안하고, 이를 이용하여 동일 블록 내의 오브젝트 할당/해제에 따른 동기화 문제를 해결함으로써 효과적인 lock-free 메모리 할당 기법을 제안하였다. 그리고 제안 기법을 구현하여 기존의 메모리 할당 기법들과 실험을 통하여 검증하였으며, 대량의 메모리를 사용하는 멀티 스레드 환경에서 특히 좋은 성능을 보이는 것을 확인하였다.

키워드

과제정보

연구 과제번호 : 미래기반기술개발사업(첨단융복합분야)

연구 과제 주관 기관 : 한국연구재단