Interviste
Doug Fuller, Vice President of Software Engineering at Cornelis Networks – Intervista

Il Vice President of Software Engineering, Doug, è responsabile di tutti gli aspetti dello stack software di Cornelis Networks, 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 team di ingegneria del software presso Red Hat nel settore dello storage e dei servizi cloud. La carriera di Doug nell’HPC e nel cloud computing è iniziata presso il Laboratorio di calcolo scalabile del Ames National (ATLO ) Laboratory. Dopo diversi ruoli nel calcolo universitario, Doug si è unito al Laboratorio nazionale di Oak Ridge del Dipartimento dell’Energia degli Stati Uniti nel 2009, dove ha sviluppato e integrato nuove tecnologie presso la struttura di calcolo leader di Oak Ridge.
Cornelis Networks è un leader tecnologico che fornisce tessuti ad alte prestazioni progettati appositamente 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 inizialmente attratto verso l’informatica?
Ho semplicemente goduto lavorando con la tecnologia. Ho goduto lavorando con i computer crescendo; avevamo un modem a scuola che mi ha permesso di provare Internet e l’ho trovato interessante. Come freshman all’università, ho incontrato uno scienziato computazionale del USDOE mentre facevo volontariato per la National Science Bowl. Mi ha invitato a visitare il suo laboratorio HPC e sono stato conquistato. Sono stato un fan dei supercomputer da allora.
Hai lavorato a Red Hat dal 2015 al 2019, quali sono stati alcuni dei progetti su cui hai lavorato e quali sono state le tue principali considerazioni durante questa esperienza?
Il mio progetto principale a Red Hat è stato Ceph distributed storage. In precedenza, mi ero concentrato interamente sull’HPC e questo mi ha dato l’opportunità di lavorare su tecnologie critiche per l’infrastruttura cloud. Si tratta di principi di scalabilità, gestibilità e affidabilità estremamente simili, anche se sono rivolti a risolvere problemi leggermente diversi. In termini di tecnologia, la mia considerazione più importante è stata che cloud e HPC hanno molto da imparare l’uno dall’altro. Stiamo costruendo progetti diversi con lo stesso set di Lego. Questo mi ha aiutato a capire come le tecnologie abilitanti, comprese le stoffe, possano essere utilizzate per le applicazioni HPC, cloud e AI. È anche dove ho veramente capito il valore dell’Open Source e come eseguire la filosofia di sviluppo software Open Source, upstream-first, che ho portato con me a Cornelis Networks. Personalmente, Red Hat è stato dove sono veramente cresciuto e mi sono affermato come leader.
Attualmente sei il Vice President of Software Engineering a Cornelis Networks, quali sono alcune delle tue responsabilità e come si svolge la tua giornata lavorativa media?
Il Vice President of Software Engineering, 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 della stoffa e i sistemi di controllo dei dispositivi incorporati. Cornelis Networks è un posto emozionante in cui lavorare, specialmente in questo momento e in questo mercato. A causa di ciò, non sono sicuro di avere una “giornata lavorativa media”. Alcuni giorni lavoro con il mio team per risolvere l’ultima sfida tecnologica. Altri giorni interagisco con i nostri architetti hardware per assicurarmi che i nostri prossimi prodotti soddisfino le esigenze dei nostri clienti. Spesso sono in campo, incontro la nostra incredibile comunità di clienti e collaboratori, assicurandomi di capire e anticipare le loro esigenze.
Cornelis Networks offre la prossima generazione di networking per applicazioni High Performance Computing e AI, potresti condividere alcuni dettagli sull’hardware offerto?
Il nostro hardware consiste in una soluzione di rete a tessuto ad alte prestazioni. A questo scopo, forniamo tutti i dispositivi necessari per integrare completamente le stoffe HPC, cloud e AI. L’Omni-Path Host-Fabric Interface (HFI) è una scheda PCIe a basso profilo per dispositivi endpoint. Produciamo anche un interruttore “top-of-rack” da 48 porte in 1U. Per implementazioni più grandi, realizziamo due interruttori “director-class” completamente integrati; uno che contiene 288 porte in 7U e un dispositivo da 1152 porte, 20U.
Puoi discutere del software che gestisce questa infrastruttura e come è progettato per ridurre la latenza?
Primo, la nostra piattaforma di gestione incorporata fornisce una facile installazione e configurazione, nonché l’accesso a una vasta gamma di metriche di prestazioni e configurazione prodotte dai nostri ASIC di commutazione.
Il nostro software driver è sviluppato come parte del kernel Linux. In effetti, inviamo tutti i nostri patch software alla comunità del kernel Linux direttamente. Ciò garantisce che tutti i nostri clienti possano godere della massima compatibilità tra le distribuzioni Linux e della facile integrazione con altri software come Lustre. Anche se non è nella traiettoria della latenza, avere un driver in-tree riduce drasticamente la complessità di installazione.
Il gestore della stoffa Omni-Path (FM) configura e instrada una stoffa Omni-Path. Ottimizzando i percorsi del traffico e recuperando rapidamente dai guasti, il FM fornisce prestazioni e affidabilità leader nel settore su stoffe da decine a migliaia di nodi.
Omni-Path Express (OPX) è il nostro software di messaggistica ad alte prestazioni, recentemente rilasciato nel novembre 2022. È stato progettato specificamente per ridurre la latenza rispetto al nostro software di messaggistica precedente. Abbiamo eseguito simulazioni accurate dei nostri percorsi di invio e ricezione nel codice per minimizzare il conteggio delle istruzioni e l’utilizzo della cache. Ciò ha prodotto risultati drammatici: quando si è nel regime dei microsecondi, ogni ciclo conta!
Abbiamo anche integrato con le Interfacce OpenFabrics (OFI), uno standard aperto prodotto dall’Alleanza OpenFabrics. L’architettura modulare di OFI aiuta a minimizzare la latenza consentendo al software di livello superiore, come MPI, di sfruttare le funzionalità della stoffa senza ulteriori chiamate di funzione.
L’intera rete è anche progettata 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 di livello di collegamento Cray per correggere gli errori di collegamento senza impatto sulla latenza. Ciò influisce sulle stoffe di tutte le dimensioni, ma è particolarmente importante per le stoffe di grandi dimensioni, che naturalmente sperimentano più errori di collegamento. Il nostro gestore della stoffa si concentra sia sulla programmazione di tabelle di routing ottimali che sul farlo in modo rapido. Ciò garantisce che il routing anche per le stoffe più grandi possa essere completato in un minimo di tempo.
La scalabilità è anche un componente critico di OPX. La minimizzazione dell’utilizzo della cache migliora la scalabilità sui nodi individuali con grandi contatori di core. La minimizzazione della latenza migliora anche la scalabilità migliorando il tempo di completamento per gli algoritmi collettivi. L’utilizzo più efficiente delle risorse dell’interfaccia host-stoffa consente a ogni 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’AI è incorporata in alcuni dei flussi di lavoro a Cornelis Networks?
Non siamo ancora pronti a parlare esternamente dei nostri utilizzi e piani interni per l’AI. Detto questo, mangiamo il nostro stesso cibo per cani, quindi possiamo approfittare dei miglioramenti della latenza e della scalabilità che abbiamo apportato a Omni-Path per supportare i carichi di lavoro AI. Ciò ci rende ancora più entusiasti di condividere quei vantaggi con i nostri clienti e partner. Abbiamo certamente osservato che, come nel tradizionale HPC, l’unico percorso in avanti è la scalabilità dell’infrastruttura, ma la sfida è che le prestazioni della rete vengono facilmente soffocate dalle reti tradizionali come Ethernet.
Quali sono alcuni dei cambiamenti che prevedi nel settore con l’avvento dell’intelligenza artificiale generativa?
Prima di tutto, l’uso dell’intelligenza artificiale generativa renderà le persone più produttive – nessuna tecnologia nella storia ha reso l’uomo obsoleto. Ogni evoluzione e rivoluzione tecnologica che abbiamo avuto, dal cotton gin all’arcolaio automatico, al telefono, a Internet e oltre, hanno reso alcuni lavori più efficienti, ma non abbiamo lavorato l’umanità fuori dall’esistenza.
Attraverso l’applicazione dell’intelligenza artificiale 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 quegli avanzamenti. Ad esempio, se l’intelligenza artificiale generativa fornisce previsioni più accurate, reporting, pianificazione, ecc. – le aziende possono concentrarsi sull’innovazione nel loro campo di esperti
Sento in particolare che l’AI renderà ciascuno di noi un esperto multidisciplinare. Ad esempio, come esperto di software scalabile, capisco le connessioni tra HPC, big data, cloud e applicazioni AI che guidano le soluzioni come Omni-Path. Dotato di un assistente AI generativo, posso addentrarmi più a fondo nel significato delle applicazioni utilizzate dai nostri clienti. Non ho dubbi che ciò ci aiuterà a progettare hardware e software ancora più efficaci per i mercati e i clienti che serviamo.
Prevedo anche un miglioramento generale della qualità del software. L’AI può funzionare efficacemente come “un altro paio di occhi” per analizzare staticamente il codice e sviluppare intuizioni sui bug e i problemi di prestazioni. Ciò sarà particolarmente interessante a larga scala, dove i problemi di prestazioni possono essere particolarmente difficili da individuare ed economici da riprodurre.
Infine, spero e credo che l’intelligenza artificiale generativa aiuterà il nostro settore a formare e a bordo più professionisti del software senza esperienza precedente in AI e HPC. Il nostro campo può sembrare scoraggiante per molti e può richiedere tempo per imparare a “pensare in parallelo”. Fondamentalmente, proprio come le macchine hanno reso più facile produrre cose, l’intelligenza artificiale 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 abbia interesse a perseguire una carriera nel calcolo, specialmente nell’HPC e nell’AI. In questo settore, siamo dotati delle risorse di calcolo più potenti mai costruite e le portiamo a termine contro le più grandi sfide dell’umanità. È un posto emozionante in cui essere, e ho goduto ogni passo del percorso. L’intelligenza artificiale generativa porta il nostro settore a nuove altezze, poiché la domanda di capacità crescente aumenta drasticamente. Non vedo l’ora di vedere dove andremo dopo.
Grazie per la grande intervista, i lettori che desiderano saperne di più possono visitare Cornelis Networks.












