Multithreading 如何实现CPU的特定部分(比如80%)并在其上实现平衡

Multithreading 如何实现CPU的特定部分(比如80%)并在其上实现平衡,multithreading,multicore,Multithreading,Multicore,我想知道是否有可能不使用100%的cpu,而是使用特定数量的cpu来运行应用程序。 我看到了这个的不同用法 我们可以更好地平衡并发应用程序(我们可能希望平衡应用程序的50%,以获得公平的应用程序/代理/…) 我还想知道,如果CPU不是全速运行,而是在较低的水平(比如80%)运行,功耗是否会更好 你的想法是什么 谢谢 欢迎举例:)您可以很容易地做到这一点。转到BIOS并将频率降低到所需的百分比,此时,您也可以降低CPU的V核心电压。 在Windows7和WindowsServer2008R2中

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

  • 我们可以更好地平衡并发应用程序(我们可能希望平衡应用程序的50%,以获得公平的应用程序/代理/…)
  • 我还想知道,如果CPU不是全速运行,而是在较低的水平(比如80%)运行,功耗是否会更好
你的想法是什么 谢谢
欢迎举例:)

您可以很容易地做到这一点。转到BIOS并将频率降低到所需的百分比,此时,您也可以降低CPU的V核心电压。
在Windows7和WindowsServer2008R2中。引述:

“Core parking是一项新功能,它根据当前电源策略及其最近的利用率动态选择一组应保持空闲且不运行任何线程的处理器。当调度程序决定运行线程的处理器时,它将尝试执行此选择,从而允许停驻的内核进入深度空闲状态,在这种状态下,它们消耗的电量很少。”

(如果需要一个调度器,它可以降低处理内核的峰值温度,)


*似乎还有一项专利:

您可以很容易地做到这一点。转到您的BIOS并将频率降低到所需的百分比,同时您也可以降低CPU的V核心电压。
在Windows 7和Windows Server 2008 R2中。引用:

“Core parking是一项新功能,它根据当前电源策略及其最近的利用率动态选择一组应保持空闲且不运行任何线程的处理器。当调度程序决定运行线程的处理器时,它将尝试执行此选择,从而允许停驻的内核进入深度空闲状态,在这种状态下,它们消耗的电量很少。”

(如果需要一个调度器,它可以降低处理内核的峰值温度,)


*似乎还有一项专利:

如果CPU本身已经节流,那么如果不全速运行,功耗可能会变得更糟。现在许多CPU支持基于负载的倒计时,以至于如果允许它们睡眠,它们几乎不使用电源。进入睡眠的最佳策略是:令人遗憾的是,要尽快完成任何必要的工作。如果你人为地将速度限制在80%,那么你的CPU醒着的时间就会更长,这将消耗你以较低的时钟速度运行所节省的电量。另一方面,如果你知道CPU无论发生什么事情都会一直很忙,那么它无论如何也不会进入睡眠状态。

The如果CPU本身已经节流,则不全速运行可能会使功耗变得更糟。现在许多CPU支持基于负载的倒计时,如果允许它们睡眠,它们几乎不使用电源。快速进入睡眠的最佳策略是按照qui完成任何必要的工作尽可能地慢。如果你人为地将速度限制在80%,那么你的CPU醒着的时间就会更长,这会消耗你以较低的时钟速度运行所节省的电量。另一方面,如果你知道CPU无论发生什么事情都会一直忙,那么它就永远不会进入睡眠状态。

这项工作属于操作系统,而不是应用程序反倾销


有些操作系统支持分段或控制组、区域或容器。不管它们叫什么,它们都允许对应用程序的资源使用进行限制。

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


有些操作系统支持分段或控制组、区域或容器。无论它们叫什么,它们都允许对应用程序的资源使用进行限制。

有什么首选语言可以让讨论保持下去吗?人们使用许多技术在CPU核之间划分任务。对于限制总负载,我认为最简单的解决方案就是限制应用程序可以使用的内核数量。@alex:C++或C#会很好,但我看不到其他的:)@alexandre:这正是你不能在内核之间平衡工作的一点。有没有更好的语言来保持讨论?有很多人用来划分TA的技术k在CPU内核之间。为了限制总负载,我认为最简单的解决方案就是限制应用程序可以使用的内核数量。@alex:C++或C#会很好,但我看不到其他的:)@alexandre:这正是你不能在内核之间平衡作业的地方。