如何实现cpus的特定分数(比方说80%)并对其进行平衡

时间:2010-04-07 17:28:25

标签: multithreading multicore

我想知道是否有可能以100%的cpu而不是cpu的特定数量运行应用程序。 我看到了不同的用法,

  • 我们可以更好地平衡并发应用程序(我们可能希望平衡应用程序50%以获得公平的应用程序/代理/ ...)
  • 我也想知道如果cpus没有全速运行但是在某个较低的水平(比如说80%)那么功耗会不会更好

你有什么想法? 谢谢 欢迎举例:)

3 个答案:

答案 0 :(得分:1)

你可以随时做到这一点。转到BIOS并将频率降低到所需的百分比,当你在那里时,你也可以降低CPU的V 核心电压。
Windows 7和Windows Server 2008 R2中的Core Parking* seems to be already there。引用:

  

“核心停放是一项新功能,可动态选择一组处理器,这些处理器应保持空闲状态,并且不会根据当前电源策略及其最近的使用情况运行任何线程。调度程序将在决定哪个时选择此选项。处理器运行线程,允许停放的核心进入深度空闲状态,在这些状态下它们消耗很少的功率。“

(如果有人希望调度程序在处理核心时达到较低的峰值温度,it has been done as well, for Linux。)

*似乎也有专利:Power-aware thread scheduling and dynamic use of processors

答案 1 :(得分:1)

如果CPU没有全速运行,则可以使功耗更糟,否则它们已经自行节流。现在很多CPU都支持基于负载的降频,如果他们被允许睡觉,他们几乎不使用电源。快速入睡的最佳策略是尽快完成所需的任何工作。如果你人为地节流到80%,那么你的CPU会更长时间醒着,这将耗费你以更低的时钟速度运行所节省的电力。另一方面,如果你知道CPU无论如何都会一直忙,那么它永远不会被打瞌睡。

答案 2 :(得分:1)

此作业属于操作系统,而不属于应用程序。

某些操作系统支持细分或控制组,或区域或容器。无论他们称之为什么,他们都允许限制应用程序使用资源。