Publications

Detailed Information

Optimizing Block I/O Subsystem for Fast Storage Devices : 고성능 저장 장치를 위한 블럭 입출력 서브시스템 최적화

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

유영진

Advisor
염헌영
Major
공과대학 전기·컴퓨터공학부
Issue Date
2012-08
Publisher
서울대학교 대학원
Keywords
I/O subsystemStorage deviceLatencyThroughput
Description
학위논문 (박사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2012. 8. 염헌영.
Abstract
메모리 기술의 발달은 저장 장치 하드웨어의 발전을 가져오게 되었고, 이는 데이터 접근의 패러다임을 기계적 방식에서 전기적 방식으로 이동하게 만들었다. 그 결과, 솔리드 스테이트 드라이브 (SSD)의 응답시간은 마이크로초 수준으로 줄어들게 되었다. 하지만 이러한 빠른 저장 장치의 등장에도 불구하고, 기존의 스토리지 스택은 그러한 새로운 장치의 속도를 따라올 수 없는 문제를 가지고 있는데, 그 이유는 스토리지 스택이 수십년간 매우 느린 디스크에 기반하여 최적화 되어왔기 때문이다. Fusion-IO 나 OCZ 와 같은 저장 장치 제조 회사들
은 자사의 고성능 저장 장치의 이점을 극대화하기 위해 최적화된 별도 의 스토리지 스택을 구현하기 시작했다. 이제 스토리지 시스템은 빠른 저장 장치의 낮은 응답 시간 특성을 최대한 이용할 수 있어야 한다는 도전에직면해있다.
본 논문에서는, 매우 낮은 응답 속도를 가지는 SSD의 성능을 최대한 이용할 수 있는 블럭 입출력 서브시스템의 6가지 타입에 대해 제안한다. 우리의 최적화 기법은 다음의 두가지로 요약할 수 있다
1) 입출력 경로를 재디자인함으로써 개별 요청의 오버헤드를 줄이는 것, 2) 다수의 요청을 모아서 처리함으로써 개별 요청의 오버헤드를 가리는
것이다. 디바이스 폴링과 동기적 입출력 경로가 첫번째 기법에 해당하고, 비연속 요청을 하나의 I/O로 처리하는 것이 두번째 기법에 해당한
다. 기존의 일들이 불필요한 소프트웨어 계층을 제거하는데 초점을 두었던 것과는 달리, 우리는 적극적으로 기존의 소프트웨어 컴포넌트들
을 최적화하고 새로운 기능을 추가하여 낮은 응답속도와 높은 처리량
(throughput)을 달성할 수 있도록 하였다. 우리의 블럭 입출력 서브시스템은 리눅스 커널 2.6.32 기반으로 구현되었다. 실험 결과에 따르면, 동기적인 입출력 경로 (SyncPath)의 경우, 단일 쓰레드 기반 워크로드에서 약 3.3배 정도 소프트웨어 오버헤드를 줄일 수 있었고, 이중 버퍼링 (2Q)의 경우 다중 쓰레드 기반의 워크로드에서 4.4배 정도의 처리량 향상을 볼 수 있었다. 또한 혼합 입출력 경로 디자인 (HTM)의 경우 입출력 요청의 접근 패턴이나 타입과 상관없이 저장 장치의 성능을 87%∼100% 까지 이끌어 낼 수 있었다. 제안된 블럭 입출력 서브시스템 디자인은 매우 일반적이기 때문에 차세대 SSD가 등장할 시점에도 효과적으로 적용될 수 있을 것으로 기대한다.
Language
English
URI
https://hdl.handle.net/10371/118843
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share