2008-10-01 32 views
5

在低延遲交易應用程序中,我們非常清楚延遲問題。有人擔心如果運行它的服務器更改PowerNow狀態,我們的應用程序可能會出現延遲增加。AMD PowerNow狀態更改操作的延遲是多少?

任何熟悉調用PowerNow更改的內核開發人員以及該操作使用多少處理器時間以及延遲/延遲特性是什麼樣的?

英特爾SpeedStep的相同信息會很有用,但PowerNow是我們實際使用的。

謝謝!

回答

2

Linux內核似乎假定PowerNow狀態更改操作要完成的上限爲毫秒的五分之一。

我認爲比狀態改變本身的成本更大的擔心雖然會降低CPU會讓你的應用程序運行速度變慢,從而增加整個板卡的延遲。

+0

在這種情況下,全線延遲並不是一個大問題。在正常負載和重負載下,該盒子已經足夠了。有一種非理性的恐懼,即改變國家本身的過程會引起延遲。謝謝! – 2008-10-01 19:29:56

1

我懷疑它有任何延遲。 PowerNow只是降低了核心頻率和核心電壓。我不知道它會在短時間內暫停CPU,然後在更改後恢復處理。 AFAIK變化發生在飛行中,處理不會因此而中斷。因此,更大的問題可能是您依賴於特定的速度(例如,您認爲處理器可以每秒執行多次操作),但是當核心頻率降低時,它將表現得像CPU速度較慢(操作較少)每秒),並且核心頻率不會因爲CPU不是100%空閒而跳到最大值。當CPU認爲它需要比目前更多的處理能力時,它會再次跳起來。

在Linux上PowerNow可能會導致不好的問題,如果您在Windows上運行VMWare。 Windows無法正確更新內部時鐘,因爲它似乎沒有檢測到PowerNow有效(我猜是因爲它在虛擬機內運行),而VMWare for Linux無法正確處理這種情況。因此,只要PowerNow處於活動狀態,Windows時鐘就會落後,每隔一段時間VMWare都會檢測到並重新校正時鐘。到目前爲止,依賴於Windows時鐘的應用程序將看到這種奇怪的跳躍並表現得相當奇怪(例如,我知道的一個廣播流媒體軟件將在MP3流內跳轉,並且每當時鐘重新激活時跳過幾毫秒)。

如果您的應用程序強烈依賴穩定的程序流程,則可能希望完全禁用PowerNow功能。通過互聯網廣播流軟件,這是解決跳過問題的唯一方法。

+0

我們沒有依賴特定的速度來維持,只有這個延遲不會低於一定的數量,這是沒有問題的,因爲我們的箱子保持5-10%的負載。 這些低延遲應用程序中沒有VMWare。這是在硬件上直接連接Proliant DL585 G2的RHEL4。 謝謝! – 2008-10-01 19:38:03