본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 21. 11:38

Clove: 관리형 런타임(Managed Runtimes)에서의 객체 수준 CXL 메모리 관리

요약

Clove는 CXL 계층형 메모리 환경에서 관리형 언어의 런타임을 확장하여 객체 수준의 메모리 관리를 지원하는 시스템입니다. 기존 페이지 기반 시스템의 비효율성을 해결하기 위해 프로파일 기반의 객체 빈도 추적과 재배치 기술을 결합하였습니다. JVM 프로토타입 실험 결과, 페이지 기반 방식 대비 애플리케이션 성능 저하를 22-84% 감소시키는 성과를 보였습니다.

핵심 포인트

  • CXL의 로드/스토어 인터페이스 특성에 최적화된 객체 수준 메모리 관리의 필요성 제시
  • 기존 관리형 런타임의 객체 재배치 및 동적 코드 생성 메커니즘을 활용한 확장 가능성 확인
  • 프로파일 기반 객체 빈도 추적(hotness tracking)과 재배치 정책의 결합
  • JVM 환경에서 페이지 기반 시스템 대비 22-84%의 성능 저하 감소 효과 입증

페이지 기반 시스템(page-based systems)의 비효율성을 해결하기 위해 계층형 메모리(tiered memory)의 객체 수준 관리(object-level management)에 대한 연구가 진행되어 왔습니다. 그러나 CXL의 엄격한 성능 예산(performance budget)과 로드/스토어 인터페이스(load/store interface)로 인해, CXL 계층형 메모리를 위한 객체 수준 관리는 여전히 미개척 분야로 남아 있습니다. 그 결과, 기존의 접근 방식들은 맞춤형 런타임(bespoke runtimes)이나 컴파일러 지원을 갖춘 비관리형 언어(unmanaged-language) 애플리케이션을 주로 대상으로 하는 등 그 범위가 제한적입니다. 본 논문은 객체 수준 CXL 관리를 위한 새로운 설계 지점인 관리형 언어(managed languages)와 그 런타임(runtimes)을 식별하고 탐구합니다. 핵심적인 관찰 결과는 기존의 관리형 런타임이 객체 재배치(object relocation) 및 동적 코드 생성(dynamic code generation)을 포함하여, 객체 수준 관리와 밀접하게 관련된 문제들에 대해 이미 고도로 최적화된 메커니즘을 제공하고 있다는 점입니다. 하지만 이들은 여전히 빈도 추적(hotness tracking) 및 재배치 정책(relocation policies)과 같이 계층형 메모리 관리에 필요한 기능이 부족하며, 따라서 이 방향을 완전히 실현하기 위해서는 신중한 확장이 필요합니다. 우리는 관리형 언어 애플리케이션을 위한 객체 수준 CXL 관리를 지원하도록 기존 관리형 런타임을 확장하는 시스템인 Clove를 제시합니다. Clove는 프로파일 기반 객체 빈도 추적(profile-guided object hotness tracking)을 객체 재배치 기술 및 정책과 결합합니다. 우리의 JVM 프로토타입은 이러한 확장이 런타임 오버헤드(runtime overhead)를 제한하면서도 빠른 계층(fast-tier) 메모리의 높은 활용도를 가능하게 하며, 페이지 기반 시스템과 비교했을 때 애플리케이션 저하(slowdown)를 22-84% 감소시킨다는 것을 입증합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0