interviste
Doug Fuller, vicepresidente dell'ingegneria del software presso Cornelis Networks – Serie di interviste

In qualità di vicepresidente dell'ingegneria del software, Doug è responsabile di tutti gli aspetti del Reti Cornelis' stack software, inclusi i driver dell'architettura Omni-Path, il software di messaggistica e i sistemi di controllo dei dispositivi incorporati. Prima di entrare a far parte di Cornelis Networks, Doug ha guidato i team di ingegneria del software di Red Hat nel cloud storage e nei servizi dati. La carriera di Doug nell'HPC e nel cloud computing è iniziata presso lo Scalable Computing Laboratory dell'Ames National Laboratory. Dopo diversi ruoli nell'informatica di ricerca universitaria, Doug è entrato a far parte dell'Oak Ridge National Laboratory del Dipartimento dell'Energia degli Stati Uniti nel 2009, dove ha sviluppato e integrato nuove tecnologie presso l'Oak Ridge Leadership Computing Facility di livello mondiale.
Cornelis Networks è un leader tecnologico che fornisce fabric ad alte prestazioni appositamente costruiti per High Performance Computing (HPC), High Performance Data Analytics (HPDA) e Intelligenza Artificiale (AI) alle principali organizzazioni commerciali, scientifiche, accademiche e governative.
Cosa ti ha attratto inizialmente verso l'informatica?
Sembrava che mi piacesse lavorare con la tecnologia. Mi piaceva lavorare con i computer fin da bambino; avevamo un modem a scuola che mi permetteva di provare Internet e lo trovavo interessante. Al primo anno di college, ho incontrato uno scienziato computazionale del Dipartimento dell'Energia degli Stati Uniti (USDOE) mentre facevo volontariato per il National Science Bowl. Mi invitò a visitare il suo laboratorio di calcolo ad alte prestazioni (HPC) e ne rimasi affascinato. Da allora sono un appassionato di supercomputer.
Hai lavorato in Red Hat dal 2015 al 2019, quali sono stati alcuni dei progetti su cui hai lavorato e quali sono stati i punti salienti di questa esperienza?
Il mio progetto principale in Red Hat era lo storage distribuito Ceph. In precedenza mi ero concentrato interamente sull'HPC e questo mi ha dato l'opportunità di lavorare su tecnologie fondamentali per l'infrastruttura cloud. Fa rima. Molti dei principi di scalabilità, gestibilità e affidabilità sono estremamente simili, sebbene siano mirati a risolvere problemi leggermente diversi. In termini di tecnologia, la mia conclusione più importante è stata che cloud e HPC hanno molto da imparare l'uno dall'altro. Stiamo realizzando sempre più progetti diversi con lo stesso set di Lego. Mi ha davvero aiutato a capire come le tecnologie abilitanti, inclusi i fabric, possano avere un impatto sulle applicazioni HPC, cloud e AI. È anche dove ho davvero compreso il valore dell'Open Source e come applicare la filosofia di sviluppo software Open Source, che mette l'upstream al primo posto, che ho portato con me in Cornelis Networks. Personalmente, Red Hat è stato il luogo in cui sono cresciuto e maturato come leader.
Attualmente sei il vicepresidente dell'ingegneria del software presso Cornelis Networks, quali sono alcune delle tue responsabilità e com'è la tua giornata tipo?
In qualità di Vicepresidente dell'Ingegneria del Software, sono responsabile di tutti gli aspetti dello stack software di Cornelis Networks, inclusi i driver dell'architettura Omni-Path, il software di messaggistica, la gestione del fabric e i sistemi di controllo dei dispositivi embedded. Cornelis Networks è un'azienda entusiasmante, soprattutto in questo momento e in questo mercato. Per questo motivo, non sono sicuro di avere una giornata "normale". Alcuni giorni lavoro con il mio team per risolvere le ultime sfide tecnologiche. Altri giorni interagisco con i nostri architetti hardware per assicurarmi che i nostri prodotti di nuova generazione siano all'altezza delle aspettative dei nostri clienti. Sono spesso sul campo a incontrare la nostra straordinaria comunità di clienti e collaboratori per assicurarmi che comprendiamo e anticipiamo le loro esigenze.
Cornelis Networks offre reti di nuova generazione per applicazioni di High Performance Computing e AI, potresti condividere alcuni dettagli sull'hardware offerto?
Il nostro hardware consiste in una soluzione fabric di rete di tipo switching ad alte prestazioni. A tal fine, forniamo tutti i dispositivi necessari per integrare completamente i fabric HPC, cloud e AI. Omni-Path Host-Fabric Interface (HFI) è una scheda PCIe a basso profilo per dispositivi endpoint. Produciamo anche uno switch "top-of-rack" 48U a 1 porte. Per distribuzioni più grandi, realizziamo due switch di "classe director" completamente integrati; uno che racchiude 288 porte in 7U e un dispositivo da 1152 porte, 20U.
Puoi discutere del software che gestisce questa infrastruttura e di come è progettata diminuire la latenza?
In primo luogo, la nostra piattaforma di gestione integrata offre facilità di installazione e configurazione, nonché l'accesso a un'ampia gamma di metriche di configurazione e prestazioni prodotte dai nostri switch ASIC.
Il nostro software driver è sviluppato come parte del kernel Linux. In effetti, inviamo tutte le nostre patch software direttamente alla comunità del kernel Linux. Ciò garantisce che tutti i nostri clienti godano della massima compatibilità tra le distribuzioni Linux e della facile integrazione con altri software come Lustre. Pur non essendo nel percorso di latenza, avere un driver in-tree riduce drasticamente la complessità dell'installazione.
L'Omni-Path Fabric Manager (FM) configura e instrada un'Omni-Path Fabric. Ottimizzando le rotte del traffico e ripristinando rapidamente i guasti, l'FM offre prestazioni e affidabilità leader del settore su fabric da decine a migliaia di nodi.
Omni-Path Express (OPX) è il nostro software di messaggistica ad alte prestazioni, rilasciato di recente a novembre 2022. È stato progettato specificamente per ridurre la latenza rispetto al nostro precedente software di messaggistica. Abbiamo eseguito simulazioni accurate al ciclo dei nostri percorsi di codice di invio e ricezione per ridurre al minimo il numero di istruzioni e l'utilizzo della cache. Questo ha prodotto risultati straordinari: quando si opera nell'ordine dei microsecondi, ogni ciclo conta!
Abbiamo anche integrato con il Interfacce OpenFabrics (OFI), uno standard aperto prodotto da OpenFabrics Alliance. L'architettura modulare di OFI contribuisce a ridurre al minimo la latenza consentendo a software di livello superiore, come MPI, di sfruttare le funzionalità del fabric senza ulteriori chiamate di funzione.
L'intera rete è progettata anche per aumentare la scalabilità, potresti condividere alcuni dettagli su come è in grado di scalare così bene?
La scalabilità è al centro dei principi di progettazione di Omni-Path. Ai livelli più bassi, utilizziamo la tecnologia Cray Link Layer per correggere gli errori di collegamento senza alcun impatto sulla latenza. Questo riguarda i fabric a tutte le scale, ma è particolarmente importante per i fabric di grandi dimensioni, che naturalmente subiscono più errori di collegamento. Il nostro Fabric Manager si concentra sia sulla programmazione di tabelle di routing ottimali, sia sulla rapidità di esecuzione. Questo garantisce che il routing anche per i fabric più grandi possa essere completato nel minor tempo possibile.
La scalabilità è anche un componente critico di OPX. La riduzione al minimo dell'utilizzo della cache migliora la scalabilità sui singoli nodi con un numero elevato di core. Ridurre al minimo la latenza migliora anche la scalabilità migliorando il tempo di completamento per gli algoritmi collettivi. L'utilizzo più efficiente delle risorse dell'interfaccia host-fabric consente a ciascun core di comunicare con più peer remoti. La scelta strategica di libfabric ci consente di sfruttare funzionalità software come endpoint scalabili utilizzando interfacce standard.
Potresti condividere alcuni dettagli su come l'intelligenza artificiale è incorporata in alcuni dei flussi di lavoro di Cornelis Networks?
Non siamo ancora pronti a parlare esternamente dei nostri utilizzi e piani interni per l'IA. Detto questo, mangiamo il nostro cibo per cani, quindi possiamo sfruttare i miglioramenti in termini di latenza e scalabilità che abbiamo apportato a Omni-Path per supportare i carichi di lavoro dell'IA. Siamo ancora più entusiasti di condividere questi vantaggi con i nostri clienti e partner. Abbiamo certamente osservato che, come nell'HPC tradizionale, l'infrastruttura scalabile è l'unica strada da percorrere, ma la sfida è che le prestazioni di rete sono facilmente soffocate da Ethernet e altre reti tradizionali.
Quali sono alcuni cambiamenti che prevedi nel settore con l'avvento dell'IA generativa?
Prima di tutto, l'uso dell'IA generativa renderà le persone più produttive: nessuna tecnologia nella storia ha reso gli esseri umani obsoleti. Ogni evoluzione e rivoluzione tecnologica che abbiamo avuto, dalla sgranatrice al telaio automatico, al telefono, Internet e oltre, ha reso alcuni lavori più efficienti, ma non abbiamo eliminato l'umanità dall'esistenza.
Attraverso l'applicazione dell'IA generativa, credo che le aziende avanzeranno tecnologicamente a un ritmo più veloce perché coloro che gestiscono l'azienda avranno più tempo libero per concentrarsi su tali progressi. Ad esempio, se l'IA generativa fornisce previsioni, rapporti, pianificazione, ecc. più accurati, le aziende possono concentrarsi sull'innovazione nel loro campo di competenza
Sento specificamente che l'IA renderà ognuno di noi un esperto multidisciplinare. Ad esempio, in qualità di esperto di software scalabile, comprendo le connessioni tra HPC, big data, cloud e applicazioni AI che li guidano verso soluzioni come Omni-Path. Dotato di un assistente AI generativo, posso approfondire il significato delle applicazioni utilizzate dai nostri clienti. Non ho dubbi che questo ci aiuterà a progettare hardware e software ancora più efficaci per i mercati ei clienti che serviamo.
Prevedo anche un miglioramento generale della qualità del software. L'intelligenza artificiale può funzionare efficacemente come "un altro paio di occhi" per analizzare staticamente il codice e sviluppare approfondimenti su bug e problemi di prestazioni. Ciò sarà particolarmente interessante su larga scala, dove i problemi di prestazioni possono essere particolarmente difficili da individuare e costosi da riprodurre.
Infine, spero e credo che l'IA generativa aiuterà il nostro settore a formare e coinvolgere più professionisti del software senza precedenti esperienze in AI e HPC. Il nostro campo può sembrare scoraggiante per molti e può volerci del tempo per imparare a "pensare in parallelo". Fondamentalmente, proprio come le macchine hanno reso più facile la produzione di cose, l'IA generativa renderà più facile considerare e ragionare sui concetti.
C'è qualcos'altro che vorresti condividere sul tuo lavoro o su Cornelis Networks in generale?
Vorrei incoraggiare chiunque sia interessato a intraprendere una carriera nell'informatica, in particolare nell'HPC e nell'intelligenza artificiale. In questo campo, disponiamo delle risorse di calcolo più potenti mai costruite e le mettiamo a frutto per affrontare le più grandi sfide dell'umanità. È un mondo entusiasmante e mi è piaciuto in ogni fase del percorso. L'intelligenza artificiale generativa porta il nostro settore a livelli ancora più elevati, con la domanda di capacità sempre maggiori in forte crescita. Non vedo l'ora di scoprire dove ci spingeremo.
Grazie per l'ottima intervista, i lettori che desiderano saperne di più dovrebbero visitare Reti Cornelis.












