论文阅读

[SysML/cloud] Alita: Comprehensi

2021-07-21  本文已影响0人  sagfugetabf

2021-07-21
SC'20: Alita: Comprehensive Performance Isolation through Bias Resource Management for Public Clouds
作者背景:上交cs+阿里

简评:真实环境的工作,一般环境可遇不可求。


abs:

在公有云的环境中,多用户共享资源,但是一个用户过量使用共享的总线,last level cache (LLC),内存带宽,甚至电量,都会对节点上的其他用户产生影响。为了解决这种不公平的问题,本文提出一个运行时系统,包括定位器和消除器。通过监控硬件系统和系统级别的数据,定位问题源头。消除器限制问题源头的资源使用,bus lock sparsification, bias LLC/bandwidth isolation, and selective power throttling 。在3w节点的真实环境中,有很好的结果,提升了虚拟机的性能。

1. intro

公有云中应用复杂,大家通过租用虚拟机来工作。虽然虚拟机占用的cores和内存资源是隔离好的,但是用户对其他资源的过分使用也会对其他用户产生很大的性能影响,如bus lock sparsification, bias LLC/bandwidth isolation, and selective power throttling。


多种资源共享

但是这个三类问题,都可以通过特定的技术来解决,比如 LLC/memory bandwidth can be allocated using cache allocation technology(CAT) and memory bandwidth allocation (MBA) [26] and CPU-level power can be adjusted using RAPL。但是如果contention不大的时候,这样显示的划分会导致整个系统性能下降。而且目前对bus locks问题没有很好的解决方案。

这个课题的三大难点

  1. 定位出问题的源头,因为用户不会开放上层的数据,系统需要根据low-level数据来做判断
    2.bus locks这种资源没办法很好的做隔离
  2. 对于可隔离的资源,如何根据当前情况进行划分也是一个难题。

Alita这个系统,进行全局的生产系统运行时监控。 Alita is deployed on each node of a system to manage all shared resources in each node。部署在系统环境的每一台节点上,监控每个core的底层数据信息。单核的信息汇聚成虚拟机的信息。

本文贡献:

  1. 全面调研了各种性能干扰
  2. 系统级别的方法诊断和消除interference
  3. 真实环境部署

2. 相关工作

目前有大量关于管理内存的工作。私有环境中,DC管理者可以拿到所有数据。
安全领域,人们研究了基于资源共享的攻击,Dos攻击的方式被本文系统认为是本文研究情况的的极端case,这些攻击工作和本文的工作相互补充。

3. 性能干扰的调研

本文用三个软件制造特定的问题,workloads来自于Parsec benchmark suite [16] and Tailbench [31]

3.1 Memory Bus Lock Contention

自己写的阻塞代码,主要通过 sync_fetch_and_add来实现

3.2 LLC/Bandwidth Contention

使用Cachebench来在短时间产生大的cache,
严格的带宽分配会造成更差的结果

3.3 Power Contention

当某个cpu核的耗电达到阈值,节点上其他所有cpu核都会降速

3.4 挑战

1.不需要prior-knowledge就能定位问题
2.没有隔离memory bus的接口

  1. 没有监控单核power的接口

4. METHODOLOGY OF ALITA

系统架构图

现在大多数硬件上都有一个叫performance monitoring unit (PMU) 可以监控elapsed cycles,cache hits,cache miss等,Alita利用PMU的数据找出问题的发生位置,通过PMU记录的cpu温度来判断power的使用情况,
问题2可以通过Linux kernel (version 5.7) introduced a patch for detecting and handling split locks [13]来解决。

5. ONLINE INTERFERENCE IDENTIFICATION

对三类故障鉴别的建模

6. ADAPTIVE INTERFERENCE ELIMINATION

对消除故障的建模

7. 实验结果

7.1 实验环境
a server with two Intel Xeon Platinum 8163 CPUs
多核服务器,
分别测试了三种故障的检测效果,差距还是很明显的。

在30,000 nodes真实环境中也部署了,

8. conclusion

整个工作的思路和流程是可实现and有效果的,如果硬件支持对更多数据的采集,利用这套工具可以对整个系统进行更细粒度的管理。


不过没看到AI的部分啊,为什么被划分到 SESSION: AI for IT部分?

上一篇下一篇

猜你喜欢

热点阅读