Kernel AMD PowerNow状态更改操作的延迟是多少?

Kernel AMD PowerNow状态更改操作的延迟是多少?,kernel,Kernel,在低延迟交易应用程序中,我们非常注意延迟问题。有人担心,如果运行应用程序的服务器更改了PowerNow状态,应用程序可能会遇到延迟增加的问题 任何熟悉调用PowerNow更改的内核开发人员,操作使用了多少处理器时间,以及延迟/延迟特征是什么 对于Intel SpeedStep,同样的信息也很有用,但我们实际使用的是PowerNow 谢谢 我怀疑它是否有延迟。PowerNow只是降低了核心频率和核心电压。我不知道它会在短时间内停止CPU,然后在更改后恢复处理。如果更改在运行中发生,处理不会因此中断

在低延迟交易应用程序中,我们非常注意延迟问题。有人担心,如果运行应用程序的服务器更改了PowerNow状态,应用程序可能会遇到延迟增加的问题

任何熟悉调用PowerNow更改的内核开发人员,操作使用了多少处理器时间,以及延迟/延迟特征是什么

对于Intel SpeedStep,同样的信息也很有用,但我们实际使用的是PowerNow


谢谢

我怀疑它是否有延迟。PowerNow只是降低了核心频率和核心电压。我不知道它会在短时间内停止CPU,然后在更改后恢复处理。如果更改在运行中发生,处理不会因此中断

因此,更大的问题可能是您依赖于特定的速度(例如,您假设处理器每秒可以执行那么多操作),但是当核心频率降低时,它将表现为较慢的CPU(每秒更少的操作),并且核心频率不会跳到最大值,仅仅因为CPU不是100%空闲。当CPU认为它需要比当前更多的处理能力时,它会再次跳起来

在Linux上,如果使用Windows运行VMWare,PowerNow可能会导致严重问题。Windows无法正确更新内部时钟,因为它似乎没有检测到PowerNow正在生效(我猜是因为它在虚拟机中运行),而VMWare for Linux也无法正确处理这种情况。因此,只要PowerNow处于活动状态,并且VMWare不时检测到该情况并再次更正时钟,Windows时钟就会落后。到目前为止,情况还不错,但依赖Windows时钟的应用程序会看到这种奇怪的跳转,表现得相当奇怪(例如,我知道的一个广播流软件会在MP3流中跳转,每次时钟重新同步时都会跳过几毫秒)


如果您的应用程序强烈依赖于稳定的程序流,您可能希望完全禁用PowerNow功能。对于Internet无线电流软件,这是解决跳过问题的唯一方法。

Linux内核似乎假定完成PowerNow状态更改操作的上限为五分之一毫秒


不过,我认为比状态更改本身的成本更令人担忧的是,CPU时钟关闭会使应用程序运行变慢,从而增加整体延迟。

在这种情况下,整体延迟不是一个大问题。在正常负载和重负载下,箱子是足够的。有一种非理性的恐惧,即改变状态的过程本身会带来延迟。谢谢我们不依赖于保持特定的速度,只是延迟不会下降到一定的程度以下,这是没有问题的,因为我们将箱子的负载保持在5-10%左右。这些低延迟应用程序中没有VMWare。这是硬件上Proliant DL585 G2上的RHEL4。谢谢