Интервью
Даг Фуллер, Вице-президент по разработке программного обеспечения в Cornelis Networks – Интервью

Как Вице-президент по разработке программного обеспечения, Даг отвечает за все аспекты программного обеспечения Cornelis Networks, включая драйверы архитектуры Omni-Path, программное обеспечение для обмена сообщениями и встроенные системы управления устройствами. До прихода в Cornelis Networks Даг возглавлял команды разработки программного обеспечения в Red Hat в области облачного хранилища и сервисов данных. Карьера Дага в области высокопроизводительных вычислений и облачных вычислений началась в лаборатории масштабируемых вычислений Национальной лаборатории Эймса. После нескольких ролей в университетских исследовательских вычислениях Даг присоединился к Национальной лаборатории Ок-Ридж в 2009 году, где он разработал и интегрировал новые технологии в мировом классе лаборатории лидерства в области вычислений.
(ATLO )Cornelis Networks – это технологический лидер, который поставляет специализированные высокопроизводительные ткани для высокопроизводительных вычислений (HPC), высокопроизводительных данных и аналитики (HPDA) и искусственного интеллекта (AI) для ведущих коммерческих, научных, академических и государственных организаций.
Что изначально привлекло вас к информатике?
Мне просто нравилось работать с технологиями. Мне нравилось работать с компьютерами, когда я рос; у нас был модем в школе, который позволял мне попробовать Интернет, и я нашел это интересным. Как студент первого курса, я встретил ученого-компьютерщика Министерства энергетики США, который пригласил меня посетить его лабораторию высокопроизводительных вычислений, и я был очарован. Я стал поклонником суперкомпьютеров с тех пор.
Вы работали в Red Hat с 2015 по 2019 год, над какими проектами вы работали и какие были ваши ключевые выводы из этого опыта?
Мой основной проект в Red Hat был распределенное хранилище Ceph. Ранее я полностью сосредоточился на высокопроизводительных вычислениях, и это дало мне возможность работать над технологиями, которые были важны для облачной инфраструктуры. Многие принципы масштабируемости, управляемости и надежности очень похожи, даже если они направлены на решение немного разных проблем. В плане технологий мой самый важный вывод был то, что облачные и высокопроизводительные вычисления могут многое узнать друг у друга. Мы все больше строим разные проекты с помощью одного и того же набора LEGO. Это действительно помогло мне понять, как можно использовать технологии, включая ткани, для высокопроизводительных вычислений, облачных и AI-приложений. Это также то место, где я действительно понял ценность открытого программного обеспечения и как выполнять философию разработки программного обеспечения с открытым исходным кодом, которую я привез с собой в Cornelis Networks. Лично для меня Red Hat был местом, где я действительно вырос и созрел как лидер.
Вы сейчас являетесь Вице-президентом по разработке программного обеспечения в Cornelis Networks, какие ваши обязанности и как выглядит ваш типичный день?
Как Вице-президент по разработке программного обеспечения, я отвечаю за все аспекты программного обеспечения Cornelis Networks, включая драйверы архитектуры Omni-Path, программное обеспечение для обмена сообщениями, управление тканями и встроенные системы управления устройствами. Cornelis Networks – это интересное место, особенно в этот момент и на этом рынке. Из-за этого я не уверен, что у меня есть “типичный” день. Некоторые дни я работаю с моей командой, чтобы решить последнюю технологическую проблему. Другие дни я взаимодействую с нашими архитекторами аппаратного обеспечения, чтобы убедиться, что наши следующие поколения продуктов будут соответствовать потребностям наших клиентов. Я часто нахожусь в поле, встречаясь с нашей удивительной общиной клиентов и партнеров, чтобы убедиться, что мы понимаем и предвидим их потребности.
Cornelis Networks предлагает следующее поколение сетей для высокопроизводительных вычислений и AI-приложений, можете ли вы поделиться некоторыми подробностями о предлагаемом аппаратном обеспечении?
Наше аппаратное обеспечение состоит из высокопроизводительного коммутаторного тканевого сетевого решения. Для этого мы предоставляем все необходимые устройства для полной интеграции высокопроизводительных вычислений, облачных и AI-тканей. Интерфейс Omni-Path Host-Fabric (HFI) – это низкопрофильная карта PCIe для устройств конечных точек. Мы также производим 48-портовый коммутатор “top-of-rack” в 1U. Для более крупных развертываний мы производим два полностью интегрированных “директорских” коммутатора; один, который упаковывает 288 портов в 7U, и 1152-портовое устройство в 20U.
Можете ли вы обсудить программное обеспечение, которое управляет этой инфраструктурой, и как оно предназначено для уменьшения задержки?
Сначала наша встроенная платформа управления обеспечивает легкую установку и конфигурацию, а также доступ к широкому спектру метрик производительности и конфигурации, генерируемых нашими коммутаторами ASIC.
Наше программное обеспечение для драйверов разрабатывается как часть ядра Linux. Фактически, мы отправляем все наши патчи программного обеспечения напрямую в сообщество ядра Linux. Это гарантирует, что все наши клиенты могут наслаждаться максимальной совместимостью между дистрибутивами Linux и легкой интеграцией с другими программными продуктами, такими как Lustre. Хотя это не находится на пути задержки, наличие драйвера в дереве значительно снижает сложность установки.
Менеджер тканей Omni-Path (FM) настраивает и маршрутизирует ткань Omni-Path. Оптимизируя маршруты трафика и быстро восстанавливаясь после ошибок, FM обеспечивает ведущую производительность и надежность на тканях от десятков до тысяч узлов.
Omni-Path Express (OPX) – это наше высокопроизводительное программное обеспечение для обмена сообщениями, недавно выпущенное в ноябре 2022 года. Оно было специально разработано для уменьшения задержки по сравнению с нашим предыдущим программным обеспечением для обмена сообщениями. Мы выполнили цикло-точные симуляции наших путей отправки и получения кода, чтобы минимизировать количество инструкций и использование кэша. Это дало драматические результаты: когда вы находитесь в режиме микросекунд, каждый цикл имеет значение!
Мы также интегрировали с Открытыми интерфейсами тканей (OFI), открытым стандартом, разработанным Альянсом OpenFabrics. Модульная архитектура OFI помогает минимизировать задержку, позволяя более высокому уровню программного обеспечения, такому как MPI, использовать функции ткани без дополнительных вызовов функций.
Весь сетевой комплекс также предназначен для увеличения масштабируемости, можете ли вы поделиться некоторыми подробностями о том, как он может масштабироваться так хорошо?
Масштабируемость является основным принципом конструкции Omni-Path. На самых низких уровнях мы используем технологию коррекции ошибок связей Cray, которая не влияет на задержку. Это влияет на ткани всех масштабов, но особенно важно для крупномасштабных тканей, которые естественно испытывают больше ошибок связей. Наш менеджер тканей сосредоточен как на программировании оптимальных таблиц маршрутизации, так и на выполнении этого быстро. Это гарантирует, что маршрутизация даже для самых крупных тканей может быть выполнена за минимальное время.
Масштабируемость также является критическим компонентом OPX. Минимизация использования кэша улучшает масштабируемость на отдельных узлах с большим количеством ядер. Минимизация задержки также улучшает масштабируемость, улучшая время завершения для коллективных алгоритмов. Использование наших ресурсов интерфейса хост-ткань более эффективно позволяет каждому ядру общаться с большим количеством удаленных пиров. Стратегический выбор libfabric позволяет нам использовать функции программного обеспечения, такие как масштабируемые конечные точки, с помощью стандартных интерфейсов.
Можете ли вы поделиться некоторыми подробностями о том, как AI интегрируется в некоторые рабочие процессы в Cornelis Networks?
Мы еще не готовы обсуждать наши внутренние использования и планы AI. Однако мы “едим свою собственную собачью еду”, поэтому мы можем воспользоваться преимуществами уменьшения задержки и увеличения масштабируемости, которые мы сделали для Omni-Path, для поддержки AI-работ. Это делает нас еще более взволнованными, чтобы поделиться этими преимуществами с нашими клиентами и партнерами. Мы определенно наблюдали, что, как и в традиционных высокопроизводительных вычислениях, масштабирование инфраструктуры – это единственный путь вперед, но задача заключается в том, что производительность сети легко может быть ограничена традиционными сетями, такими как Ethernet.
Какие изменения вы предвидите в отрасли с появлением генеративного AI?
Прежде всего, использование генеративного AI сделает людей более продуктивными – ни одна технология в истории не сделала человека устаревшим. Каждая технологическая эволюция и революция, которую мы имели, от джинсов до автоматических ткацких станков, от телефона до Интернета и далее, сделали определенные работы более эффективными, но мы не исключили человечество из существования.
Благодаря применению генеративного AI я считаю, что компании будут технологически продвигаться с более быстрой скоростью, потому что те, кто управляет компанией, будут иметь больше свободного времени, чтобы сосредоточиться на этих достижениях. Например, если генеративный AI обеспечивает более точное прогнозирование, отчетность, планирование и т. д. – компании могут сосредоточиться на инновациях в своей области экспертизы.
Я конкретно считаю, что AI сделает каждого из нас экспертом в нескольких областях. Например, как эксперт по масштабируемому программному обеспечению, я понимаю связи между высокопроизводительными вычислениями, большими данными, облачными и AI-приложениями, которые стимулируют решения, такие как Omni-Path. Оборудованный генеративным AI-помощником, я могу глубже проникнуть в смысл приложений, используемых нашими клиентами. Я не сомневаюсь, что это поможет нам разработать еще более эффективное программное и аппаратное обеспечение для рынков и клиентов, которых мы обслуживаем.
Я также предвижу общее улучшение качества программного обеспечения. AI может эффективно функционировать как “дополнительная пара глаз” для статического анализа кода и разработки прозрений в ошибки и проблемы производительности. Это будет особенно интересно на крупных масштабах, где проблемы производительности могут быть особенно трудными для обнаружения и дорогостоящими для воспроизведения.
Наконец, я надеюсь и считаю, что генеративный AI поможет нашей отрасли обучить и интегрировать больше профессионалов программного обеспечения без предыдущего опыта в AI и высокопроизводительных вычислениях. Наша область может показаться устрашающей для многих, и может потребоваться время, чтобы научиться “думать параллельно”. В принципе, как машины сделали производство проще, генеративный AI сделает рассмотрение и рассуждение о концепциях проще.
Есть ли что-то еще, что вы хотели бы поделиться о своей работе или Cornelis Networks в целом?
Я хотел бы побудить всех, кто интересуется, к карьере в области информатики, особенно в высокопроизводительных вычислениях и AI. В этой области мы оснащены наиболее мощными вычислительными ресурсами, когда-либо построенными, и мы применяем их к величайшим вызовам человечества. Это интересное место, и я наслаждался каждым шагом на этом пути. Генеративный AI приводит нашу область к еще более новым высотам, поскольку спрос на увеличение возможностей увеличивается значительно. Я с нетерпением жду, чтобы увидеть, куда мы пойдем дальше.
Спасибо за отличное интервью, читателям, которые хотят узнать больше, следует посетить Cornelis Networks.












