Esiste una macchina astratta in grado di catturare il consumo energetico?


13

Quando si riporta la complessità algoritmica di un algoritmo, si presume che i calcoli sottostanti vengano eseguiti su una macchina astratta (ad esempio RAM) che si avvicina a una CPU moderna. Tali modelli ci consentono di segnalare la complessità temporale e spaziale degli algoritmi. Ora, con la diffusione delle GPGPU , ci si chiede se ci sono modelli ben noti in cui si può prendere in considerazione anche il consumo di energia.

È noto che le GPU consumano una notevole quantità di energia e alcune istruzioni rientrano in diverse categorie di consumo energetico in base alla loro complessità e posizione sul sofisticato chip. Quindi le istruzioni, da un punto di vista energetico, non hanno un costo unitario (o addirittura fisso). Un'estensione banale sarebbe assegnare pesi ai costi operativi, ma sto cercando un modello potente in cui un'operazione / istruzione potrebbe costare unità di energia non costanti , ad esempio quantità polinomiali (o anche più complesse ad esempio: funzione del tempo trascorso dall'inizio dell'algoritmo; o tenendo conto della probabilità di guasto del sistema di raffreddamento, che surriscalda i chip e rallenta la frequenza di clock, ecc.)

Esistono modelli in cui è possibile incorporare costi e guasti non banali?


Hai motivo di credere che la quantità di energia che i costi delle operazioni elementari sono soggetti a cambiamenti (complessi)? Se sei interessato, conosco un lavoro che analizza il consumo di energia con strumenti teorici.
Raffaello

Risposte:


8

Non esiste ancora un modello consolidato, ma questa è un'area di ricerca attiva in questo momento. Uno degli esperti sul lato degli algoritmi è Kirk Pruhs. I suoi articoli contengono ulteriori informazioni e puoi anche sfogliare questa presentazione .


Non sono d'accordo con il fatto che non esiste ancora un modello stabilito: la maggior parte degli articoli concorda su un modello fisico complicato, si concentrano semplicemente su parti diverse di questo modello fisico. Per le attitudini Kirk si concentra sull'energia dinamica.
Gopi,

Suppongo di voler dire che non esiste un modello di costo computazionale stabilito.
Suresh,

7

Modelli per il consumo di energia

Il ridimensionamento della velocità è uno dei modelli più utilizzati (di recente) quando si considera il consumo di energia. Consiste nella modifica della tensione di alimentazione. Abbassando la tensione di alimentazione o la frequenza di clock del processore, è possibile ottenere importanti riduzioni del consumo di energia; velocità più elevate consentono un'esecuzione più rapida, ma portano anche a un consumo di energia molto più elevato (sopra-lineare).

Più precisamente, un processore che gira a velocità dissipa watt per unità di tempo, quindi consuma joule quando viene utilizzato durante unità di tempo.ss3s3×dd

Tuttavia il ridimensionamento della velocità non è l'unica energia considerata. È quella che viene chiamata energia dinamica . L' energia statica è la potenza dovuta all'accensione del processore. È possibile eliminare questa potenza statica spegnendo il processore durante i tempi di inattività. Tuttavia ha un costo. C'è stato molto lavoro su questo argomento che è molto vicino al problema del noleggio sci .

Di solito il consumo di energia è la somma del consumo di energia statico e dinamico moltiplicato per il tempo di esecuzione. Tuttavia, la maggior parte della carta si concentra su uno di questi problemi.

Presentazione dei difetti in questo modello

Penso che questa sia la parte più sorprendente del modello di ridimensionamento della velocità. Di solito si potrebbe pensare che più velocemente si esegue un'attività, più è probabile che si fallisca l'esecuzione. Al contrario, è stato dimostrato che la riduzione della velocità di un processore aumenta il numero di tassi di guasto transitori del sistema; la probabilità di guasti aumenta esponenzialmente e questa probabilità non può essere trascurata nel calcolo su larga scala.

Intuitivamente, c'è il fatto che maggiore è il tempo che dedichi a un'attività, maggiori sono le probabilità di fallire durante l'esecuzione di tale attività. Comunque c'è di più: Shatz e Wang in questo , hanno affermato che il modello di errore ha seguito una distribuzione di Poisson. Il parametro della distribuzione di Poisson è quindi: \ dove è la velocità di elaborazione compresa in e e dipendono costantemente dal sistema. Se si considera un'attività di peso , eseguita alla velocità , l'affidabilità dell'esecuzione per tale attività èλ

λ(f)=λ0edfmaxffmaxfmin,
f[fmin,fmax]λ0dwfR(f)=eλ(f)×wf .

Questo è un riferimento personale, quindi non so se sia apprezzato qui, tuttavia se sei interessato, puoi trovare maggiori informazioni in questo documento sulla parte dinamica del consumo di energia.


3

Ci sono stati tentativi di analizzare il consumo di energia degli algoritmi in teoria (usando i costi della vita reale per operazione, ovviamente); vedi ad esempio [1]. Mentre i risultati sono abbastanza sorprendenti --- l'algoritmo più veloce non è sempre quello che utilizza la minima energia --- rimangono alcuni ostacoli.

In particolare, le piattaforme moderne disattivano alcune funzionalità in modo tale che i picchi di costo dell'energia operativa quando vengono riaccese. Mentre in linea di principio è possibile incorporare in analisi rigorose, diventa tecnicamente (troppo?) Difficile. Inoltre, l'effetto dei mancati cache sul consumo totale di energia non è stato studiato bene.

Sembra che enormi differenze tra le piattaforme si oppongano a rigorose analisi che non possono (per una volta) non ignorare i dettagli poiché i modelli generali (cioè prima di collegare costanti / funzioni concrete) hanno un significato limitato.


  1. Hannah Bayer e Markus E. Nebel: valutare gli algoritmi in base al loro consumo di energia , calcolabilità in Europa, 2009
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.