Parallelizing garbage collection with I/O to improve flash resource utilization

Wonil Choi, Myoungsoo Jung, Mahmut Kandemir, Chita Das

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

Garbage Collection (GC) has been a critical optimization target for improving the performance of flash-based Solid State Drives (SSDs); the long-lasting GC process occupies the flash resources, thereby blocking normal I/O requests and increasing response times. This is a well-documented problem, and a wide range of prior works successfully hide the negative impact of GC on the I/O response times. In this paper, however, we unveil another serious side-effect of GC, called the plane under-utilization problem. More specifically, while a plane is busy doing GC, the other plane(s) in the same die remain idle, as all the planes in a die share a single command and address path that is dedicated to the GC. We also note that most of the state-of-the-art proposals attacking the GC impact on I/O response times are not able to resolve the plane under-utilization problem, and in turn, miss a great potential to further improve the SSD performance. Thus, we next propose a scheduling technique, I/O-parallelized GC, which leverages the idle planes during GC to serve the blocked I/O requests. As a result, flash resources (planes) can be active during the most of GC time and the blocked I/O requests can get serviced quickly, and in turn, an improved SSD performance can be achieved. Using simulation-based evaluations over a wide variety of workloads, we show that the proposed I/O-parallelized GC scheme can improve the response times of the GC-affected I/O requests by 83% (reads) and 70% (writes), by increasing the average plane utilization from the (two planes-per-die) baseline 50% to 74.4% during GC. The I/O-parallelized GC is orthogonal to prior proposals that hide GC overheads; so, they can be combined for further SSD performance improvement.

Original languageEnglish
Title of host publicationHPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing
PublisherAssociation for Computing Machinery, Inc
Pages243-254
Number of pages12
ISBN (Electronic)9781450357852
DOIs
Publication statusPublished - 2018 Jun 11
Event27th ACM International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2018 - Tempe, United States
Duration: 2018 Jun 112018 Jun 15

Publication series

NameHPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing

Other

Other27th ACM International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2018
CountryUnited States
CityTempe
Period18/6/1118/6/15

Fingerprint

Flash-based SSDs
Scheduling

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Software

Cite this

Choi, W., Jung, M., Kandemir, M., & Das, C. (2018). Parallelizing garbage collection with I/O to improve flash resource utilization. In HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing (pp. 243-254). (HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing). Association for Computing Machinery, Inc. https://doi.org/10.1145/3208040.3208048
Choi, Wonil ; Jung, Myoungsoo ; Kandemir, Mahmut ; Das, Chita. / Parallelizing garbage collection with I/O to improve flash resource utilization. HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing. Association for Computing Machinery, Inc, 2018. pp. 243-254 (HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing).
@inproceedings{c22c56fe04584edf98f715c9ed4f499b,
title = "Parallelizing garbage collection with I/O to improve flash resource utilization",
abstract = "Garbage Collection (GC) has been a critical optimization target for improving the performance of flash-based Solid State Drives (SSDs); the long-lasting GC process occupies the flash resources, thereby blocking normal I/O requests and increasing response times. This is a well-documented problem, and a wide range of prior works successfully hide the negative impact of GC on the I/O response times. In this paper, however, we unveil another serious side-effect of GC, called the plane under-utilization problem. More specifically, while a plane is busy doing GC, the other plane(s) in the same die remain idle, as all the planes in a die share a single command and address path that is dedicated to the GC. We also note that most of the state-of-the-art proposals attacking the GC impact on I/O response times are not able to resolve the plane under-utilization problem, and in turn, miss a great potential to further improve the SSD performance. Thus, we next propose a scheduling technique, I/O-parallelized GC, which leverages the idle planes during GC to serve the blocked I/O requests. As a result, flash resources (planes) can be active during the most of GC time and the blocked I/O requests can get serviced quickly, and in turn, an improved SSD performance can be achieved. Using simulation-based evaluations over a wide variety of workloads, we show that the proposed I/O-parallelized GC scheme can improve the response times of the GC-affected I/O requests by 83{\%} (reads) and 70{\%} (writes), by increasing the average plane utilization from the (two planes-per-die) baseline 50{\%} to 74.4{\%} during GC. The I/O-parallelized GC is orthogonal to prior proposals that hide GC overheads; so, they can be combined for further SSD performance improvement.",
author = "Wonil Choi and Myoungsoo Jung and Mahmut Kandemir and Chita Das",
year = "2018",
month = "6",
day = "11",
doi = "10.1145/3208040.3208048",
language = "English",
series = "HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing",
publisher = "Association for Computing Machinery, Inc",
pages = "243--254",
booktitle = "HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing",

}

Choi, W, Jung, M, Kandemir, M & Das, C 2018, Parallelizing garbage collection with I/O to improve flash resource utilization. in HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing. HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing, Association for Computing Machinery, Inc, pp. 243-254, 27th ACM International Symposium on High-Performance Parallel and Distributed Computing, HPDC 2018, Tempe, United States, 18/6/11. https://doi.org/10.1145/3208040.3208048

Parallelizing garbage collection with I/O to improve flash resource utilization. / Choi, Wonil; Jung, Myoungsoo; Kandemir, Mahmut; Das, Chita.

HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing. Association for Computing Machinery, Inc, 2018. p. 243-254 (HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Parallelizing garbage collection with I/O to improve flash resource utilization

AU - Choi, Wonil

AU - Jung, Myoungsoo

AU - Kandemir, Mahmut

AU - Das, Chita

PY - 2018/6/11

Y1 - 2018/6/11

N2 - Garbage Collection (GC) has been a critical optimization target for improving the performance of flash-based Solid State Drives (SSDs); the long-lasting GC process occupies the flash resources, thereby blocking normal I/O requests and increasing response times. This is a well-documented problem, and a wide range of prior works successfully hide the negative impact of GC on the I/O response times. In this paper, however, we unveil another serious side-effect of GC, called the plane under-utilization problem. More specifically, while a plane is busy doing GC, the other plane(s) in the same die remain idle, as all the planes in a die share a single command and address path that is dedicated to the GC. We also note that most of the state-of-the-art proposals attacking the GC impact on I/O response times are not able to resolve the plane under-utilization problem, and in turn, miss a great potential to further improve the SSD performance. Thus, we next propose a scheduling technique, I/O-parallelized GC, which leverages the idle planes during GC to serve the blocked I/O requests. As a result, flash resources (planes) can be active during the most of GC time and the blocked I/O requests can get serviced quickly, and in turn, an improved SSD performance can be achieved. Using simulation-based evaluations over a wide variety of workloads, we show that the proposed I/O-parallelized GC scheme can improve the response times of the GC-affected I/O requests by 83% (reads) and 70% (writes), by increasing the average plane utilization from the (two planes-per-die) baseline 50% to 74.4% during GC. The I/O-parallelized GC is orthogonal to prior proposals that hide GC overheads; so, they can be combined for further SSD performance improvement.

AB - Garbage Collection (GC) has been a critical optimization target for improving the performance of flash-based Solid State Drives (SSDs); the long-lasting GC process occupies the flash resources, thereby blocking normal I/O requests and increasing response times. This is a well-documented problem, and a wide range of prior works successfully hide the negative impact of GC on the I/O response times. In this paper, however, we unveil another serious side-effect of GC, called the plane under-utilization problem. More specifically, while a plane is busy doing GC, the other plane(s) in the same die remain idle, as all the planes in a die share a single command and address path that is dedicated to the GC. We also note that most of the state-of-the-art proposals attacking the GC impact on I/O response times are not able to resolve the plane under-utilization problem, and in turn, miss a great potential to further improve the SSD performance. Thus, we next propose a scheduling technique, I/O-parallelized GC, which leverages the idle planes during GC to serve the blocked I/O requests. As a result, flash resources (planes) can be active during the most of GC time and the blocked I/O requests can get serviced quickly, and in turn, an improved SSD performance can be achieved. Using simulation-based evaluations over a wide variety of workloads, we show that the proposed I/O-parallelized GC scheme can improve the response times of the GC-affected I/O requests by 83% (reads) and 70% (writes), by increasing the average plane utilization from the (two planes-per-die) baseline 50% to 74.4% during GC. The I/O-parallelized GC is orthogonal to prior proposals that hide GC overheads; so, they can be combined for further SSD performance improvement.

UR - http://www.scopus.com/inward/record.url?scp=85050085372&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85050085372&partnerID=8YFLogxK

U2 - 10.1145/3208040.3208048

DO - 10.1145/3208040.3208048

M3 - Conference contribution

AN - SCOPUS:85050085372

T3 - HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing

SP - 243

EP - 254

BT - HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing

PB - Association for Computing Machinery, Inc

ER -

Choi W, Jung M, Kandemir M, Das C. Parallelizing garbage collection with I/O to improve flash resource utilization. In HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing. Association for Computing Machinery, Inc. 2018. p. 243-254. (HPDC 2018 - Proceedings of the 2018 International Symposium on High-Performance Parallel and Distributed Computing). https://doi.org/10.1145/3208040.3208048