Sto estendendo il kernel di Linux per controllare la frequenza di alcuni thread: quando sono pianificati su un core (qualsiasi core!), La frequenza del core viene modificata scrivendo la corretta p -stato al registro IA32_PERF_CTL
, come suggerito nel manuale di Intel. Tuttavia, quando sono programmati diversi thread con frequenze "personalizzate" diverse, sembra che il throughput di tutto il thread aumenti, come se tutti i core funzionassero alla frequenza massima impostata.Intel MSR ridimensionamento della frequenza per - thread
Ho eseguito molte prove e misurazioni in diverse condizioni di carico e configurazione, ma il risultato è lo stesso. Dopo alcune prove con CPUFreq (senza app in esecuzione, ho impostato frequenze diverse su ogni core, e infine le frequenze misurate, con cpufreq-info -w, erano uguali), mi chiedo se i core della CPU possono in realtà eseguire in diversi , frequenze indipendenti o se esistono criteri o vincoli hardware.
Infine, esiste un modello di CPU che rende fattibile questo ridimensionamento di frequenza a grana fine?
La CPU che sto usando è Intel Core i5 750
I core della CPU non possono funzionare con tensioni diverse, quindi questo limita la capacità di impostare coppie di frequenza/tensione diverse. –
In generale, ciascuna generazione Intel porta una maggiore separazione tra i core e consente un controllo più dettagliato su queste cose. – ugoren