인문학
사회과학
자연과학
공학
의약학
농수해양학
예술체육학
복합학
지원사업
학술연구/단체지원/교육 등 연구자 활동을 지속하도록 DBpia가 지원하고 있어요.
커뮤니티
연구자들이 자신의 연구와 전문성을 널리 알리고, 새로운 협력의 기회를 만들 수 있는 네트워킹 공간이에요.
논문 기본 정보
- 자료유형
- 학위논문
- 저자정보
- 지도교수
- 김장우
- 발행연도
- 2022
- 저작권
- 서울대학교 논문은 저작권에 의해 보호받습니다.
이용수0
초록· 키워드
상세정보 수정요청해당 페이지 내 제목·저자·목차·페이지정보가 잘못된 경우 알려주세요!
현대 빅 데이터 워크로드는 대규모 I/O 처리를 포함하고, 빠르고 확장 가능하며 유연한 스토리지 가상화 지원을 요구합니다. 기존 하드웨어 지원 가상화는 높은 스토리지 성능을 달성할 수 있지만 가상화된 환경에서 필요한 기능들이 제한됩니다. 반면에, 소프트웨어 기반 가상화 구현은 값비싼 범용 코어 사용과 호스트 기반 스토리지 장치 관리로 인해 서버의 저장 장치의 수와 성능이 증가함에 따라 심각한 성능 및 확장성 문제를 가집니다. 이 논문에서는 고성능 스토리지 장치를 위한 빠르고 확장 가능하며 유연한 하드웨어 기반 가상화 메커니즘을 소개합니다. 첫째, FVM은 호스트 자원에서 분리된 FPGA 카드 (FVM-engine)에 스토리지 가상화 계층을 구현하고 PCI Express로 연결된 스토리지 디바이스들을 직접 관리할 수 있는 하드웨어 수준의 스토리지 장치 관리 방법을 구현합니다. 둘째, FlexCSV는 연산 스토리지 장치 내부의 계산 및 저장 장치들에 대해서 모두 FVM-engine의 하드웨어 지원 가상화를 활용하고 가상 연산 스토리지 장치를 동적으로 구성합니다. 이러한 방법으로 FVM-engine이 장착된 서버는 호스트 자원을 사용하지 않고 고성능 스토리지 가상화를 제공할 수 있습니다. 또한, FVM-engine은 스토리지 장치 사이 고속 직접 데이터 전송을 최대한 활용하여 연산 스토리지 가상화의 성능과 비용 효율성을 최대화합니다.
목차
- Abstract iContents iiList of Tables vList of Figures vi1 Introduction 12 Background 72.1 Storage Architecture 72.1.1 NVM and NVMe Architecture 72.1.2 Computational Storage Architecture 82.2 Storage Virtualization 122.2.1 Paravirtualization 122.2.2 Host Sidecore Approach 142.2.3 On-device Sidecore Approach 152.2.4 Direct Device Assignment 153 FVM: FPGA-assisted Virtual Device Emulation for Fast, Scalable, and Flexible Storage Virtualization 173.1 Motivation 173.1.1 CPU-inefficient Storage Virtualization 173.1.2 Weak Computing Power of SoC Cores 203.1.3 Absence of Interposition Layer 213.2 Design and Implementation 223.2.1 Design Goals 233.2.2 FPGA-assisted Storage Virtualization 243.2.3 Front-end: VM-to-FVM-Engine 263.2.4 Back-end: FVM-Engine-to-SSD 313.2.5 FVM Core Design 323.2.6 HLS-based Design Flow 363.3 Evaluation 373.3.1 Experimental Setup 373.3.2 Performance 383.3.3 Scalability 413.3.4 Programming Example Functions 433.4 Discussion 463.5 Conclusion 474 FlexCSV: A Fast and Flexible Hardware-based Virtualization Mechanism for Computational Storage Devices 484.1 Motivation 484.1.1 Indirect Device-Control and Data Paths 494.1.2 SSD-FPGA Coupled Architecture 514.1.3 Static SSD/FPGA Resource Allocation 524.2 Design and Implementation 544.2.1 FlexCSV Architecture 544.2.2 Hardware-assisted Virtualization 544.2.3 Hardware-level Resource Orchestration 574.2.4 SSD-FPGA Decoupled Architecture 614.2.5 Dynamic Resource Allocation 624.3 Evaluation 654.3.1 Experimental Setup 654.3.2 Device Virtualization Performance 674.3.3 Near-Storage Processing Performance 694.3.4 Multi-SSD Performance 714.3.5 Dynamic Resource Scheduling 714.4 Conclusion 725 Related Work 746 Conclusion 77Abstract (In Korean) 91Acknowlegement 92