OAK

CPU 자원 경쟁 환경에서 고성능 저장장치의 입출력 방식에 따른 성능 변화 분석

Metadata Downloads
Alternative Title
Performance Analysis of I/O Interfaces on High-Performance Storage Devices in a High CPU Contention Scenario
Abstract
To maximize the input/output performance of modern PCIe 4.0-based high-performance, ultra-low latency NVMe storage devices, it is known that using a polling-based input/output interface is preferable to an interrupt-based interface. However, the polling method for input/output processing requires exclusive use of CPU resources, which can negatively impact input/output performance in situations of CPU resource competition. Generally, distributed storage applications utilize significant CPU resources not only for input/output but also for maintaining consistency between storage nodes and for data replication. In environments with high CPU usage, using CPU resources exclusively for polling-based input/output processing may be less efficient than interrupt-based input/output processing.
In this thesis, we aim to identify the most efficient input/output method for high-performance storage devices in situations where CPU resources are limited, such as in distributed storage systems. To this end, we conducted a comparative analysis of performance changes based on the input/output methods under simulated CPU resource competition environments typical in distributed storage systems. Evaluating various factors such as storage device performance characteristics, CPU interference, and the ratio of dataset size to cache size, we found that in scenarios where multiple tasks compete for CPU resources, the performance degradation of the polling-based input/output method is significant, which may even result in lower performance than the interrupt-based method in certain situations. Based on these results, we demonstrate the necessity for a hybrid input/output mechanism that dynamically applies the optimal input/output method considering various factors in distributed storage systems, combining both polling and interrupt approaches to achieve maximum input/output performance.|현대의 PCIe 4.0 기반 고성능 초저지연 NVMe 저장장치의 입출력 성능을 극대화하기 위해서는 인터럽트 기반의 입출력 인터페이스보다 폴링 기반의 입출력 인터페이스를 사용하는 것이 좋다고 알려져 있다. 하지만, 폴링 방식의 입출력 처리는 CPU 자원의 독점을 필요로 하기 때문에 CPU 자원 경쟁 상황에서 입출력 성능에 부정적인 영향을 미칠 수 있다. 일반적으로 분산 스토리지 시스템처럼 입출력 처리를 필요로 하는 애플리케이션들은 입출력 이외에도 스토리지 노드 간 일관성 유지 및 데이터 복제를 위해 많은 CPU 자원을 사용한다. CPU 사용량이 높은 분산 스토리지 시스템과 같은 환경에서는 CPU 자원을 독점적으로 사용하는 폴링 기반의 입출력 처리가 인터럽트 기반의 입출력 처리보다 효율적이지 않을 수 있다.
본 논문에서는 분산 스토리지 시스템과 같이 CPU 자원이 부족한 상황에서 고성능 저장장치에 효율적인 입출력 방식을 파악하고자 한다. 이를 위해 분산 스토리지 시스템에서 발생하는 CPU 자원 경쟁 환경을 모사하여 입출력 방식에 따른 성능 변화에 대한 비교 분석을 진행하였다. 저장장치 성능 특성, CPU 간섭 정도, 캐시 크기 대비 데이터셋 크기 비율 등 다양한 요소에 대한 성능 평가를 통해, 여러 작업이 CPU 자원을 두고 경쟁하는 상황에서는 폴링 기반 입출력 방식의 성능 저하가 크게 발생하여, 경우에 따라 인터럽트 기반 입출력 방식보다 오히려 낮은 성능을 보일 수 있음을 확인하였다. 이러한 결과를 바탕으로, 분산 스토리지 시스템에서 최대의 입출력 성능을 달성하기 위해서는 다양한 요소를 고려하여 동적으로 최적의 입출력 방법을 적용할 수 있는 폴링과 인터럽트의 하이브리드 입출력 메커니즘이 필요함을 입증하였다.
Author(s)
이슬아
Issued Date
2024
Awarded Date
2024-02
Type
Dissertation
URI
https://repository.sungshin.ac.kr/handle/2025.oak/1411
http://dcollection.sungshin.ac.kr/common/orgView/000000014905
Alternative Author(s)
Lee SeulA
Affiliation
성신여자대학교 일반대학원
Department
일반대학원 컴퓨터학과
Advisor
박지웅
Table Of Contents
Ⅰ. 서론 1
Ⅱ. 배경 3
1. 리눅스 입출력 스택 3
2. 입출력 이벤트 처리 방식 5
1) 인터럽트 5
2) 폴링 6
3. 비동기적 입출력 인터페이스 7
1) libaio 8
2) spdk 8
Ⅲ. 관련 연구 11
1. 고성능 저장장치를 위한 입출력 스택 최적화 연구 11
2. 고성능 저장장치에서 입출력 인터페이스에 따른 성능 분석 연구 15
Ⅳ. 성능 분석 17
1. 마이크로 벤치마크 17
1) 실험 환경 17
2) 실험 방법 18
3) 실험 결과 21
2. 매크로 벤치마크 27
1) 실험 환경 27
2) 저장장치 성능 특성의 영향 31
a) 실험 방법 31
b) 실험 결과 31
3) CPU 간섭 정도의 영향 36
a) 실험 방법 36
b) 실험 결과 36
4) 캐시 크기 대비 데이터셋 크기 비율의 영향 39
a) 실험 방법 39
b) 실험 결과 39
Ⅴ. 결론 및 향후연구 42
Degree
Master
Publisher
성신여자대학교 일반대학원
Appears in Collections:
컴퓨터학과 > 학위논문
공개 및 라이선스
  • 공개 구분공개
  • 엠바고2024-02-23
파일 목록

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.