[FAST'21] D2FQ

作者: Jiwon Woo, Minwoo Ahn, Gyusun Lee, Jinkyu Jeong {Sungkyunkwan University}

论文概要

Abstract

  典型的Block I/O调度分为三部:submit-arbitrate-dispatch,占用很高的CPU资源,导致扩展性不强,并且会影响性能。因此,启发了我们将I/O调度的功能卸载给设备。因此三个步骤可以合并为一个步骤,节省CPU资源,并且提升I/O性能。

应该学习一下 三个阶段更精准的描述

  D2FQ暴露weighted round-robin (WRR)。D2FQ将WRR中的三类命令队列抽象为三个具有不同I/O处理速度的队列。然后,对于每一个I/O submission,D2FQ在满足公平性的情况下,立即选择并分发一个I/O请求到三个队列中的一个。这避免了耗时的I/O调度操作,节省CPU周期,提高Block I/O性能。原型在Linux内核中实现,并在各种工作负载下进行评估。在综合负载中,D2FQ在提升了公平性的同时,节约了最多45%的CPU周期(相比于MQFQ)。

Introduction

Background & Motivation

Evacuation

Discussion

我的思考

Last updated

Was this helpful?