这是一篇非常经典的,混部领域解决延迟敏感问题的论文,作者当年还只是mit的一名博士生,在google实习,heracles 是这个学生毕业论文里的其中一部分
论文原址:https://dl.acm.org/doi/pdf/10.1145/2749469.2749475
这是一个实时的、自反馈的,大规模提升资源利用率的系统
1. 简介
为了解决LC服务和BE作业混部引起的LC服务SLO下降的问题,我们开发了Heracles,一个实时的控制器,能够动态使用硬件隔离机制和软隔离机制,保证共享资源的干扰问题
Heracles能够在保证LC服务足够SLO的情况下,最大限度的将空闲资源用来运行BE作业,同时,结合实时监控和离线分析,自动检测干扰源,并在合适的时机,自动调整隔离机制防御干扰产生
在这里我们分两步走:
第一步,我们首先来研究一些经典案例,最终会抛出一个结论,那就是混部情况下【如无特殊说明,以下混部一律特指LC服务和BE作业】,干扰绝大部分情况下都是不均匀的、但是和负载有较强的相关性,所以,通过静态分区的方式来隔离共享资源是不够的
第二步,然后我们会解释为什么要设计Heracles,并且会证明
- 多种隔离机制的互相结合,是实现高利用率并且不打破LC服务SLO的关键所在
- 将干扰问题细分成几个独立的子问题,能够大大的降低动态控制的复杂性
- 为什么一个运行在所有机器上的、实时的监控程序是必须的
第三步,我们来评估一下Heracles在Google内部生产环境能产生多大的收益,测试表明,能够将机器利用率提高到90%左右
最后,我们通过硬件的一些机制来实现DRAM带宽的监控与隔离,进一步提高Heracles的精确性以及降低对离线分析的依赖