Loading...

A Study of Management Policies of Shared Resources in Modern SSDs with Multi-Programming

Mohammad Hassani, Arghavan | 2020

390 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 53186 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Sarbazi Azad, Hamid
  7. Abstract:
  8. Solid State Drives (SSDs) have an electronic architecture based on non-volatile memories. The unique merit of a SSD is its internal parallelism. Thus, adopting SSDs as the storage media in the storage systems in various devices, such as smart phones, personal computers, large workstations, and etc., improves the performance of the device, substantially. However, the conventional host interface protocols in SSDs, i.e. SATA and SAS, have critical limitations, like low bus bandwidth (maximum 12Gbps), and a single shared request queue. With such limitations, the host interface turns into a performance bottleneck in conventional SSDs. Therefore, the high performance provided by such SSDs cannot be, efficiently, utilized.Recently, modern host interface protocols, such as NVMe based on PCIe bus, have addressed the limitations of the conventional protocols by providing multiple request queues at the host side and, nearly, 10x higher bus bandwidth. Using NVMe protocol, the performance of the SSDs improves, remarkably. In SSDs based on NVMe protocol, i.e. multi-queue SSDs (MQSSDs), there is a direct communication between the host and the SSD with no bus adapters required. Additionally, distinct request queues are allocated to different processor cores which eliminates the overhead of synchronization among the cores. It is, also, possible to allocate distinct request queues to different programs which reduces the contention at the host side among these workload to the minimum.Although using NVMe protocol reduces the contention at the host side, requests of different workloads may encounter contention when accessing the shared resources at the SSD side, such as cached mapping table in the front-end and channels and memory packages in the back-end. Thus, when running workloads together, the management policies of shared resources in MQSSDs have a critical impact on the performance of the workloads and fairness among them. In this project, we studied the management policies of shared resources by, carefully, designing workloads using the uNVMe_Micron library. These policies are dependent on the internal architecture of the MQSSDs and various methods are adopted to design it which are not revealed by the vendors. Therefore, prior to the study of the management policies, proper workloads are designed, using uNVMe_Micron, to study the internal architecture of the MQSSDs and uncover some important internal characteristics.Results of the experiments, for studying how shared resources are managed, have shown that characteristics of the workloads, mapping, and scheduling policy affect the performance of the workloads and the fairness among them, when running together. Based on these results, running workloads with different characteristics together, may improve or slowdown the performance of them and increase or decrease the fairness among them
  9. Keywords:
  10. Solid State Disk Drive ; Performance ; Fairness ; Shared Resources Management ; Cached Mapping Table

 Digital Object List

 Bookmark

No TOC