Interviews
Doug Fuller, VP van Software Engineering bij Cornelis Networks – Interviewreeks

Als Vice President van Software Engineering is Doug verantwoordelijk voor alle aspecten van de Cornelis Networks-softwarestack, waaronder de Omni-Path Architecture-drivers, messagingsoftware en embedded device control systems. Voordat hij bij Cornelis Networks kwam, leidde Doug software engineering teams bij Red Hat in cloudopslag en dataservices. Dougs carrière in HPC en cloud computing begon bij het Scalable Computing Laboratory van Ames National (ATLO ) Laboratory. Na verschillende rollen in universitaire onderzoekscomputing, sloot Doug zich in 2009 aan bij het Oak Ridge National Laboratory van het US Department of Energy, waar hij nieuwe technologieën ontwikkelde en integreerde in het wereldklasse Oak Ridge Leadership Computing Facility.
Cornelis Networks is een technologieleader die speciaal ontworpen high-performance fabrics levert voor High Performance Computing (HPC), High Performance Data Analytics (HPDA) en Artificial Intelligence (AI) aan toonaangevende commerciële, wetenschappelijke, academische en overheidsorganisaties.
Wat trok je aanvankelijk aan naar informatica?
Ik leek gewoon van technologie te houden. Ik vond het leuk om met computers te werken; we hadden een modem op school die me liet zien hoe het internet werkte en ik vond het interessant. Als eerstejaars student ontmoette ik een USDOE-computerspecialist tijdens het National Science Bowl. Hij nodigde me uit om zijn HPC-lab te bezoeken en ik was meteen verkocht. Sindsdien ben ik een supercomputerfanaat.
Je werkte bij Red Hat van 2015 tot 2019, wat waren enkele van de projecten waar je aan werkte en wat waren je belangrijkste conclusies uit deze ervaring?
Mijn belangrijkste project bij Red Hat was Ceph-distributed storage. Ik had eerder alleen gefocust op HPC en dit gaf me de kans om te werken aan technologieën die cruciaal waren voor cloud-infrastructuur. Het rijmt. Veel van de principes van schaalbaarheid, beheerbaarheid en betrouwbaarheid zijn extreem vergelijkbaar, zelfs als ze gericht zijn op het oplossen van iets andere problemen. Wat betreft technologie was mijn belangrijkste conclusie dat cloud en HPC veel van elkaar kunnen leren. We bouwen steeds meer verschillende projecten met hetzelfde Lego-set. Dit heeft me geholpen om te begrijpen hoe de ondersteunende technologieën, waaronder fabrics, kunnen worden toegepast op HPC-, cloud- en AI-toepassingen. Het is ook waar ik echt leerde begrijpen wat de waarde is van Open Source en hoe ik de Open Source, upstream-first software-ontwikkelingsfilosofie kan uitvoeren die ik meebracht naar Cornelis Networks. Persoonlijk was Red Hat de plek waar ik echt groeide en volwassener werd als leider.
Je bent momenteel Vice President van Software Engineering bij Cornelis Networks, wat zijn enkele van je verantwoordelijkheden en hoe ziet je gemiddelde dag eruit?
Als Vice President van Software Engineering ben ik verantwoordelijk voor alle aspecten van de Cornelis Networks-softwarestack, waaronder de Omni-Path Architecture-drivers, messagingsoftware, fabric management en embedded device control systems. Cornelis Networks is een spannende plek om te zijn, vooral op dit moment en in deze markt. Daarom weet ik niet zeker of ik een “gemiddelde” dag heb. Sommige dagen werk ik met mijn team om de laatste technische uitdaging op te lossen. Andere dagen praat ik met onze hardware-architecten om ervoor te zorgen dat onze volgende generatie producten onze klanten zullen leveren wat ze nodig hebben. Ik ben vaak in het veld en ontmoet onze geweldige gemeenschap van klanten en samenwerkers om ervoor te zorgen dat we hun behoeften begrijpen en anticiperen.
Cornelis Networks biedt next-generation netwerken voor High Performance Computing en AI-toepassingen, kun je enkele details delen over de hardware die wordt aangeboden?
Onze hardware bestaat uit een high-performance switched fabric type netwerkoplossing. Daartoe bieden we alle benodigde apparaten om HPC-, cloud- en AI-fabrics volledig te integreren. De Omni-Path Host-Fabric Interface (HFI) is een laagprofiel PCIe-kaart voor eindapparaten. We produceren ook een 48-poorts “top-of-rack”-schakelaar. Voor grotere implementaties maken we twee volledig geïntegreerde “director-class”-schakelaars; een die 288 poorten in 7U en een 1152-poorts, 20U-apparaat.
Kun je bespreken hoe de software deze infrastructuur beheert en hoe het is ontworpen om latentie te verminderen?
Ons ingebedde managementplatform biedt eenvoudige installatie en configuratie, evenals toegang tot een breed scala aan prestatie- en configuratiemetrics die worden gegenereerd door onze schakelaar-ASIC’s.
Onze driversoftware wordt ontwikkeld als onderdeel van de Linux-kernel. Feitelijk dienen we alle onze softwarepatches in bij de Linux-kernelgemeenschap rechtstreeks. Dit zorgt ervoor dat al onze klanten maximale compatibiliteit hebben over Linux-distributies en eenvoudige integratie met andere software, zoals Lustre. Hoewel het niet in de latentiepad zit, vermindert het hebben van een in-tree driver de installatiecomplexiteit aanzienlijk.
De Omni-Path fabric manager (FM) configureert en routeert een Omni-Path fabric. Door verkeersroutes te optimaliseren en snel te herstellen van storingen, biedt de FM branche-leidende prestaties en betrouwbaarheid op fabrics van tientallen tot duizenden knooppunten.
Omni-Path Express (OPX) is onze high-performance messagingsoftware, die onlangs in november 2022 is uitgebracht. Het is speciaal ontworpen om latentie te verminderen in vergelijking met onze eerdere messagingsoftware. We voerden cycle-accurate simulaties uit van onze verzend- en ontvangstcodepaden om instructietelling en cachegebruik te minimaliseren. Dit leverde dramatische resultaten op: wanneer je in de microseconde-regime zit, telt elke cyclus!
We integreerden ook met de OpenFabrics Interfaces (OFI), een open standaard geproduceerd door de OpenFabrics Alliance. De modulaire architectuur van OFI helpt latentie te minimaliseren door hogere niveaus van software, zoals MPI, in staat te stellen fabricfuncties te gebruiken zonder extra functieaanroepen.
Het hele netwerk is ook ontworpen om schaalbaarheid te vergroten, kun je enkele details delen over hoe het zo goed schaalbaar is?
Schaalbaarheid staat centraal in de ontwerpprincipes van Omni-Path. Op het laagste niveau gebruiken we Cray link-laagtechnologie om linkfouten te corrigeren zonder enige latentie-impact. Dit heeft invloed op fabrics van alle groottes, maar is vooral belangrijk voor grote fabrics, die van nature meer linkfouten ondervinden. Onze fabric manager is gericht op het programmeren van optimale routetabellen en dit doen in een korte tijd. Dit zorgt ervoor dat routing voor zelfs de grootste fabrics kan worden voltooid in een minimum aan tijd.
Schaalbaarheid is ook een kritische component van OPX. Het minimaliseren van cachegebruik verbetert schaalbaarheid op individuele knooppunten met grote core-aantallen. Het minimaliseren van latentie verbetert ook schaalbaarheid door de tijd tot voltooiing van collectieve algoritmen te verbeteren. Het efficiënter gebruiken van onze host-fabric interfacebronnen stelt elke core in staat om te communiceren met meer externe peers. De strategische keuze van libfabric stelt ons in staat om softwarefuncties te gebruiken zoals schaalbare eindpunten met standaardinterfaces.
Kun je enkele details delen over hoe AI wordt geïntegreerd in enkele van de workflows bij Cornelis Networks?
We zijn nog niet klaar om extern te praten over onze interne gebruiken van en plannen voor AI. Dat gezegd hebbende, we eten ons eigen hondenvoer, dus we krijgen de kans om te profiteren van de latentie- en schaalbaarheidsverbeteringen die we hebben gemaakt in Omni-Path om AI-workloads te ondersteunen. Dit maakt ons nog enthousiaster om deze voordelen te delen met onze klanten en partners. We hebben zeker gezien dat, net als in traditionele HPC, het uitschalen van infrastructuur de enige weg vooruit is, maar de uitdaging is dat netwerkprestaties gemakkelijk worden beperkt door Ethernet en andere traditionele netwerken.
Wat zijn enkele veranderingen die je voorziet in de industrie met de komst van generatieve AI?
Ten eerste zal het gebruik van generatieve AI mensen productiever maken – geen enkele technologie in de geschiedenis heeft de mensheid overbodig gemaakt. Elke technologische evolutie en revolutie die we hebben gehad, van de katoengin tot de automatische weefgetouw, de telefoon, internet en verder, hebben bepaalde banen efficiënter gemaakt, maar we hebben de mensheid nog niet uit het bestaan gewerkt.
Door de toepassing van generatieve AI denk ik dat bedrijven sneller technologisch zullen vooruitgaan omdat degenen die het bedrijf runnen meer vrije tijd hebben om zich te concentreren op die vooruitgang. Als generatieve AI bijvoorbeeld meer accurate forecasting, reporting, planning, enz. biedt, kunnen bedrijven zich richten op innovatie in hun vakgebied.
Ik voel me specifiek dat AI ons allemaal multidisciplinaire experts zal maken. Als scalable software-expert begrijp ik de verbindingen tussen HPC, big data, cloud en AI-toepassingen die naar oplossingen zoals Omni-Path leiden. Uitgerust met een generatieve AI-assistent kan ik dieper ingaan op de betekenis van de toepassingen die onze klanten gebruiken. Ik heb geen twijfel dat dit ons zal helpen om nog effectievere hardware en software te ontwerpen voor de markten en klanten die we bedienen.
Ik voorzie ook een algehele verbetering in de kwaliteit van de software. AI kan effectief fungeren als “nog een set ogen” om code statisch te analyseren en inzicht te krijgen in bugs en prestatieproblemen. Dit zal vooral interessant zijn op grote schaal, waar prestatieproblemen moeilijk te vinden en duur zijn om te reproduceren.
Tenslotte hoop en geloof ik dat generatieve AI ons zal helpen om meer softwareprofessionals zonder eerdere ervaring in AI en HPC te trainen en in te werken. Ons veld kan ontmoedigend zijn voor velen en het kan tijd kosten om te leren “in parallel” te denken. Fundamenteel, net zoals machines het makkelijker maakten om dingen te produceren, zal generatieve AI het makkelijker maken om concepten te overwegen en te beredeneren.
Is er nog iets anders dat je zou willen delen over je werk of Cornelis Networks in het algemeen?
Ik zou iedereen met interesse willen aanmoedigen om een carrière in informatica na te streven, vooral in HPC en AI. In dit veld zijn we uitgerust met de meest krachtige computermiddelen ooit gebouwd en we brengen ze in stelling tegen de grootste uitdagingen van de mensheid. Het is een spannende plek om te zijn en ik heb ervan genoten elke stap van de weg. Generatieve AI brengt ons veld naar nog hogere hoogtes, aangezien de vraag naar toenemende capaciteit drastisch toeneemt. Ik kan niet wachten om te zien waar we naartoe gaan.
Bedankt voor het geweldige interview, lezers die meer willen leren, moeten Cornelis Networks bezoeken.












