Qual è la latenza in un'operazione di modifica dello stato di AMD PowerNow?

StackOverflow https://stackoverflow.com/questions/157947

  •  03-07-2019
  •  | 
  •  

Domanda

Nelle applicazioni di trading a bassa latenza siamo molto consapevoli dei problemi di latenza. C'è qualche preoccupazione che la nostra applicazione possa riscontrare una latenza maggiore se il server su cui è in esecuzione cambia lo stato di PowerNow.

Qualche sviluppatore del kernel che abbia familiarità con la chiamata di PowerNow cambia e quanto tempo del processore viene utilizzato per l'operazione e quali sono le caratteristiche di latenza / ritardo?

Le stesse informazioni per Intel SpeedStep sarebbero utili ma PowerNow è ciò che effettivamente utilizziamo.

Grazie!

È stato utile?

Soluzione

Il kernel Linux sembra assumere un limite superiore di un quinto di millisecondo per il completamento di un'operazione di modifica dello stato di PowerNow.

Avrei pensato che una preoccupazione maggiore del cambiamento dello stato stesso fosse che il downclocking della CPU avrebbe rallentato l'esecuzione dell'applicazione, aumentando la latenza su tutta la linea.

Altri suggerimenti

Dubito che abbia qualche latenza. PowerNow riduce solo la frequenza e la tensione del core. Non so che fermerà la CPU per un breve periodo per farlo e poi riprenderà l'elaborazione dopo la modifica. AFAIK la modifica avviene al volo, l'elaborazione non viene interrotta per questo.

Pertanto, il problema più grande potrebbe essere che si fa affidamento su una determinata velocità (ad esempio si assume che il processore sia in grado di eseguire molte operazioni al secondo), tuttavia quando la frequenza del core viene ridotta, si comporterà come una CPU più lenta (meno operazioni secondo) e la frequenza principale non salta al massimo solo perché la CPU non è inattiva al 100%. Salterà di nuovo quando la CPU pensa di aver bisogno di più potenza di elaborazione di quella attuale.

Su Linux PowerNow può causare problemi se si esegue VMWare con Windows su di esso. Windows non riesce ad aggiornare correttamente l'orologio interno, in quanto sembra non rilevare che PowerNow è attivo (suppongo perché funziona all'interno di una macchina virtuale) e VMWare per Linux non riesce a gestire correttamente anche la situazione. Quindi l'orologio di Windows rimarrà indietro non appena PowerNow è attivo e ogni tanto VMWare lo rileva e corregge nuovamente l'orologio. Fin qui tutto bene, ma le applicazioni che si affidano all'orologio di Windows vedranno questo strano salto e si comporteranno in modo piuttosto strano (ad esempio un software di streaming radio che conosco salterà all'interno del flusso MP3 e salterà un paio di millisecondi ogni volta che l'orologio viene risincronizzato).

Se l'applicazione dipende fortemente da un flusso di programma costante, è possibile disabilitare completamente la funzione PowerNow. Con il software del flusso radio Internet, questo era l'unico modo per risolvere il problema del salto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top