Doug Fuller, VP di Ingegneria del Software presso Cornelis Networks – Serie di interviste

Doug Fuller, VP di Ingegneria del Software presso Cornelis Networks - Interviste

Come Vice Presidente dell’Ingegneria del Software, Doug è responsabile di tutti gli aspetti dello stack software di Cornelis Networks, compresi i driver dell’architettura Omni-Path, il software di messaggistica e i sistemi di controllo dei dispositivi embedded. Prima di entrare a far parte di Cornelis Networks, Doug ha guidato team di ingegneria del software presso Red Hat nel cloud storage e nei servizi dati. La carriera di Doug in HPC e cloud computing è iniziata presso il Laboratorio Nazionale di Ames, nel laboratorio di calcolo scalabile. Dopo diversi ruoli nel calcolo di ricerca 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 il prestigioso Oak Ridge Leadership Computing Facility.

Cornelis Networks è un leader tecnologico che offre tessuti ad alte prestazioni appositamente progettati per High Performance Computing (HPC), High Performance Data Analytics (HPDA) e Artificial Intelligence (AI) a importanti organizzazioni commerciali, scientifiche, accademiche e governative.

Cosa ti ha inizialmente attratto verso l’informatica?

Sembrava che mi divertissi a lavorare con la tecnologia. Mi piaceva lavorare con i computer mentre crescevo; avevamo un modem a scuola che mi permetteva di provare Internet e lo trovavo interessante. Come matricola all’università, ho incontrato uno scienziato computazionale del USDOE mentre facevo volontariato per il National Science Bowl. Mi ha invitato a visitare il suo laboratorio di HPC e ne sono rimasto affascinato. Sono diventato un appassionato di supercomputer da allora.

Hai lavorato presso Red Hat dal 2015 al 2019, su quali progetti hai lavorato e quali sono state le tue principali conclusioni da questa esperienza?

Il mio progetto principale presso Red Hat era lo storage distribuito Ceph. In precedenza mi ero concentrato completamente sull’HPC e questa mi ha dato l’opportunità di lavorare su tecnologie critiche per l’infrastruttura cloud. Rima. Molti dei principi di scalabilità, gestibilità e affidabilità sono estremamente simili anche se mirano 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 costruendo sempre più progetti diversi con lo stesso set di Lego. Mi ha davvero aiutato a capire come le tecnologie abilitanti, compresi i tessuti, possono influire sulle applicazioni HPC, cloud e AI. È anche lì che ho davvero compreso il valore dell’Open Source e come eseguire la filosofia di sviluppo software Open Source, upstream-first che ho portato con me in Cornelis Networks. Personalmente, Red Hat è stato il luogo in cui sono cresciuto e maturato come leader.

Attualmente sei Vice Presidente dell’Ingegneria del Software presso Cornelis Networks, quali sono alcune delle tue responsabilità e com’è una tua giornata media?

Come Vice Presidente dell’Ingegneria del Software, sono responsabile di tutti gli aspetti dello stack software di Cornelis Networks, compresi i driver dell’architettura Omni-Path, il software di messaggistica, la gestione del tessuto e i sistemi di controllo dei dispositivi embedded. Cornelis Networks è un posto eccitante in cui stare, soprattutto in questo momento e in questo mercato. A causa di ciò, non sono sicuro di avere una giornata “media”. Alcuni giorni sto lavorando con il mio team per risolvere l’ultima sfida tecnologica. Altri giorni sto interagendo con i nostri architetti hardware per assicurarmi che i nostri prodotti di prossima generazione soddisfino le esigenze dei nostri clienti. Sono spesso sul campo a incontrare la nostra incredibile comunità di clienti e collaboratori per capire e anticipare le loro esigenze.

Cornelis Networks offre reti di prossima generazione per applicazioni di High Performance Computing e AI, potresti condividere alcuni dettagli sull’hardware offerto?

Il nostro hardware consiste in una soluzione di rete di tipo tessuto con alte prestazioni. A tal fine, forniamo tutti i dispositivi necessari per integrare completamente i tessuti HPC, cloud e AI. L’interfaccia host-fabric Omni-Path (HFI) è una scheda PCIe a basso profilo per i dispositivi endpoint. Produciamo anche uno switch “top-of-rack” da 48 porte 1U. Per implementazioni più grandi, realizziamo due switch “director-class” completamente integrati; uno con 288 porte in 7U e un dispositivo da 1152 porte in 20U.

Puoi discutere del software che gestisce questa infrastruttura e come è progettato per ridurre la latenza?

Innanzitutto, la nostra piattaforma di gestione incorporata fornisce un’installazione e una configurazione semplici, oltre che l’accesso a una vasta gamma di metriche di prestazioni e configurazione prodotte dai nostri ASIC di switch.

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ò assicura che tutti i nostri clienti possano godere di una compatibilità massima tra le distribuzioni Linux e di un’integrazione facile con altri software come Lustre. Anche se non è nella catena di latenza, avere un driver in-tree riduce drasticamente la complessità dell’installazione.

Il gestore del tessuto Omni-Path (FM) configura e instrada un tessuto Omni-Path. Ottimizzando le rotte del traffico e riprendendosi rapidamente dai guasti, il FM offre prestazioni e affidabilità leader del settore su tessuti da decine a migliaia di nodi.

Omni-Path Express (OPX) è il nostro software di messaggistica ad alte prestazioni, recentemente rilasciato nel novembre 2022. È stato appositamente progettato per ridurre la latenza rispetto al nostro precedente software di messaggistica. Abbiamo eseguito simulazioni accurate al ciclo dei nostri percorsi di invio e ricezione per ridurre al minimo il numero di istruzioni e l’utilizzo della cache. Ciò ha prodotto risultati sorprendenti: quando ci si trova nel regime dei microsecondi, ogni ciclo conta!

Ci siamo anche integrati con le Interfacce OpenFabrics (OFI), uno standard aperto prodotto dall’OpenFabrics Alliance. L’architettura modulare di OFI aiuta a ridurre la latenza consentendo al software di livello superiore, come MPI, di sfruttare le funzionalità della rete senza chiamate di funzione aggiuntive.

L’intera rete è anche progettata per aumentare la scalabilità, potresti condividere alcuni dettagli su come riesce a scalare così bene?

La scalabilità è al centro dei principi di progettazione di Omni-Path. Ai livelli più bassi, utilizziamo la tecnologia link-layer di Cray per correggere gli errori di collegamento senza impattare sulla latenza. Questo influisce su reti di tutte le dimensioni, ma è particolarmente importante per reti di grandi dimensioni, che naturalmente presentano più errori di collegamento. Il nostro gestore di rete è focalizzato sia sulla programmazione di tabelle di routing ottimali sia sulla velocità di esecuzione di queste operazioni. Ciò assicura che il routing anche per le reti più grandi possa essere completato in un tempo minimo.

La scalabilità è anche un componente fondamentale di OPX. Riducendo al minimo l’utilizzo della cache, miglioriamo la scalabilità sui singoli nodi con un grande numero di core. Riducendo al minimo la latenza, miglioriamo anche la scalabilità migliorando il tempo di completamento degli algoritmi collettivi. Utilizzando in modo più efficiente le risorse dell’interfaccia host-fabric, consentiamo a ogni core di comunicare con più nodi remoti. La scelta strategica di libfabric ci consente di sfruttare funzionalità software come gli endpoint scalabili tramite interfacce standard.

Potresti condividere alcuni dettagli su come l’IA è incorporata in alcuni dei flussi di lavoro presso Cornelis Networks?

Non siamo ancora pronti per parlare esternamente dell’uso interno e dei piani per l’IA. Detto questo, facciamo ciò che predicano, quindi possiamo beneficiare degli miglioramenti di latenza e scalabilità che abbiamo apportato a Omni-Path per supportare i carichi di lavoro di IA. Ciò ci rende ancora più entusiasti di condividere quei vantaggi con i nostri clienti e partner. Abbiamo certamente osservato che, come nell’HPC tradizionale, l’espansione dell’infrastruttura è l’unico percorso possibile, ma la sfida è che le prestazioni della rete possono essere facilmente limitate da Ethernet e altre reti tradizionali.

Cosa prevedi che cambierà nell’industria con l’avvento dell’IA generativa?

Innanzitutto, 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, dal cotton gin al telaio automatico al telefono, all’internet e oltre, ha reso certi lavori più efficienti, ma non abbiamo eliminato l’umanità.

Attraverso l’applicazione dell’IA generativa, credo che le aziende progrediranno tecnologicamente a un ritmo più veloce perché chi gestisce l’azienda avrà più tempo libero per concentrarsi su quei progressi. Ad esempio, se l’IA generativa fornisce previsioni, report, pianificazioni, ecc. più accurate, le aziende possono concentrarsi sull’innovazione nel loro campo di competenza.

In particolare, penso che l’IA renderà ciascuno di noi un esperto multidisciplinare. Ad esempio, come esperto di software scalabile, comprendo le connessioni tra HPC, big data, cloud e applicazioni di IA che li guidano verso soluzioni come Omni-Path. Dotato di un assistente di IA generativa, posso approfondire il 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 complessivo della qualità del software. L’IA può funzionare efficacemente come “un altro paio di occhi” per analizzare staticamente il codice e sviluppare inisghts su bug e problemi di prestazioni. Questo sarà particolarmente interessante su larga scala, dove i problemi di prestazioni possono essere particolarmente difficili da individuare ed è costoso riprodurli.

Infine, spero e credo che l’IA generativa aiuterà il nostro settore a formare e integrare più professionisti del software senza esperienza precedente in AI e HPC. Il nostro campo può sembrare spaventoso per molti e può richiedere 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 su concetti.

C’è qualcos’altro che vorresti condividere sul tuo lavoro o su Cornelis Networks in generale?

Vorrei incoraggiare chiunque abbia interesse a intraprendere una carriera nell’informatica, specialmente nell’HPC e nell’IA. In questo campo, disponiamo delle risorse di calcolo più potenti mai costruite e le mettiamo a disposizione per affrontare le sfide più grandi dell’umanità. È un posto eccitante in cui trovarsi, e io l’ho apprezzato in ogni passo del percorso. L’IA generativa porta il nostro settore a nuove vette mentre la richiesta di capacità sempre maggiori aumenta drasticamente. Non vedo l’ora di vedere dove andremo dopo.

Grazie per l’ottima intervista, i lettori che desiderano saperne di più dovrebbero visitare Cornelis Networks.