검색 상세

네트워크 기반 키-값 스토리지 시스템 및 부하 분산 I/O 스케쥴링 기법 연구

An Agile Network-Based Key-Value Storage System with Robust Load Orchestration

초록 (요약문)

분리화 스토리지 환경에서 SAN 및 NAS와 같은 네트워크 스토리지는 키-값 인터페이스를 채택하기 위한 연구가 부족하여 파일시스템 등 OS 계층으로 인한 과도한 I/O 스택 오버헤드가 발생한다. 따라서 본 논문에서는 혁신적인 네트워크 기반 키-값 스토리지 시스템인 OctoKV를 제안한다. OctoKV는 클라이언트 측의 파일 시스템에서 실행되는 기존 키-값 저장소와 관련된 반복적인 주소 변환 오버헤드를 해결한다. 이 오버헤드를 완화하기 위해 NVMe-oF 및 사용자 수준 NVMe 드라이버를 사용하여 서버 측에 키-값 저장소를 구현했다. 특히 I/O 성능을 최적화하기 위해 세분화된 리소스 모니터링, 휴리스틱 기반 로드 밸런싱을 사용했다. OctoKV는 Intel SPDK와 함께 리눅스 클러스터에 배포되었으며 광범위한 평가를 수행했다. 본 논문의 결과는 OctoKV가 키-값 저장소가 클라이언트 측에서 실행되는 기존 접근 방식과 비교하여 더 낮은 I/O 응답 시간을 달성한다는 것을 보여준다. 또한 제안된 부하 분산 전략은 코어 간의 부하를 효과적으로 분산시킬 뿐만 아니라 포그라운드 I/O에서 백그라운드 작업을 기능적으로 분할하여 I/O 응답 시간을 효과적으로 최적화한다.

more

초록 (요약문)

In this paper, we propose OctoKV, an innovative network-based key-value storage system. OctoKV addresses the repetitive address translation overhead associated with traditional key-value stores running on file systems at the client side. To mitigate this overhead, we implemented the key-value store on the server side using NVMe-oF and a user-level NVMe driver. In particular, we employed fine-grained resource monitoring, load balancing based on heuristics to optimize I/O performance. OctoKV is deployed on a Linux cluster with Intel SPDK and conducted extensive evaluations. The evaluation shows that OctoKV achieves lower I/O response times in comparison to traditional approaches where, key-value stores run on the client side. Also, the proposed load balancing strategies effectively optimize I/O response time by effectively balancing the load between cores.

more