Cloud: le potenzialità dei chip riprogrammabili

I chip riprogrammabili, field programmable gate arrays (FPGA), promettono di rivoluzionare Azure abbattendo i tempi di latenza e velocizzando i network

FPGA, prima versione del chip riprogrammabile Microsoft

Prototipo FPGA Microsoft

Nella prima giornata del Microsoft Ignite 2016 si è parlato anche di field programmable gate arrays (FPGA), dei chip riconfigurabili via software in grado di svolgere in maniera più efficace alcune task affidate a processori x86. L’ingegnere Doug Burger ha mostrato sul palco della conferenza le potenzialità dei FPGA utilizzandone contemporaneamente più di un migliaio per la traduzione di circa 3 miliardi di parole da Wikipedia.com: l’intero set di dati è stato processato in un decimo di secondo grazie ad una potenza di calcolo stimata nell’ordine del miliardo di miliardi d’operazioni al secondo (10^18).

Project Catapult è il nome del progetto che ha dato il via allo studio ed alla realizzazione dei primi FPGA. Il motore di ricerca Bing fu il primo a sperimentarli sul campo. Il team di ingegneri assegnò agli FPGA l’esecuzione di alcuni algoritmi di ranking ottenendo risultati sorprendenti – una velocità fino a 40 volte maggiore rispetto ad un’implementazione software affidata ad una classica CPU. A fronte dei positivi risultati ottenuti, Microsoft pensò di estendere l’utilizzo dei FGPA anche ad Azure ed Office365. Nel caso della nota piattaforma cloud non si trattava tuttavia di gestire algoritmi quanto di “domare” il traffico di rete.

Chip riprogrammabili e traffico di rete

E’ stato lo stesso Mark Russinovich (CTO Azure) a spiegare meglio le problematiche di Azure. Utilizzando una soluzione molto simile all’hypervisor Hyper-V, Microsoft gestisce un elevato numero di macchine virtuali, ciascuna delle quali si appoggia ad uno o più  adattatori di rete virtuali per l’invio e la ricezione del traffico – gli adattatori di rete fisici, connessi all’infrastruttura di rete Azure, sono invece gestiti dall’hypervisor. Gli imprevisti insorgono in occasione di elevati flussi di traffico (diversi gigabyte al secondo): se in condizioni normali l’invio e la ricezione del traffico, unitamente all’applicazione delle regole di load balancing e traffic routing, sono tranquillamente gestibili dalla CPU, in scenari di lavoro critici il processore non riesce ad occuparsi contemporaneamente delle reti e dell’hypervisor.

Per superare il collo di bottiglia rappresentato dalla CPU, gli ingegneri  hanno pensato di affidare i workload di rete ai FPGA. L’implementazione non è stata però immediata: il team disponeva infatti dei soli dati provenienti dal caso di utilizzo Bing, una situazione completamente differente da quella Azure. I chip riprogrammabili hanno necessitato di una connessione diretta all’infrastruttura di rete Azure per essere finalmente utilizzabili per l’invio – ricezione del traffico – i FPGA sono connessi ai server via PCI express, interfaccia condivisa con le VM le quali sono così in grado di appoggiarsi a questi ultimi bypassando l’interfaccia di rete del sistema host. Ancora una volta i risultati sono stati molto buoni: secondo quando affermato da Russinovich, le VM Azure possono gestire fino a 25 gigabyte al secondo di traffico con una latenza nell’ordine dei 100 microsecondi (10 volte meglio dei valori precedentemente ottenuti e senza richiedere l’intervento della CPU host).

La flessibilità dei FPGA è stata più volte sottolineata dal CTO: un risultato simile, ha aggiunto, sarebbe stato probabilmente raggiungibile da una scheda di rete d’altissimo livello ma non avrebbe comunque offerto la stessa adattabilità dei FPGA. Una scheda di rete può essere assegnata infatti ad un limitato numero di VM e non può gestire internamente le regole di load balancing e traffic routing – che restano quindi a carico della CPU host.

Dal traffico di rete a…

I FPGA hanno indubbiamente elevate potenzialità. Microsoft ne è sicuramente cosciente ed intende sfruttarli al meglio (l’intenzione è quella di impiegarli in tutti  data center della compagnia). Tenendo conto delle “forza bruta” mostrata sul palco dell’Ignite, il loro impiego in altri ambiti particolarmente esigenti in termini di capacità computazionale (machine learning ad esempio) è probabilmente dietro l’angolo. Sul medio termine i FPGA ed il cloud potrebbero offrire prestazioni persino superiori a quelle dei supercomputer, ipotizzano alcuni giornalisti, rendendo disponibili “on demand” risorse fino ad oggi accessibili solo ad enti governativi ed istituti di ricerca.

 

 

 

 

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *