Practical Enhancement of User Experience in NVMe SSDs

When processing I/O requests, the current Linux kernel does not adequately consider the urgency of user-centric tasks closely related to user experience. To solve this critical problem, we developed a practical method in this study to enhance user experience in a computing environment wherein non-vo...

Full description

Bibliographic Details
Main Authors: Seongmin Kim, Kyusik Kim, Heeyoung Shin, Taeseok Kim
Format: Article
Language:English
Published: MDPI AG 2020-07-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/10/14/4765
id doaj-fb1e285a30394478aafcbba7a7627118
record_format Article
spelling doaj-fb1e285a30394478aafcbba7a76271182020-11-25T03:23:38ZengMDPI AGApplied Sciences2076-34172020-07-01104765476510.3390/app10144765Practical Enhancement of User Experience in NVMe SSDsSeongmin Kim0Kyusik Kim1Heeyoung Shin2Taeseok Kim3Department of Computer Engineering, Kwangwoon University, 20, Gwangun-ro, Nowon-gu, Seoul 01897, KoreaDepartment of Computer Engineering, Kwangwoon University, 20, Gwangun-ro, Nowon-gu, Seoul 01897, KoreaDepartment of Intelligent System and Embedded Software Engineering, Kwangwoon University, 20, Gwangun-ro, Nowon-gu, Seoul 01897, KoreaSchool of Computer and Information Engineering, Kwangwoon University, 20, Gwangun-ro, Nowon-gu, Seoul 01897, KoreaWhen processing I/O requests, the current Linux kernel does not adequately consider the urgency of user-centric tasks closely related to user experience. To solve this critical problem, we developed a practical method in this study to enhance user experience in a computing environment wherein non-volatile memory express (NVMe) solid-state drives (SSDs) serve as storage devices. In our proposed scheme, I/O requests that originate from the user-centric tasks were preferentially served across various levels of queues by modifying the multi-queue block I/O layer of the Linux kernel, considering the dispatch method of NVMe SSDs. Our scheme tries to give as fast a path as possible for I/O requests from user-centric tasks among many queues with different levels. Especially, when the SSD is overburdened, it avoids the queues with many pending I/O requests and thus can significantly reduce the I/O latency of user-centric tasks. We implemented our proposed scheme in the Linux kernel and performed practical evaluations on a commercial SSD. The experimental results showed that the proposed scheme achieved significant enhancement in the launch time of five widely used applications by up to ~65%.https://www.mdpi.com/2076-3417/10/14/4765NVMe SSDuser experiencemulti-queue block I/O layer
collection DOAJ
language English
format Article
sources DOAJ
author Seongmin Kim
Kyusik Kim
Heeyoung Shin
Taeseok Kim
spellingShingle Seongmin Kim
Kyusik Kim
Heeyoung Shin
Taeseok Kim
Practical Enhancement of User Experience in NVMe SSDs
Applied Sciences
NVMe SSD
user experience
multi-queue block I/O layer
author_facet Seongmin Kim
Kyusik Kim
Heeyoung Shin
Taeseok Kim
author_sort Seongmin Kim
title Practical Enhancement of User Experience in NVMe SSDs
title_short Practical Enhancement of User Experience in NVMe SSDs
title_full Practical Enhancement of User Experience in NVMe SSDs
title_fullStr Practical Enhancement of User Experience in NVMe SSDs
title_full_unstemmed Practical Enhancement of User Experience in NVMe SSDs
title_sort practical enhancement of user experience in nvme ssds
publisher MDPI AG
series Applied Sciences
issn 2076-3417
publishDate 2020-07-01
description When processing I/O requests, the current Linux kernel does not adequately consider the urgency of user-centric tasks closely related to user experience. To solve this critical problem, we developed a practical method in this study to enhance user experience in a computing environment wherein non-volatile memory express (NVMe) solid-state drives (SSDs) serve as storage devices. In our proposed scheme, I/O requests that originate from the user-centric tasks were preferentially served across various levels of queues by modifying the multi-queue block I/O layer of the Linux kernel, considering the dispatch method of NVMe SSDs. Our scheme tries to give as fast a path as possible for I/O requests from user-centric tasks among many queues with different levels. Especially, when the SSD is overburdened, it avoids the queues with many pending I/O requests and thus can significantly reduce the I/O latency of user-centric tasks. We implemented our proposed scheme in the Linux kernel and performed practical evaluations on a commercial SSD. The experimental results showed that the proposed scheme achieved significant enhancement in the launch time of five widely used applications by up to ~65%.
topic NVMe SSD
user experience
multi-queue block I/O layer
url https://www.mdpi.com/2076-3417/10/14/4765
work_keys_str_mv AT seongminkim practicalenhancementofuserexperienceinnvmessds
AT kyusikkim practicalenhancementofuserexperienceinnvmessds
AT heeyoungshin practicalenhancementofuserexperienceinnvmessds
AT taeseokkim practicalenhancementofuserexperienceinnvmessds
_version_ 1724605313566375936