Publications

Detailed Information

QoS 우선순위 역전 방지를 위한 낸드 상태 기반의 블록 관리 기법

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

조유현

Advisor
김지홍
Major
공과대학 컴퓨터공학부
Issue Date
2019-02
Publisher
서울대학교 대학원
Description
학위논문 (석사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2019. 2. 김지홍.
Abstract
가상화 기술을 통해 한정된 컴퓨터 자원을 분리하여 여러 사용자에게 제공할 수 있게 되었다. 가상화 서비스 시스템에서는 컴퓨터 자원을 여러 사용자에게 나누어 제공하는 과정에서 사용자 간 영향이 발생할 수 있다. 그런데, 특정 사용자는 낮은 우선순위의 사용자에게 영향을 받지 않고, 상대적으로 높은 성능을 제공해주는 QoS를 요구한다.
낸드 플래시 기반 SSD를 가상화 하여 서비스를 제공하는 시스템에서도 SSD 내부에서 다른 사용자의 요청을 분리하거나 SSD 관리 작업을 분리하여 높은 우선순위 사용자의 읽기 요청 응답시간에 대한 QoS를 제공하려는 노력들이 있었다. 하지만, 이와 같은 연구들은 낸드 상태에 따른 읽기 성능 변화를 고려하지 않았다.
낸드는 물리적 특성상 사용함에 따라 상태가 나빠진다. 상태가 나빠진 낸드 블록은 읽기 요청을 처리하는 과정에서 오류가 많이 발생하고, 이를 줄이기 위한 읽기 재시도가 반복 실시될 수 있다. 최악 건강 상태의 블록의 경우 20회 이상의 읽기 재시도가 반복되어 그만큼 읽기 응답시간이 급격하게 증가하는 것이 관찰되었다. 결국 읽기 응답시간에 대한 응용 별 QoS 제공을 위해서는 읽기 성능에 큰 영향을 미치는 낸드 상태를 반드시 고려해야만 한다.
본 논문에서는 낸드 상태를 파악하고, 응용 QoS 수준 별 블록들의 낸드 상태 역전이 발생하지 않도록 하는 블록 관리 기법을 제안한다. 기법을 통해 높은 QoS 수준을 요구하는 응용이 좋은 상태의 낸드 블록들을 사용하고, 빠른 응답시간을 보이도록 관리한다. 평가 실험 결과를 통해 일정 시간동안 응용들의 블록들에서 QoS 우선순위 역전이 발생하지 않도록 하는 것을 확인하였다.
그러나 SSD가 많이 사용되면서 여러 응용들이 할당 받았던 블록들의 상태가 나빠지는 속도가 다르면 QoS 우선순위에 맞게 할당되었던 낸드 상태가 역전되는 경우가 발생한다. 이런 상황이 발생하는 경우 우선순위 역전이 발생하지 않도록 블록을 교체한 후 제공하는 QoS-swap을 적용하였다. 이를 통해 SSD를 지속적으로 사용한 이후에도 낸드 상태에 대한 QoS 우선순위 역전 현상을 방지하는 것을 확인하였다.
In modern enterprise computing where various computing resources are virtualized, it is important for a service provider to manage service-level agreements in a consistent fashion. In such environment, users with different quality-of-service (QoS) requirements should be properly differentiated so that no QoS-priority inversion can occur.
In this thesis, we focus on the QoS-priority inversion problem in NAND flash blocks within a virtualized SSD storage system. As NAND flash blocks wear out, their read performance gets affected significantly. For example, when a very old NAND block is read under a worst-case condition, the read performance may be degraded by up to 20 times. Therefore, QoS-priority inversion can occur if old NAND blocks are allocated to high QoS tasks while new NAND blocks are allocated to low QoS tasks.
We propose a flash-aware block management technique that can avoid QoS-priority inversion for flash read requests. Our proposed technique is based on a novel NAND wear index that can accurately predict the read latency of a block. Based on the new NAND wear index, our technique employs a flash-aware block allocation scheme where the higher QoS priority of a read request, the younger the wear index of an allocated block. In order to resolve the varying wear index of the allocated block, we also propose a dynamic block swap scheme, called as QoS-swap, which intervenes when flash blocks allocated to a high QoS task wear out more than those allocated to a low QoS task. If such cases occur, the QoS-swap scheme exchanges blocks between the high QoS task and low QoS task. Experimental results using an emulated storage system show that our proposed technique can meet the required QoS requirements among multiple applications without introducing QoS-priority inversion.
Language
kor
URI
https://hdl.handle.net/10371/150805
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