| Texto completo | |
| Autor(es): Mostrar menos - |
Tavakkol, Arash
;
Sadrosadati, Mohammad
;
Ghose, Saugata
;
Kim, Jeremie S.
;
Luo, Yixin
;
Wang, Yaohua
;
Ghiasi, Nika Mansouri
;
Orosa, Lois
;
Gomez-Luna, Juan
;
Mutlu, Onur
;
IEEE
Número total de Autores: 11
|
| Tipo de documento: | Artigo Científico |
| Fonte: | 2018 ACM/IEEE 45TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA); v. N/A, p. 14-pg., 2018-01-01. |
| Resumo | |
Modern solid-state drives (SSDs) use new host-interface protocols, such as NVMe, to provide applications with fast access to storage. These new protocols make use of a concept known as the multi-queue SSD (MQ-SSD), where the SSD has direct access to the application-level I/O request queues. This removes most of the OS software stack that was used in older protocols to control how and when the I/O requests were dispatched to storage devices. Unfortunately, while the elimination of the OS software stack leads to a significant performance improvement, we show in this paper that it introduces a new problem: unfairness. This is because the elimination of the OS software stack eliminates the mechanisms that were used to provide fairness among applications in older SSDs. To study application-level unfairness, we perform experiments using four real state-of-the-art MQ-SSDs. We demonstrate that the lack of fair scheduling mechanisms leads to high unfairness among concurrently-executing applications due to the interference among them. For instance, when one of these applications issues many more I/O requests than others, the other applications are slowed down significantly. We perform a comprehensive analysis of interference in real MQ-SSDs, and find four major interference sources: (1) the intensity of requests sent by each application, (2) differences in request access patterns, (3) the ratio of reads to writes, and (4) garbage collection. To alleviate unfairness in MQ-SSDs, we propose the Flash Level INterference-aware scheduler (FLIN). FLIN is a lightweight I/O request scheduling mechanism that provides fairness among requests from different applications. FLIN uses a three-stage scheduling algorithm that protects against all four major sources of interference, while respecting the application-level priorities assigned by the host. FLIN is implemented fully within the SSD controller firmware, requiring no new hardware, and has negligible (<0.06%) storage cost. Compared to a state-of-the-art I/O scheduler, FLIN improves the fairness and performance of a wide range of enterprise and datacenter storage workloads, with an average improvement of 70% and 47%, respectively (AU) | |
| Processo FAPESP: | 16/18929-4 - Técnicas especulativas para reduzir o gargalo do sistema de memória |
| Beneficiário: | Lois Orosa Nogueira |
| Modalidade de apoio: | Bolsas no Exterior - Estágio de Pesquisa - Pós-Doutorado |