Abstract
Interactive data center applications suffer from the tail latency problem. Since most modern data center applications take the sharded architecture to serve scale-out services, a request comprises multiple sub-requests handled in individual back-end nodes. Depending on the state of each back-end node, a node may issue multiple I/Os for a single sub-request. Since traditional I/O scheduling operates in an application-agnostic manner, it sometimes causes a long latency gap between the responses of sub-requests, thereby delaying the response to end-users. In this paper, we propose a request-aware cooperative I/O scheduling scheme to reduce the tail latency of a database application. Our proposed scheme captures request arrival order at the front-end of an application and exploits it to make a decision for I/O scheduling in individual back-end nodes. We implemented a prototype based on MongoDB and the Linux kernel and evaluated it with a read-intensive scan workload. Experimental results show that our proposed scheme effectively reduces the latency gap between sub-requests, thereby reducing the tail latency.
Original language | English |
---|---|
Publication status | Published - 2017 |
Event | 9th USENIX Workshop on Hot Topics in Storage and File Systems, HotStorage 2017, co-located with USENIX ATC 2017 - Santa Clara, United States Duration: 2017 Jul 10 → 2017 Jul 11 |
Conference
Conference | 9th USENIX Workshop on Hot Topics in Storage and File Systems, HotStorage 2017, co-located with USENIX ATC 2017 |
---|---|
Country/Territory | United States |
City | Santa Clara |
Period | 17/7/10 → 17/7/11 |
Bibliographical note
Funding Information:We would like to thank reviewers for their valuable comments. This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No. NRF-2014R1A2A1A10049626) and by Samsung Electronics. Joonwon Lee is the corresponding author.
Publisher Copyright:
© 2017 USENIX Association. All rights reserved.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture
- Information Systems
- Software
- Computer Networks and Communications