【每周论文】Heracles: Improving Resource Efficiency at Scale

来源:互联网 发布:零基础学大数据靠谱吗 编辑:程序博客网 时间:2024/06/07 13:16

各大公司为了提高自己数据中心的资源利用率,常常将延迟敏感型应用(latency-critical,LC)和其他应用(best-effort,BE)混合运行来提高资源利用率,但是这样常常导致LC应用的服务质量下降。

本文作者提出了Heracles,它通过软件和硬件方面的机制,使不同的任务能够在一台物理机上运行。它能够在保证LC服务性能稳定的情况下,最大限度的将空闲资源给BE作业来使用,并且它使用了实时监控和离线分析来检测干扰源,通过隔离机制来预防干扰的产生。

Heracles会实时监控LC应用的latency,当LC的latency比较小时,可以运行更多的BE;当LC的latency比较大时,则会限制BE来避免干扰。下图是Heracles的整体架构,它会在每一个服务器上都会部署一个服务,来管理本地的LC服务和BE服务。Heracles的主要思想是将LC和BE任务相互干扰的问题当做一个优化的问题,通过分离干扰源来降低优化的复杂度,并将高纬度的问题分解为很多个小的和相互独立的低纬度的小问题。如下图所示,一个大的控制器下面还有三个子控制器,这三个子控制器通过绿色的控制器来协同工作。

这里写图片描述


该工作使用了4种隔离机制来减少干扰的产生,分别是core isolation、LLC isolation、DRAM isolation、power isolation、network traffic isolation

那该工作的缺点就是,它只能保证一台服务器上的一个LC应用,如有其它的LC应用就被当做BE应用来对待了。并且在所有的应用中LC应用的优先级是最高最高的,当LC应用性能出现波动时,马上牺牲BE应用来空出来一部分资源给LC使用,当然当LC应用性能非常好很稳定时,会把一些松弛的资源来最大限度的运行BE应用。

同时也看到了一个在H基础上更进一步发展的工作,它能够保障同一台服务器上的多个LC应用和BE应用同时运行,并且效果还非常好。

是该进一步思考我们下一步工作该怎么做了。

在搜集关于该文章的资料时,看到一篇翻译这篇文章的,作者更多的是使用自己的理解来写的,安利一波Heracles: Improving Resource Efficiency at Scale

阅读全文
0 0
原创粉丝点击