Abstract
- 确定了对CPU utilization的不准确测量是如何影响OS的几个关键方面的
- 这篇文章提出来了一个比CPU utilization更准确的性能评估指标
In this paper, we identify how an inaccurate measurement of the CPU utilization affects several key aspects of the system such as OS statistics or the charging mechanism in data centers.
We propose a new hardware CPU accounting mechanism to improve the accuracy when measuring the CPU utilization in CMPs and compare it with the previous accounting mechanisms.
Question
作者在后文中举例:在锁定一个固定的,排除了 “OS noise” 的核上运行SPEC CPU 2,000 benchmark 171.swim, it completes its execution in 117 seconds. when swim runs together with other applications in the same core, its real execution time increases up to 4x due to task switches forced by the OS. (cache data eviction or process switch)
所以似乎是指对于一个固定的计算系统对于同一workload所花的计算时间大致相同。
Tricks
- We move all the OS activity to the first core, leaving the other cores as isolated as possible from “OS noise.”
Points
- processors with shared on-chip resources, such as CMPs 会因为其他正在运行的任务而导致不同的性能、时间和方差
- processors with shared on-chip resources, such as CMPs 由于空间上的cache共享而使得 the time spent running on the CPU 这种衡量方式不准确
QA
- What is the CPU Accounting Problem they are addressing?
The Classical Approach(CA) has been proved to work well for single-threaded uniprocessor and SMP systems, as the amount of hardware resources spatially shared is limited.
However, processors with shared on-chip resources, such as CMPs , make CPU accounting more complex because the progress of an application depends on the activity of the other applications running at the same time.
The inaccuracy measuring per-task CPU utilization may affect several key components of a computing system, such as several commonly used programs (i.e.,top
ortime
) which may not properly account applications’ progress. Finally, CPU accounting can be also used in data centers to charge users (together with other factor such as used amount of memory, disk space, I/O activity, etc.), according to their effective use of the system.
- CPU utilization 在衡量single-threaded uniprocessor and SMP systems性能时表现良好,因为硬件资源在空间上的分享比较有限
- 但它在衡量 共享片上资源 的CPU时就会存在误差
- 这一误差会导致很多工具包括基础软件和计费工具不准确
比如说我这个CPU,可以看到时6个core但是有12个逻辑处理器。
逻辑处理器指的就是支持 超线程 技术的处理器在一个单核心的CPU内,利用其中空闲的执行单元,模拟出另外一个核心,使整个CPU有两个逻辑核心,从而提高整个CPU的 工作效率 。
超线程技术应用的场景下,CPU utilization会导致偏差。一个计算负载,在其他正在运行的进程不同的情况下,也会出现CPU utilization不同的情况。
- What is their solution? Software? Hardware?
- a hardware mechanism, Intertask Conflict-Aware (ITCA) accounting
- cal solution : full share & fair share
- How do they validate their solution?
- What are the strengths and limiations of their solution?
- They did their work on Intel CPU with Hyper-Threading. Did Intel use their solution? Why or why not?
- What did Intel do?
- Do we still have the problem of misleading CPU utilization?