摘要:伴随着云计算的发展, 以及软件即服务(SaaS)、方法即服务(FaaS)等服务框架的提出, 数据中心作为服务的提供商, 面临着持续性的资源管理挑战: 一方面需要保证服务质量(quality of service, QoS), 另一方面又需要控制资源成本. 为了在提升资源使用率的同时确保负载压力在可承受范围内波动, 一种精确衡量当前算力消耗程度的方法成为关键性的研究问题. 传统的评估指标CPU利用率, 由于虚拟化技术的成熟以及并行技术的发展, 无法应对资源竞争所产生的干扰, 失去了评估精度. 而当前数据中心的主流处理器基本都开启了超线程技术, 这导致评估超线程处理器算力消耗程度的需求亟待解决. 为了应对这一评估挑战, 基于超线程机制的理解以及线程行为的建模, 提出一种评估超线程处理器算力消耗的方法APU. 同时考虑到不同权限的用户能访问的系统层级不同, 还提出了两种实现方案: 一种基于硬件层支持的实现, 以及一种基于操作系统层支持的实现. APU方法利用传统CPU利用率指标作为输入, 没有其他维度的需求, 免去了新监测工具的开发部署代价, 也无需特殊硬件体系结构的支持, 确保该方法的通用性和易用性. 最后通过SPEC基准测试程序进一步证明该方法提升了算力评估的精度, 分别将3种基准程序运行情况的算力评估误差从原先的20%, 50%, 以及20%下降至5%以内. 为了进一步证明APU的实际应用能力, 将其运用在了字节跳动的集群中, 在案例研究中展示了它的应用效果.