• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • Il modello analitico prevede esattamente quanto un pezzo di hardware accelererà i data center

    Accelerazione stimata dall'accelerometro per le spese generali chiave identificate dai ricercatori. Credito:Università del Michigan

    I servizi software su larga scala combattono la battaglia dell'efficienza su due fronti:software efficiente che è flessibile alle mutevoli esigenze dei consumatori, ed hardware efficiente in grado di mantenere questi enormi servizi in esecuzione rapidamente anche a fronte di rendimenti decrescenti dalle CPU. Insieme, questi fattori determinano sia la qualità dell'esperienza dell'utente che le prestazioni, costo, e l'efficienza energetica dei moderni data center.

    Un cambiamento su un fronte richiede aggiustamenti sull'altro, e una nuova architettura software in crescente popolarità ha posto una sfida alle soluzioni hardware presenti nella maggior parte dei data center. Chiamati microservizi, questo approccio modulare alla progettazione di software per grandi aziende ha lasciato a desiderare nelle sue interazioni con un'altra importante forza in aumento nell'efficienza dei data center, acceleratori hardware.

    Per riunire in modo più efficace queste due promettenti tecnologie, Dottorato CSE studente Akshitha Sriraman, lavorare con i ricercatori di Facebook, ha progettato un modo per misurare esattamente quanto un acceleratore hardware accelererebbe un datacenter. Accelerometro opportunamente chiamato, il modello analitico può essere applicato nelle prime fasi della progettazione di un acceleratore per prevederne l'efficacia prima che venga installato.

    Ancora una tecnologia in qualche modo nuova nell'uso generale dell'informatica, l'efficacia degli acceleratori hardware non è facile da prevedere come le CPU, che hanno decenni di esperienza alle spalle. Investire in questo tipo di hardware personalizzato diversificato presenta un rischio su vasta scala, poiché potrebbe non essere all'altezza delle sue aspettative.

    Ma il potenziale per un grande impatto c'è. Progettato per eseguire un tipo di funzione in modo estremamente rapido, gli acceleratori potrebbero teoricamente essere chiamati per tutti i ridondanti, compiti ripetitivi usati in comune da applicazioni più grandi.

    Ciò include i microservizi. Questo approccio all'architettura software concepisce un'applicazione più ampia come una raccolta di moduli modulari, servizi specifici per attività che possono essere migliorati singolarmente. Ciò consente di apportare modifiche all'applicazione più grande senza dover modificare un enorme, base di codice centrale. Consente inoltre di aggiungere più servizi più facilmente.

    Sriraman ha dimostrato che solo il 18% dei cicli CPU della maggior parte dei microservizi viene impiegato per l'esecuzione di istruzioni fondamentali per la loro funzionalità. Il restante 82% viene speso per operazioni comuni che sono mature per l'accelerazione.

    "Accelerare questi costi generali che abbiamo identificato può effettivamente migliorare la velocità in misura significativa, " dice Sriraman. Oltre la velocità, renderebbe tutte le funzioni del datacenter più economiche e più efficienti dal punto di vista energetico. "L'accelerazione ci consentirà di imballare più lavoro per gli stessi vincoli energetici e migliorare l'utilizzo delle risorse su larga scala, quindi l'energia del data center e i risparmi sui costi miglioreranno notevolmente."

    La presentazione di Akshitha Sriraman ad ASPLOS 2020 è stata consegnata virtualmente. Credito:Università del Michigan

    Il problema con i microservizi è che i loro progetti possono rivelarsi piuttosto dissimili, in particolare per quanto riguarda il modo in cui interagiscono con l'hardware. Per esempio, un microservizio può comunicare con un acceleratore continuando a eseguire altre istruzioni su una CPU, oppure potrebbe arrestare tutte le sue funzioni mentre scarica sull'acceleratore. Entrambi questi casi affrontano diversi "overhead di offload" (il tempo impiegato per inviare un'attività da un processore a un altro), che diventa tempo perso per il datacenter se non viene contabilizzato.

    "Ognuna di queste scelte di progettazione del software può comportare diversi costi generali che influiscono sull'accelerazione complessiva dall'accelerazione, " dice Sriraman. Questo sovraccarico è stato lasciato fuori dal quadro nel lavoro precedente, lei continua, così come l'impatto delle diverse progettazioni di microservizi sulle prestazioni.

    Inoltre, gli stessi acceleratori devono essere usati con giudizio per avere un effetto netto positivo.

    "Lanciare un acceleratore ad ogni problema è ridicolo perché ci vuole molto tempo, costo, e sforzo per costruire, test, e distribuire ciascuno, " conclude. "C'è un reale bisogno di capire con precisione cosa e come accelerare".

    L'accelerometro è un modello analitico che misura esattamente quanto le prestazioni verrebbero migliorate installando un determinato processore, se non del tutto, tenendo conto di tutte queste sfumature. Ciò significa che misura l'effetto positivo dell'accelerazione e l'effetto negativo del tempo impiegato a mischiare le istruzioni tra i componenti di elaborazione. E le sue capacità non si limitano ai nuovi acceleratori:il modello può essere applicato a qualsiasi tipo di hardware, che vanno da una semplice ottimizzazione della CPU a un ASIC remoto estremamente specializzato.

    Lo strumento è stato convalidato nell'ambiente di produzione di Facebook utilizzando tre casi di studio retrospettivi, dimostrando che le sue stime di accelerazione reale hanno un errore inferiore al 3,7%.

    Il modello è sufficientemente accurato da essere già utilizzato da Facebook, con precoce interesse da parte di altre società.

    "Abbiamo ricevuto la notizia che molti dei grandi player del cloud hanno iniziato a utilizzare l'accelerometro per scartare rapidamente le scelte sbagliate dell'acceleratore e identificare quelle buone, per effettuare investimenti hardware ben informati, " dice Sriraman. Facebook sta usando il modello per esplorare nuovi acceleratori, incorporandolo come primo passo per risolvere rapidamente le scelte hardware buone e cattive.

    Questo progetto, intitolato "Accelerometer:Understanding Acceleration Opportunities for Data Center Overheads at Hyperscale, " è stato accettato dalla Conferenza 2020 Architectural Support for Programming Languages ​​and Operating Systems (ASPLOS) e presentato virtualmente.


    © Scienza https://it.scienceaq.com