固態硬碟是當前主流的儲存裝置,而在多進程系統中,公平資源分配是一件需要考慮的事情。現有的公平調度器都設計再主機端,然而程序公平性卻有可能會因為固態硬碟觸發垃圾回收而被破壞。我們發現現有的主機公平調度器並沒有考量到垃圾回收帶來的負擔,並導致太慢處理硬碟的資源再分配。這篇論文考量將公平性延伸到儲存裝置內部,並設計一個讓程序不會承擔太多額外的垃圾回收負擔。另外為了讓主機端的調度器能夠及時針對垃圾回收有所反應,我們讓固態硬碟主動告知主機一些資訊,以便讓主機調度器能夠正確分配硬碟資源給各個程序。實驗結果顯示,所設計的機制可以再達到公平性的同時也增加吞吐量。
Solid-state disk (SSD) drives are the mainstream solutions for massive data storage today. For modern computer systems, fair resource assignment is a critical design consideration and has drew great interests in recent years. Although there are several fairness I/O schedulers proposed on the host side for SSDs, process fairness could still be dramatically degraded if garbage collection (GC) is triggered in the device side. We found that existing host-side I/O schedulers cannot achieve fairness because they did not consider the GC cost and update the assigned resource with GC cost too late. This paper proposed a novel device side I/O scheduling strategy in SSD controllers to achieve true fairness working with existing I/O schedulers of SSDs. This work is the first to consider fairness down to the device level. The proposed scheduling approach can guarantee that the processes will suffer little GC overhead if the processes barely introduce GCs. Experimental results with a wide range of workloads verify that the proposed technique can achieve fairness as well as improve the throughput significantly.