Credito:NSLAB presso il KTH Royal Institute of Technology
Con la fine della legge di Moore, i sistemi di storage si stanno rivolgendo ad acceleratori hardware come gli FPGA per scaricare le attività ad alta intensità di elaborazione dalla CPU. Tuttavia, il provisioning di questi acceleratori ha un prezzo elevato.
I ricercatori del KTH Royal Institute of Technology e di altre tre università hanno scoperto che esiste un modo alternativo per scaricare l'informatica senza effettuare tali investimenti. A quanto pare, le schede di interfaccia di rete (NIC) di consumo che supportano RDMA, una funzionalità che consente la lettura/scrittura diretta della memoria del server, sono complete di Turing. Ciò significa che sono abbastanza potenti da eseguire qualsiasi calcolo arbitrario piuttosto che semplicemente inviare e ricevere pacchetti. In altre parole, queste NIC possono essere efficacemente convertite in processori più piccoli per alleggerire le attività di elaborazione, riducendo il carico sulle CPU del server. Inoltre, questo può anche ridurre il consumo di energia poiché le schede di rete utilizzano chip a bassa potenza.
Secondo il documento, che è stato pubblicato all'NSDI 2022 in primavera, tali scaricamenti possono essere eseguiti senza alcuna modifica hardware a queste schede di rete. Per fare ciò, gli autori hanno creato un framework chiamato RedN che combina insieme operazioni RDMA (che eseguono letture/scritture di memoria) per esprimere costrutti più sofisticati, come istruzioni condizionali e persino loop.
"La cosa interessante di questa scoperta è che le schede di rete RDMA sono merce, quindi sono molto più accessibili per gli scaricamenti", afferma Waleed Reda, l'autore principale di questo articolo e ricercatore presso KTH. "In quanto tale, il potenziale di impatto è molto più elevato poiché ci sono milioni di questi dispositivi già implementati nei data center di oggi".
Evoluzione dello standard RDMA
"RedN dovrebbe rendere più facile per i ricercatori sperimentare gli scaricamenti NIC e contribuire ad accelerare l'innovazione in questo settore", afferma Waleed. "Inoltre, a seconda di come le persone utilizzano RedN, credo che il nostro framework possa creare una trazione sufficiente per spingere per modifiche allo standard RDMA stesso, per aggiungere forse operazioni RDMA più avanzate che migliorano l'efficienza dell'offload".
Il documento ha valutato i vantaggi di RedN, dimostrando che può scaricare completamente le operazioni GET per un popolare archivio chiave-valore chiamato Memcached, riducendo i cicli della CPU e migliorando la latenza fino a 2,6x e 35x in impostazioni con carico leggero e carico pesante, rispettivamente.
Qual è il prossimo passo?
"Questo lavoro apre molte opportunità per la ricerca di follow-up. Il nostro documento si è concentrato principalmente sull'offload di attività di archiviazione comuni come l'accesso a tabelle hash remote per Memcached. Tuttavia, ci sono molte altre potenziali applicazioni che possono essere prese di mira, comprese le transazioni di database, l'apprendimento automatico distribuito e molti altri", afferma Waleed.
"Oltre a ciò, stiamo anche esaminando l'automazione della generazione di codice RDMA per rendere più semplice l'utilizzo di RedN da parte degli sviluppatori", aggiunge. "In futuro, potremmo scegliere di creare un compilatore che converta un linguaggio simile al C in codice RDMA eseguibile per ridurre ulteriormente i tempi di sviluppo".
Il progetto RedN è stato reso disponibile come open source per facilitare ulteriori ricerche e sperimentazioni utilizzando questo framework. RedN è stato in parte sostenuto dal progetto ERC ULTRA. + Esplora ulteriormente