"Custom Memory Allocation 재고"에 대한 재고
요약
본 연구는 25년 전 Berger 등이 발표한 커스텀 메모리 할당 전략에 관한 논문을 현대적인 하드웨어와 범용 할당기를 통해 재검증합니다. 실험 결과, 클래스별 할당기는 현대적 할당기 대비 큰 이점이 없으나, 영역 기반 할당기는 객체의 일괄 할당 및 해제를 통해 실행 시간과 메모리 지역성 측면에서 여전히 유효한 성능 향상을 제공함을 입증했습니다.
핵심 포인트
- 현대적 하드웨어에서도 클래스별 할당기(per-class allocators)의 성능 이점은 미미함
- 영역 기반 할당기(region-based allocators)는 실행 시간 개선 및 지역성 확보에 효과적임
- Clang 및 Blender와 같은 대규모 실제 애플리케이션을 통한 벤치마크 검증 수행
- 메모리 파편화가 데이터 지역성(locality)에 미치는 영향 분석
C, C++, 또는 Rust와 같은 네이티브 언어 (native languages)를 사용하는 프로그래머들은 실행 시간 (execution time)을 개선하기 위해 커스텀 메모리 할당 (custom memory allocation) 전략을 구현할 수 있습니다. 약 25년 전, Berger 등이 발표한 "Reconsidering Custom Memory Allocation"이라는 제목의 논문에서, 그들은 클래스별 할당기 (per-class allocators)가 최신 범용 할당기 (general-purpose allocator)에 비해 유의미한 속도 향상을 제공하지 못하는 반면, 영역 기반 할당기 (region-based allocators)는 객체를 일괄적으로 할당하고 해제함으로써 실행 시간을 개선할 수 있음을 보여주었습니다. 본 논문은 그들의 결론이 여전히 유효한지 평가하기 위해, 현대적인 하드웨어 플랫폼 (hardware platform)과 현대적인 범용 할당기를 사용하여 해당 연구를 재방문합니다. 또한, 두 개의 대규모 실제 애플리케이션 (Clang 및 Blender)을 통해 벤치마크 제품군 (benchmark suite)을 확장하였으며, 범용 할당기에서 메모리 파편화 (memory fragmentation)가 지역성 (locality)에 미치는 영향을 탐구하기 위한 방법론을 도입합니다. 우리의 결과는 기존의 결론을 지지하고 확장하며, 영역 기반 커스텀 메모리 할당기의 지역성 이점을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기