Optimize Unsynchronized Garbage Collection in an SSD Array
Da Zheng, Randal Burns, Alexander S. Szalay

TL;DR
This paper presents a software approach to synchronize garbage collection in SSD arrays by managing I/O queues and flushing policies, significantly improving throughput under heavy random write workloads.
Contribution
It introduces a novel software solution that coordinates garbage collection across SSDs in an array, enhancing utilization and performance during random write operations.
Findings
Up to 62% increase in I/O throughput under heavy workloads.
Effective utilization of SSDs despite asynchronous garbage collection.
Minimal additional data written and improved cache hit rate.
Abstract
Solid state disks (SSDs) have advanced to outperform traditional hard drives significantly in both random reads and writes. However, heavy random writes trigger fre- quent garbage collection and decrease the performance of SSDs. In an SSD array, garbage collection of individ- ual SSDs is not synchronized, leading to underutilization of some of the SSDs. We propose a software solution to tackle the unsyn- chronized garbage collection in an SSD array installed in a host bus adaptor (HBA), where individual SSDs are exposed to an operating system. We maintain a long I/O queue for each SSD and flush dirty pages intelligently to fill the long I/O queues so that we hide the performance imbalance among SSDs even when there are few parallel application writes. We further define a policy of select- ing dirty pages to flush and a policy of taking out stale flush requests to reduce the amount of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Caching and Content Delivery · Parallel Computing and Optimization Techniques
