Entrevistas
Doug Fuller, VP de Engenharia de Software da Cornelis Networks – Série de Entrevistas

Como Vice-Presidente de Engenharia de Software, Doug é responsável por todos os aspectos da pilha de software da Cornelis Networks, incluindo os drivers da Arquitetura Omni-Path, software de mensagens e sistemas de controle de dispositivos embarcados. Antes de se juntar à Cornelis Networks, Doug liderou equipes de engenharia de software na Red Hat em armazenamento em nuvem e serviços de dados. A carreira de Doug em HPC e computação em nuvem começou no Laboratório de Computação Escalável do Ames National (ATLO ) Laboratory. Após vários papéis em computação de pesquisa universitária, Doug se juntou ao Laboratório Nacional de Oak Ridge do Departamento de Energia dos EUA em 2009, onde desenvolveu e integrou novas tecnologias no mundo-classe Oak Ridge Leadership Computing Facility.
A Cornelis Networks é uma líder tecnológica que entrega tecidos de alto desempenho personalizados para Computação de Alto Desempenho (HPC), Análise de Dados de Alto Desempenho (HPDA) e Inteligência Artificial (IA) para organizações comerciais, científicas, acadêmicas e governamentais de ponta.
O que o atraiu inicialmente para a ciência da computação?
Eu simplesmente parecia gostar de trabalhar com tecnologia. Eu gostava de trabalhar com computadores crescendo; tínhamos um modem em nossa escola que me permitia experimentar a Internet e eu a achei interessante. Como calouro na faculdade, eu conheci um cientista computacional do USDOE enquanto voluntariava para a National Science Bowl. Ele me convidou para visitar seu laboratório de HPC e eu fiquei viciado. Eu sou um geek de supercomputador desde então.
Você trabalhou na Red Hat de 2015 a 2019, quais foram alguns dos projetos em que você trabalhou e quais foram suas principais lições dessa experiência?
Meu principal projeto na Red Hat foi o armazenamento distribuído Ceph. Eu havia me concentrado inteiramente em HPC e isso me deu a oportunidade de trabalhar em tecnologias críticas para a infraestrutura em nuvem. Isso rimava. Muitos dos princípios de escalabilidade, gerenciabilidade e confiabilidade são extremamente semelhantes, mesmo que sejam direcionados a resolver problemas ligeiramente diferentes. Em termos de tecnologia, minha lição mais importante foi que nuvem e HPC têm muito a aprender um com o outro. Estamos construindo projetos diferentes com o mesmo conjunto de Lego. Isso realmente me ajudou a entender como as tecnologias habilitadoras, incluindo tecidos, podem ser aplicadas a aplicações de HPC, nuvem e IA. Também foi onde eu realmente entendi o valor do Open Source e como executar a filosofia de desenvolvimento de software de código aberto, upstream-first, que eu trouxe comigo para a Cornelis Networks. Pessoalmente, a Red Hat foi onde eu realmente cresci e amadureci como líder.
Você é atualmente o Vice-Presidente de Engenharia de Software da Cornelis Networks, quais são algumas de suas responsabilidades e como é o seu dia a dia?
Como Vice-Presidente de Engenharia de Software, eu sou responsável por todos os aspectos da pilha de software da Cornelis Networks, incluindo os drivers da Arquitetura Omni-Path, software de mensagens, gerenciamento de tecidos e sistemas de controle de dispositivos embarcados. A Cornelis Networks é um lugar emocionante para estar, especialmente neste momento e neste mercado. Por causa disso, não tenho um “dia típico”. Alguns dias eu estou trabalhando com minha equipe para resolver o último desafio tecnológico. Outros dias eu estou interagindo com nossos arquitetos de hardware para garantir que nossos próximos produtos atendam às necessidades de nossos clientes. Eu frequentemente estou no campo reunindo-me com nossa incrível comunidade de clientes e colaboradores, garantindo que entendamos e antecipemos suas necessidades.
A Cornelis Networks oferece redes de próxima geração para aplicações de Computação de Alto Desempenho e IA, poderia compartilhar alguns detalhes sobre o hardware oferecido?
Nosso hardware consiste em uma solução de rede de tecido de alto desempenho do tipo comutado. Para isso, fornecemos todos os dispositivos necessários para integrar completamente HPC, nuvem e IA. A Interface de Tecido-Hospedeiro Omni-Path (HFI) é um cartão PCIe de baixo perfil para dispositivos de ponto de extremidade. Também produzimos um comutador “top-of-rack” de 48 portas em 1U. Para implantações maiores, fazemos dois comutadores “diretor-class” totalmente integrados; um que embala 288 portas em 7U e um dispositivo de 1152 portas, 20U.
Poderia discutir o software que gerencia essa infraestrutura e como ele é projetado para diminuir a latência?
Primeiramente, nossa plataforma de gerenciamento embarcada fornece instalação e configuração fáceis, bem como acesso a uma ampla variedade de métricas de desempenho e configuração produzidas por nossos ASICs de comutador.
Nosso software de driver é desenvolvido como parte do kernel do Linux. De fato, submetemos todos os nossos patches de software ao kernel do Linux diretamente. Isso garante que todos os nossos clientes desfrutem de compatibilidade máxima entre distribuições do Linux e integração fácil com outros softwares, como Lustre. Embora não esteja no caminho de latência, ter um driver in-tree dramaticamente reduz a complexidade de instalação.
O gerenciador de tecido Omni-Path (FM) configura e roteia um tecido Omni-Path. Ao otimizar rotas de tráfego e se recuperar rapidamente de falhas, o FM fornece desempenho e confiabilidade de ponta na indústria em tecidos de dezenas a milhares de nós.
O Omni-Path Express (OPX) é nosso software de mensagens de alto desempenho, lançado recentemente em novembro de 2022. Ele foi projetado especificamente para reduzir a latência em comparação com nosso software de mensagens anterior. Executamos simulações cíclicas precisas de nossos caminhos de código de envio e recebimento para minimizar a contagem de instruções e a utilização de cache. Isso produziu resultados dramáticos: quando você está no regime de microssegundos, cada ciclo conta!
Também integramos com as Interfaces OpenFabrics (OFI), um padrão aberto produzido pela OpenFabrics Alliance. A arquitetura modular do OFI ajuda a minimizar a latência, permitindo que softwares de nível superior, como MPI, aproveitem recursos de tecido sem chamadas de função adicionais.
A rede inteira também é projetada para aumentar a escalabilidade, poderia compartilhar alguns detalhes sobre como ela consegue escalar tão bem?
Escalabilidade está no núcleo dos princípios de design da Omni-Path. Nos níveis mais baixos, usamos tecnologia de link-layer da Cray para corrigir erros de link sem impacto de latência. Isso afeta tecidos de todos os tamanhos, mas é particularmente importante para tecidos de grande escala, que naturalmente experimentam mais erros de link. Nosso gerenciador de tecido está focado tanto em programar tabelas de roteamento ótimas quanto em fazê-lo de maneira rápida. Isso garante que o roteamento para mesmo os maiores tecidos possa ser concluído em um mínimo de tempo.
Escalabilidade também é um componente crítico do OPX. Minimizar a utilização de cache melhora a escalabilidade em nós individuais com grandes contagens de núcleos. Minimizar a latência também melhora a escalabilidade, melhorando o tempo de conclusão para algoritmos coletivos. Usar recursos de interface de tecido-hospedeiro de forma mais eficiente permite que cada núcleo se comunique com mais pares remotos. A escolha estratégica de libfabric nos permite aproveitar recursos de software, como pontos de extremidade escaláveis, usando interfaces padrão.
Poderia compartilhar alguns detalhes sobre como a IA é incorporada em alguns dos fluxos de trabalho da Cornelis Networks?
Não estamos quite prontos para falar externamente sobre nossos usos internos e planos para IA. Dito isso, nós “comemos o nosso próprio cachorro”, então podemos aproveitar os aprimoramentos de latência e escalabilidade que fizemos na Omni-Path para apoiar cargas de trabalho de IA. Isso nos deixa ainda mais animados para compartilhar esses benefícios com nossos clientes e parceiros. Certamente observamos que, como na computação de alto desempenho tradicional, escalar a infraestrutura é o único caminho à frente, mas o desafio é que o desempenho da rede é facilmente sufocado por Ethernet e outras redes tradicionais.
Quais são algumas mudanças que você prevê na indústria com o advento da IA gerativa?
Primeiramente, o uso da IA gerativa tornará as pessoas mais produtivas – nenhuma tecnologia na história tornou os seres humanos obsoletos. Toda evolução e revolução tecnológica que tivemos, desde a máquina de fiar até o tear automático, o telefone, a internet e além, tornaram certos trabalhos mais eficientes, mas não eliminamos a humanidade.
Através da aplicação da IA gerativa, acredito que as empresas avançarão tecnologicamente a uma taxa mais rápida porque aqueles que dirigem a empresa terão mais tempo livre para se concentrar nesses avanços. Por exemplo, se a IA gerativa fornece previsões mais precisas, relatórios, planejamento, etc. – as empresas podem se concentrar em inovação em seu campo de especialização
Eu sinto especificamente que a IA tornará cada um de nós um especialista multidisciplinar. Por exemplo, como um especialista em software escalável, eu entendo as conexões entre HPC, big data, nuvem e aplicações de IA que impulsionam soluções como a Omni-Path. Equipado com um assistente de IA gerativa, eu posso mergulhar mais profundamente no significado das aplicações usadas por nossos clientes. Tenho certeza de que isso nos ajudará a projetar hardware e software ainda mais eficazes para os mercados e clientes que atendemos.
Eu também prevejo uma melhoria geral na qualidade do software. A IA pode funcionar efetivamente como “outro par de olhos” para analisar estáticamente o código e desenvolver insights sobre bugs e problemas de desempenho. Isso será particularmente interessante em escalas grandes, onde problemas de desempenho podem ser especialmente difíceis de detectar e caros para reproduzir.
Finalmente, eu espero e acredito que a IA gerativa ajudará nossa indústria a treinar e integrar mais profissionais de software sem experiência prévia em IA e HPC. Nosso campo pode parecer assustador para muitos e pode levar tempo para aprender a “pensar em paralelo”. Fundamentalmente, assim como as máquinas tornaram mais fácil fabricar coisas, a IA gerativa tornará mais fácil considerar e raciocinar sobre conceitos.
Há algo mais que você gostaria de compartilhar sobre seu trabalho ou a Cornelis Networks em geral?
Eu gostaria de encorajar qualquer pessoa com interesse em seguir uma carreira em computação, especialmente em HPC e IA. Nesse campo, estamos equipados com os recursos de computação mais poderosos já construídos e os trazemos para enfrentar os maiores desafios da humanidade. É um lugar emocionante para estar, e eu gostei de cada passo do caminho. A IA gerativa traz nosso campo a novas alturas, à medida que a demanda por capacidade aumenta drasticamente. Mal posso esperar para ver para onde vamos em seguida.
Obrigado pela ótima entrevista, leitores que desejam aprender mais devem visitar Cornelis Networks.












