第19届USENIX网络系统设计与实现专题讨论会NSDI 2022(Symposium on Network System Design and Implementation)于4月4日-6日举行。NSDI 是计算机网络顶级会议、CCF A类会议,由USENIX组织,侧重于网络和分布式系统的设计原则、实施和应用评估,目标是聚集网络、系统社区的研究人员,以跨学科、合作等方式应对重叠的研究挑战。
会议概览
本届大会的主题丰富,主要涵盖:
NSDI’22 共收录78篇论文,其中中国内地11篇,共分为20个Track:
热点论文解读
Cluster Resource Management是实现整体系统高效率、可扩展性和可用性的有效技术,近年来一直是NSDI的关注热点。谷歌、亚马逊、阿里、腾讯等科技巨头以及UC伯克利、多伦多大学等国际顶尖名校对该领域持续密切关注。本文选取了Cluster Resource Management主题的3篇文章进行介绍。
1、Efficient Scheduling Policies for Microsecond-Scale Tasks
>研究背景:当前,数据中心运营商为支持微秒级应用程序和实现CPU资源的高效利用,允许多应用程序在同一台服务器上运行,为每个应用程序分配一组专用的内核(core),并随着负载的变化在应用程序之间重新分配。然而,这些系统在延迟和效率之间的权衡策略做得很差。因此,本项目通过模拟比较不同的策略来探索哪种策略可以更好兼顾延迟和效率性能。
>设计方案:
(1)负载均衡策略:a. 单一队列 b. 无负载均衡 c. 排队选择 d. 工作窃取(当一个核空闲时会搜索一个已排队工作的核,然后从该核窃取一半的任务,并将它们移动到自己的队列中) e. 工作减载。
(2)内核分配策略:a. 静态分配 b.每个任务分配 c.基于排队 d.基于CPU的利用率 e. Failure to find work。
>实验结论:工作窃取在负载平衡策略中表现最好,在不同的平均服务时间、服务时间分布、内核数量、内核是动态重新分配还是静态分配,以及任务所需的负载平衡开销等方面稳健性都非常好;主动撤回内核策略而不是等到它们空闲时再将它们转移到另一个应用程序,这使得在短任务中,尤其是在多个内核的情况下,更容易实现良好的效率。对于微秒级短任务,所有核心分配策略都没有静态核心分配(使用相同的负载平衡策略)在获得更好的延迟(中位数或尾数)性能方面表现更好。因此,在短时间内为短任务重新分配内核的主要好处是能够快速适应平均负载的变化。相比之下,当平均任务服务时间长于几微秒或更长时,我们发现即使在平均负载不变的情况下,重新分配内核也会提高性能。
2、A Case for Task Sampling based Learning for Cluster Job Scheduling
>研究背景:在公共云和私有云中,集群通常在多个用户之间共享,以执行不同的job。为了最好地利用集群并确保job也满足其服务级别目标(SLO),高效的作业调度至关重要。由于作业是在线到达的,所以它们的运行时特征是未知的。由于缺乏信息,调度器很难确定运行job的正确顺序。此外,对一些用户来说,按时完成任务很重要,而对另一些用户来说,更快地完成任务或最大限度地减少网络的使用更为重要。不同任务调度目标提出了进一步的挑战。 现有的基于历史的学习机制的有效性主要取决于两个条件:
(1)工作是重复的;
(2) 随着时间的推移,相同或类似工作的表现将保持一致。然而,在实践中,这两个条件往往并不成立。
>设计方案:提出了一种新的基于抽样的学习方法:SLearn-Learning in Space。调度器首先安排一个job中的几个采样任务执行从运行到完成的整个周期,之后使用这些采样任务观察到的运行时属性来准确估计整个job的运行时属性。
> 实验结论:通过对job进行采样来学习job运行时属性,虽然延迟了对剩余任务的调度,但可以通过提高精度得到更大的补偿,从而降低平均工作完成时间。与现有基于历史的预测器相比,降低了1.28至1.56倍平均工作完成时间。将基于抽样的学习扩展到调度DAG作业。测试了基于采样和基于历史的混合方案,与纯基于历史的方案相比,平均工作完成时间降低了1.25倍。
3、Starlight: Fast Container Provisioning on the Edge and over the WAN
>研究背景:边缘计算给容器编排带来了一系列挑战:1. 本地数据中心在上游链路方面面临高延迟、带宽限制、资源受限等挑战,并且通过广域链接将容器镜像从云中的注册表拖到边缘工作节点需要较长时间。2. 用户移动性导致频繁的重新配置。3.边缘数据中心有限的资源意味着在每个边缘放置本地注册表或缓存可能会很昂贵。
>设计方案:Starlight将容器供应机制与容器开发分离,可用于供应基于容器的应用程序的加速器。Starlight保留了容器镜像的分层结构,但在网络上部署它们时使用了不同的表示。开发和操作管道保持不变:用户可以使用现有的容器、工具和注册表。本项目基于Starlight设计了一种worker-cloud部署协议发送所有文件的元数据,允许容器在文件内容可用之前启动,并使用了一种基于推送的方法来避免昂贵的往返请求:worker可以声明他们已经存储的文件,因此只按顺序发送他们需要的文件。在worker端,使用一个新的文件系统在元数据可用时立即装载文件,允许定制Snapshotter插件在后台下载文件内容的同时快速启动容器。当容器打开一个在pending状态文件时,会被阻止直到内容可用为止。worker连接到云中的实现新协议的代理组件。代理可以跨多个层和容器按需优化文件列表和顺序,从而减少重复并加快更新速度,代理与现有的基础设施透明地工作。可搜索的新的压缩格式允许代理将单个压缩文件发送给工作程序,并且向后兼容现有的worker和注册表,因此不需要以两种格式存储容器镜像。
>实验结论:使用21种容器进行的评估表明,Starlight部署和启动容器的速度平均比当前最先进的实现快3.0倍,同时不会产生运行时开销和少量(5%)存储开销。最后,它与现有的worker向后兼容,并使用标准的容器注册表。
4、Best Paper:Graham: Synchronizing Clocks by Leveraging Local Clock Properties
接下来重点介绍今年Best Paper,来自Reliable Distributed Systems这一Track,内容如下:
>研究背景:高性能、强一致性应用需要可扩展的亚微秒级时钟同步。当前,最先进的时钟同步侧重于提高同步的准确性或频率,而忽略了本地时钟的属性,即当失去与远程时钟的连接时则意味着同步失败。
>设计方案:通过了解时钟误差的来源,构建了 Graham利用本地时钟即使在连接丢失时仍能保持时间,并使用本地时钟的特性和所需的同步精度建立故障模型。Graham可以在各种条件下使用商品传感器将时钟频率误差保持在1ppm以下。然而,Graham只是解决方案的一部分--虽然Graham可以保持较长的保持时间,但所保持的同步只会和初始同步一样好。Graham与其他同步机制协同工作,如Huygens、PTP和FaRMv2来维持同步。对NTP的实验表明,Graham可以在失去同步后的10秒内保持1µs ϵ。然而,由于一些原因,可能会发生错过同步的情况。对于Huygens来说,系统上可能出现大量的CPU负载,导致SVM处理延迟,在PTP和FaRMv2中,同步信息可能被错过,导致时间的不确定性增加。利用对Graham的1µs保持结果,可以将PTP的标准1s同步频率降低到3s,并容忍2个丢失的同步信息。Graham还旨在通过使商品服务器、台式机甚至SoC都能获得稳定的时钟而不需要增加专门的硬件来实现精确时间的民主化。这些设备上采用精确时间的障碍之一是不稳定的时钟,这是由首先测量时钟漂移的挑战所造成的。尽管硬件时钟相对稳定,但软件噪音会给人一种时钟在快速漂移的错觉。不幸的是,如果没有专门的硬件,漂移是由软件本身来测量的,这进一步加剧了问题的严重性。通过描述时钟的特征。Graham使应用程序能够信任硬件,而不是依赖嘈杂的软件测量。
>实验结论:Graham 使用几乎每台服务器中的商品传感器来表征本地时钟,并利用这些数据进一步提高时钟精度,增加 Graham 对故障的容忍度。Graham 将商用服务器的时钟漂移降低了多达 2000 倍,将大多数情况下的最大假设漂移从 200ppm 降低到 100ppb。(作者北邮信息与通信工程在读博士唐琴琴)
相关介绍
NSDI 2023
第20届USENIX NSDI 2023 于美东时间2023年4月17日至19日在美国马萨诸塞州波士顿市举行。
会议链接:
NSDI’23:https://www.usenix.org/conference/nsdi23