GIFT - A Coupon Based Throttle-and-Reward Mechanism for Fair and Efficient I/O Bandwidth Management on Parallel Storage Systems 论文笔记

Introduction

在并行高性能计算应用中,多个应用带来IO竞争,导致应用之间带宽的不公平分配。GIFT是一个原则上的动态方案,为竞争的应用获得公平性,改善效率。

已经有很多研究从IO吞吐量和公平性角度去缓解IO竞争。但是确保公平性和最大化吞吐量是相互冲突的,在IO竞争下达到平衡很有挑战性。

在并行高性能计算应用中,IO竞争的副作用被同步IO进度增强了。高性能计算应用本身与同步密不可分;在IO阶段,并行计算的MPI进程会等待所有的进程完成IO时,才能继续执行计算任务,这就是同步IO进度。

一个高性能计算应用的MPI进程执行并行IO访问多个后端存储设备。后端存储设备被并发运行程序共享,并且随着时间的推移具有不同程度的共享,因此竞争水平也有所不同。不同级别的IO竞争使不同的MPI进程以不同的速率推进,因此导致非同步的IO进度。而非同步IO进度是共享并行存储系统中效率低下的关键原因,(1)计算节点上的计算周期浪费,以及(2)有效系统IO带宽(即,有助于同步IO进程的带宽)的减少。

由于现有方法无法系统地实现同步IO进度以平衡竞争目标——提高有效的系统IO带宽并提高公平性。所以文章介绍GIFT,这是一种基于优惠券的带宽分配方法,可确保HPC应用程序的同步IO进度,同时最大程度地提高IO带宽利用率并确保并行存储系统上并行应用程序之间的公平性。

GIFT方法总结

(1)放宽公平性窗口:GIFT不使用传统的对每个IO请求的实时公平性,而是确保在多个IO阶段和应用程序运行中保持公平。这是由于观察到高性能计算应用程序在运行过程中具有多个IO阶段并且具有高度重复性,并且在整个运行过程中通常表现出相似的行为。

(2)IO带宽分配的节流和补偿方法:GIFT会时不时地节流某些应用程序的IO带宽,使对IO同步进度无贡献的IO带宽浪费最小化,以尝试改善整体有效的系统IO带宽。此外,放宽公平性窗口使GIFT可以在以后补偿“受限制”的应用程序,以确保公平性。

首先,GIFT以公平的方式为所有竞争的应用程序分配IO带宽,并确保始终在同一应用程序的所有进程之间实现同步IO进度,这一基本设计原理消除了并行存储系统效率低下的关键根源(第3.1节)。然后,GIFT通过识别和限制某些应用程序的IO带宽份额并扩展其他应用程序的IO带宽份额来减少带宽浪费(第3.2节)。为了最大程度地减少IO带宽浪费,GIFT使用基于约束的线性规划来为应用程序最优地分配带宽(第3.4节)。GIFT向受限制的应用程序发放“优惠券”,这些优惠券的价值与节流程度成正比。稍后,GIFT将“以前发行的优惠券”“赎回”到受限制的应用程序中以确保公平(第3.3节)。