Epic: 인스토어 컴퓨팅을 위한 효율적인 프로그래밍 패러다임
요약
Epic은 인스토어 컴퓨팅(ISC)의 복잡성을 해결하기 위해 개발된 NVMe 기반 스택입니다. 이 시스템은 데이터 상주성과 수명 개념을 프로그램 레벨에 도입하여, 전체 오프로드 워크플로우를 위치 지정되고 상태를 갖는 데이터 흐름으로 노출합니다. 이를 통해 기존 ISC 시스템 대비 월등한 성능 향상과 코드 간소화를 달성했습니다.
핵심 포인트
- 데이터 상주성과 수명 개념을 프로그램 레벨에 도입하여 ISC 복잡성을 추상화함.
- 스토리지 인식 컴파일러가 워크플로우를 변환하고 I/O-컴퓨트 오버랩을 노출함.
- 기존 시스템 대비 평균 4.2배의 속도 향상을 달성하며 성능 우위를 입증함.
- 애플리케이션 측 코드를 최대 14배 줄여 개발 효율성을 높임.
인스토어 컴퓨팅(ISC)은 계산 저장 장치(CSD) 내부에서 연산을 수행함으로써 호스트-스토리지 데이터 이동량을 줄입니다. 다단계 애플리케이션의 경우, 이러한 이점을 실현하려면 워크플로우 전반에 걸쳐 데이터 배치, I/O-컴퓨트 오버랩, 그리고 장치 내 상태를 조정해야 하지만, 기존 인터페이스에는 이러한 결정을 위한 통합된 추상화가 부족합니다. 우리는 프로그램 내에서 데이터 상주성과 수명(lifetime)을 포착하여 이 추상화를 제공하는 NVMe 기반 ISC 스택인 Epic을 제시합니다: 위치 타입은 논리적 상주성을 선언하고, 데이터플로우는 호출(invocation) 내의 중간 값과 연산 상태에 대한 수명을 도출하며, keep 프리미티브는 선택된 상태를 여러 호출에 걸쳐 확장합니다. 이러한 의미론은 전체 오프로드 워크플로우를 위치가 지정되고 상태를 갖는 데이터플로우로 노출합니다. 스토리지 인식 컴파일러는 이 워크플로우를 변환하고, 이동 인지 논리 매핑 및 융합을 수행하며, I/O-컴퓨트 오버랩을 노출합니다; 런타임은 실행 시간 정보를 사용하여 계획을 완료하고, 작업을 물리적 리소스에 비동기적으로 바인딩하며 장치 내 상태를 관리합니다. 12개의 파일 스캐닝, 데이터베이스, 머신러닝 워크로드 전반에 걸쳐 Epic은 기존 다섯 가지 ISC 시스템 중 가장 강력했던 시스템보다 평균 1.6배 빠르며, 평균 4.2배의 속도 향상을 달성하고 최대 16.1배까지 해당 호스트 기준선 대비 성능을 높였으며, 구현에서 애플리케이션 측 코드를 최대 14배 줄였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기