paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Exploiting Intra-Request Slack to Improve SSD Performance

利用请求内部空隙(intra-request slack)提升 SSD 性能
ASPLOS Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems2017匹配度 0/10 · 该论文研究 SSD 闪存芯片子请求调度与重排序优化,属于存储系统/体系结构方向,与用户的静态分析、形式化验证、浮点程序分析、LLM/Agent 交叉等研究方向完全无关。引用 68 inbox
Nima Elyasi, Mohammad Arjomand, Anand Sivasubramaniam, Mahmut T. Kandemir, Chita R. Das, Myoungsoo Jung
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 Slacker 调度器,利用同一请求内各子请求完成时间差形成的空隙进行重排序,降低 SSD 响应时间。

现代 SSD 控制器通过将数据与请求分散到多个 flash 芯片上来最大化硬件并行度,但由于各子请求队列彼此独立、缺乏全局负载均衡,同一请求的不同子请求会经历不同的等待时间;而宏请求必须等到最慢的子请求完成才算结束,导致提前完成的子请求白等,形成"请求内空隙"(slack)。本文提出并实现了一种面向单颗 flash 芯片子请求的、利用空隙的重排序调度器 Slacker。它位于现代 SSD 请求调度器之下,对每个新到的子请求估计其 slack,并允许它在不显著损害已有子请求响应时间的前提下越过这些子请求优先执行。Slacker 实现简单,硬件开销很小。作者使用 21 个读写特性各异的负载进行评估,结果显示:写密集、读密集与读写均衡负载的响应时间最高提升分别为 19.5%、13% 与 14.5%,平均提升分别为 12%、6.5% 与 8.5%。

问题
SSD 控制器为追求并行度将请求拆分为发往不同 flash 芯片的子请求,但各芯片队列缺乏协调,子请求完成时间差异使提前完成者被迫等待最后的子请求,造成响应时间浪费。
方法
设计并实现 Slacker:一个位于现代 SSD 请求调度器之下的重排序调度器,估计每个到达子请求的 slack,并让 slack 充足的子请求越过已有子请求执行,且几乎不增加硬件成本。
评估
在 21 个读写特性多样的工作负载上,与基线调度相比,写密集、读密集和读写均衡负载的响应时间平均提升 12%、6.5% 和 8.5%,最高分别提升 19.5%、13% 和 14.5%。
原文摘要(Abstract)

With Solid State Disks (SSDs) offering high degrees of parallelism, SSD controllers place data and direct requests to exploit the maximum offered hardware parallelism. In the quest to maximize parallelism and utilization, sub-requests of a request that are directed to different flash chips by the scheduler can experience differential wait times since their individual queues are not coordinated and load balanced at all times. Since the macro request is considered complete only when its last sub-request completes, some of its sub-requests that complete earlier have to necessarily wait for this last sub-request. This paper opens the door to a new class of schedulers to leverage such slack between sub-requests in order to improve response times. Specifically, the paper presents the design and implementation of a slack-enabled re-ordering scheduler, called Slacker, for sub-requests issued to each flash chip. Layered under a modern SSD request scheduler, Slacker estimates the slack of each incoming sub-request to a flash chip and allows them to jump ahead of existing sub-requests with sufficient slack so as to not detrimentally impact their response times. Slacker is simple to implement and imposes only marginal additions to the hardware. Using a spectrum of 21 workloads with diverse read-write characteristics, we show that Slacker provides as much as 19.5%, 13% and 14.5% improvement in response times, with average improvements of 12%, 6.5% and 8.5%, for write-intensive, read-intensive and read-write balanced workloads, respectively.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{ElyasiASKDJ17,
  title = {Exploiting Intra-Request Slack to Improve SSD Performance},
  author = {Nima Elyasi and Mohammad Arjomand and Anand Sivasubramaniam and Mahmut T. Kandemir and Chita R. Das and Myoungsoo Jung},
  booktitle = {ASPLOS},
  year = {2017},
  doi = {10.1145/3037697.3037728}
}