Heracles: Improving Resource Efficiency at Scale

这是一篇非常经典的,混部领域解决延迟敏感问题的论文,作者当年还只是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,并且会证明

  1. 多种隔离机制的互相结合,是实现高利用率并且不打破LC服务SLO的关键所在
  2. 将干扰问题细分成几个独立的子问题,能够大大的降低动态控制的复杂性
  3. 为什么一个运行在所有机器上的、实时的监控程序是必须的

第三步,我们来评估一下Heracles在Google内部生产环境能产生多大的收益,测试表明,能够将机器利用率提高到90%左右

最后,我们通过硬件的一些机制来实现DRAM带宽的监控与隔离,进一步提高Heracles的精确性以及降低对离线分析的依赖


Reconciling High Server Utilization and Sub-millisecond Quality-of-Service

论文原址: http://csl.stanford.edu/~christos/publications/2014.mutilate.eurosys.pdf

In this paper, we analyze the challenges of maintaining high QoS for low-latency workloads when sharing servers with other workloads.

The additional workloads can interfere with resources such as processing cores, cache space, memory or I/O bandwidth

The goal of this work is to investigate if workload colocation and good quality-of-service for latency-critical services are fundamentally incompatible in modern systems, or if instead we can reconcile the two