In un'epoca in cui i big dell'elettronica (affiancati dai rispettivi Paesi) si stanno sfidando per salire sul trono del produttore del supercomputer più veloce del mondo, sia di tipo tradizionale che quantistico, e in cui si stanno stendendo sotto gli oceani migliaia e migliaia di chilometri di cavi in fibra ottica per trasferire le informazioni in giro per il mondo, c'è un enorme collo di bottiglia ancora da risolvere: l'interfaccia di rete.
I computer presenti all'interno dei data center delle grandi aziende del web, ad esempio, già oggi riescono a macinare dati nell'ordine dei terabyte al secondo. Le moderne connessioni in fibra ottica, se ben dimensionaste, sarebbero in grado di trasportare i dati a questa velocità tra un computer e l'altro permettendo ai due elaboratori di lavorare in parallelo, moltiplicando le prestazioni di un datacenter in cui di computer ce ne sono centinaia e centinaia.
La migliore interfaccia di rete disponibile oggi, però, è molto più lenta: la Gigabit Ethernet, come dice il nome, si ferma a 1 Gigabit e anche facendo lavorare in parallelo più Network Interface Controller (NIC) Gigabit Ethernet il divario di velocità resta elevatissimo (per trasferire 1 terabyte di dati al secondo ci vorrebbero ben 8.000 NIC da 1 gigabit/s che lavorino in parallelo). Per questo il DARPA, cioè la Defense Advanced Research Projects Agency che fa capo al Dipartimento della Difesa degli Stati Uniti (la stessa che ha contribuito a gettare le basi di Internet con ArpaNet), ha lanciato il programma FastNIC.
Cosa è FastNIC
Jonathan Smith, responsabile del programma FastNIC presso il DARPA, spiega chiaramente quale sia il problema da risolvere: "Il vero collo di bottiglia per il throughput del processore è l'interfaccia di rete utilizzata per connettere una macchina a una rete esterna, come una Ethernet, limitando quindi gravemente la capacità di immissione dei dati di un processore". Per risolvere questo problema, spiega Smith, fino ad oggi si è cercato di evolvere il più possibile l'attuale tecnologia Ethernet e questo, paradossalmente, è stato un problema: serve infatti inventare qualcosa di completamente nuovo, dal punto di vista hardware prima e software dopo, perché negli anni il divario tra capacità di calcolo e velocità delle reti si è troppo ampliato. FastNIC, quindi, dovrebbe essere un grande salto tecnologico rispetto alle reti attuali, con un obbiettivo chiaro: aumentare la velocità delle reti di 100 volte.
Una seconda area di ricerca del progetto FastNIC si concentrerà sullo sviluppo del software e delle parti del sistema operativo necessari per gestire le risorse hardware di FastNIC. Per velocità 100 volte superiori a livello di applicazione, il software di sistema deve consentire un trasferimento efficiente e parallelo dei dati tra l'hardware di rete e altri elementi del sistema. I ricercatori di FastNIC lavoreranno per generare librerie di software, tutte open source ed a loro volta compatibili con almeno un sistema operativo open source, utilizzabili da varie applicazioni.
A cosa servirà FastNIC
Potenzialmente FastNIC cambierà il mondo, permettendo comunicazioni veloci non solo tra i computer e i dispositivi mobili degli utenti comuni ma anche, e, inizialmente, soprattutto, all'interno dei datacenter dove centinaia di computer potranno lavorare in parallelo esprimendo, finalmente, tutte le loro potenzialità. Al momento, come spiega lo stesso Smith, esistono due aree di applicazione di particolare interesse: l'apprendimento automatico distribuito e i sensori.
L'apprendimento automatico richiede lo sfruttamento dei cluster – cioè di un gran numero di macchine che lavorano insieme - in modo che tutti i nuclei vengano impiegati per un unico scopo, come ad esempio l'analisi delle immagini per aiutare le auto a guida autonoma a identificare adeguatamente un ostacolo sulla strada. "Ricerche recenti hanno dimostrato che accelerando il supporto di rete, l'intero sistema di apprendimento automatico distribuito può operare più rapidamente. Con l'apprendimento automatico, i metodi generalmente utilizzati prevedono lo spostamento dei dati, il che crea ritardi. Tuttavia, se riesci a spostare i dati più rapidamente tra le macchine, riesci anche ad aumentare le prestazioni complessive", ha affermato Smith.
FastNIC sarà anche utile a migliorare le capacità di calcolo dei dati provenienti da diversi tipi di sensori. Un'applicazione, ad esempio, potrebbe essere il rilevamento di anomalie in una serie temporale di immagini già acquisite e in tempo reale. Questo compito richiede un rapido accesso sia ai dati attuali del sensore sia a quelli già archiviati e FastNIC permetterà a questi dati di circolare più velocemente.