네트워크 기반 키-값 스토리지 시스템 및 부하 분산 I/O 스케쥴링 기법 연구
An Agile Network-Based Key-Value Storage System with Robust Load Orchestration
- 주제어 (키워드) 스토리지시스템 , 키-값 저장소 , I/O 스케쥴링 , Storage System , Key-Value Store , I/O Scheduling
- 발행기관 서강대학교 일반대학원
- 지도교수 김영재
- 발행년도 2023
- 학위수여년월 2023. 8
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제 URI http://www.dcollection.net/handler/sogang/000000076393
- UCI I804:11029-000000076393
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권 보호를 받습니다.
초록 (요약문)
분리화 스토리지 환경에서 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

