RDMA внутри ЦОД в реализации от Huawei

    Под катом о том, какой подход предлагает Huawei при организации удаленного прямого доступа к памяти с использованием технологии AI Fabric и чем он отличается от InfiniBand и «чистого» RDMA на базе Ethernet.



    Распределенные вычисления применяются в самых разных отраслях. Это и научные исследования, и технические разработки вроде средств распознавания лиц или автопилотов, и промышленность. В целом анализ данных находит все больше сфер применения, и с уверенностью можно сказать, что в ближайшем будущем он не потеряет популярность. Фактически сейчас мы переживаем переход от эры облачных вычислений, где важнейшими факторами были приложения и скорость развертывания сервисов, к эре монетизации данных, в том числе, через использование алгоритмов искусственного интеллекта. По нашим внутренним данным (доклад GIV 2025: Unfolding the Industry Blueprint of an Intelligent World) к 2025 году 86% компаний будут использовать AI в своей работе. Многие из них рассматривают это направление в качестве основного для модернизации деятельности и, возможно, базового инструмента принятия бизнес-решений в будущем. А это значит, что каждой из этих компаний потребуется какая-то обработка сырых данных — скорее всего, посредством распределенных кластеров.

    Эволюция архитектуры


    С ростом популярности распределенных расчетов увеличивается объем трафика, которым обмениваются отдельные машины ЦОД. Традиционно при обсуждении сетей внимание акцентируется на росте трафика между ЦОД и конечными пользователями в интернете, и он действительно растет. Но рост горизонтального трафика внутри распределенных систем намного превосходит все, что генерят пользователи. По данным Facebook, трафик между их внутренними системами удваивается менее, чем за год.



    В попытках справиться с этим трафиком можно увеличивать кластеры, но нельзя это делать бесконечно. Поэтому, прогнозируя рост вычислительной нагрузки на кластеры, необходимо повышать эффективность обработки — в первую очередь, находить и устранять узкие места внутри этих распределенных сетей.

    Если раньше «слабым звеном» распределенных систем были ресурсы каждой из этих систем в отдельности, в то время как постоянно развивающиеся сети передачи данных даже обгоняли потребности, то сегодня именно сетевые коммуникации — основной источник проблемы. Привычный стек протоколов TCP/IP и древовидная топология уже не соответствуют поставленным задачам. Поэтому все больше ЦОДов отказываются от централизованной и переходят на новую CLOS-архитектуру, обеспечивающую большую пропускную способность и лучшую масштабируемость кластера, как, например, это сделала компания Facebook несколько лет назад.



    Одновременно нужно оптимизировать процесс на другом уровне — на уровне взаимодействия двух отдельных систем. В этой статье мы хотим рассказать о том, какие инструменты оптимизации предоставляет ЦОДу Huawei Ai Fabric. Это наша фирменная технология, ускоряющая обмен данными между узлами.

    Изменения сетевого взаимодействия


    Главная «фишка» Huawei Ai Fabric — сокращение накладных расходов при передаче пакетов данных между системами внутри кластера за счет реализации RDMA (Remote Direct Memory Access) — прямого доступа к памяти систем, входящих в кластер.

    RDMA — путь сокращения задержек передачи


    RDMA — идея не новая. Технология обеспечивает прямой обмен данными между памятью и сетевым интерфейсом, сокращая время ожидания и исключая лишние копирования данных в буферы. Ее корни уходят в разработки 1990-х годов компаний Compaq, Intel и Microsoft.

    В передаче пакета от одной системы к другой есть три типа задержек:

    • из-за процессорной обработки, необходимой, например, для буферизации данных в ОС и подсчета чек-сумм;
    • из-за шин и каналов передачи данных (значительно увеличить полосу пропускания технически невозможно);
    • из-за сетевого оборудования.



    Чтобы сократить потери на всей этой цепочке, еще в 1990-х было предложено использовать прямой доступ к памяти взаимодействующих систем — абстрактную модель Virtual Interface Architecture. Ее основная идея заключается в том, что приложения, запущенные в двух взаимодействующих системах, полностью заполняют их локальную память и устанавливают P2P соединение для передачи данных, не затрагивая ОС. Таким образом можно существенно сократить задержки при передаче пакетов. Кроме того, поскольку модель VIA не подразумевала размещение передаваемых данных в промежуточные буферы, она экономила ресурсы, необходимые на операцию копирования.



    Относительно абстрактной модели VIA RDMA, как технология, шагнула дальше в направлении оптимальной утилизации ресурсов. В частности, она не ждет заполнения буфера для установления соединения и допускает соединения одновременно с несколькими компьютерами. За счет этого технология позволяет сократить задержки на передаче до 1 мс, снижая нагрузку на процессор.

    InfiniBand vs Ethernet


    Две основных реализации RDMA на рынке — проприетарный транспортный протокол InfiniBand и «чистый» RDMA на базе Ethernet, к сожалению, не лишены недостатков.

    Транспортный протокол InfiniBand имеет встроенный механизм контроля доставки пакетов (защиту от потери данных), но поддерживается специфическим оборудованием и не совместим с Ethernet. Фактически использование этого протокола замыкает ЦОД на одном поставщике оборудования, что несет в себе определенные риски и обещает сложности с точки зрения обслуживания (поскольку InfiniBand имеет малую рыночную долю, найти специалистов будет не так-то просто). Ну и, естественно, при внедрении протокола нельзя использовать уже существующее оборудование IP-сетей. 

    RDMA over Ethernet позволяет использовать в сети существующее оборудование, поддерживает сети Ethernet, а значит, будет легче находить специалистов по обслуживанию. На фоне Infiniband это существенно снижает стоимость владения инфраструктурой, упрощает ее развертывание.
    Единственный серьезный недостаток, который препятствовал широкому распространению RDMA over Ethernet — отсутствие механизмов защиты от потери пакетов, что ограничивает пропускную способность всей сети. Для сокращения потерь пакетов или предотвращения перегрузки сети необходимо использовать сторонние механизмы. Мы пошли как раз этим путем, предложив собственные интеллектуальные алгоритмы компенсации недостатков RDMA over Ethernet при сохранении его преимуществ в новом инструменте — Huawei Ai Fabric.

    Huawei AI Fabric — свой путь


    AI Fabric реализует RDMA over Ethernet, дополненный собственным интеллектуальным алгоритмом управления перегрузками сети, что обеспечивает нулевую потерю пакетов, высокую пропускную способность сети и низкую задержку передачи для RDMA-потоков. 

    Huawei Ai Fabric построен на открытых стандартах и поддерживает целый спектр различного оборудования, что оптимизирует процесс внедрения. Однако некоторые дополнительные инструменты — надстройки над открытыми стандартами, позволяющие повысить эффективность обмена данными, о которых мы расскажем в последующих публикациях — доступны только для устройств производства Huawei. В коммутаторы серии CloudEngine, поддерживающие решение, интегрирован чип, анализирующий характеристики трафика и динамически настраивающий сетевые параметры, что позволяет эффективнее использовать буфер коммутатора. Собранные характеристики также используются для прогнозирования модели трафика в будущем. 

    Кому это полезно?


    Huawei Ai Fabric позволяет получить профит на двух уровнях.
    С одной стороны, решение позволяет оптимизировать архитектуру ЦОД — сократить количество узлов (за счет более оптимальной утилизации ресурсов), создать конвергентную среду без традиционного разделения на отдельные подсети, которые сложно и дорого обслуживать по частям. С использованием инструмента не придется под каждый тип сервиса в контроллере домена (со своими требованиями к сети) выделять отдельные подсети. Можно создать единую среду, которая обеспечивает предоставление всех услуг.



    С другой стороны, AI Fabric позволяет повысить скорость распределенных вычислений, особенно там, где требуется часто обращаться к памяти удаленных систем. К примеру, внедрение ИИ в любой сфере подразумевает период обучения алгоритма, который может включать миллионы операций, поэтому выигрыш в задержке на каждой такой операции обернется серьезным ускорением процесса.

    Эффект от внедрения специализированного инструмента, вроде Huawei Ai Fabric, будет заметен в ЦОД с шестью и более коммутаторами. Но чем больше объем ЦОДа, тем выше профит — за счет оптимальной утилизации ресурсов кластер того же масштаба с Ai Fabric обеспечит более высокую производительность. Для примера кластер из 384 нод может достичь производительности «обычного» кластера в 512 нод. При этом решение не имеет ограничений по количеству физических коммутаторов внутри инфраструктуры. Их могут быть десятки тысяч (если забыть о том, что обычно проекты ограничиваются масштабами административного домена).
    Huawei
    67,40
    Компания
    Поделиться публикацией

    Комментарии 16

      +1
      поскольку InfiniBand имеет малую рыночную долю, найти специалистов будет не так-то просто


      Можете мне не верить, но Infiniband настолько прост, что не требует сетевых админов от слова «совсем», и специалисты заточенные и сертефицированные под Infiniband не нужны. Админы Linux, осваивают его минут за 20. Именно им и работать с Infiniband. Сетевым админнам там нет работы.

      Главная проблемы Infiniband:
      1. Большие дистанции (да Long Haul есть, но стоит (стоило года 3 назад) несообразно дорого), и если вы на 40км оптику проложили, и отдали под Infiniband то кроме Infiniband по этой оптике ничего не пойдёт. Также как и с FC впрочем.
      2. Проблемы с дровами в enterprise дистрах (RHEL). Это просто кошмар какой-то. Под новыми ядрами и в gentoo/ubuntu всё отлично. Но для ubuntu 18LTS ядро пересобирать пришлось (под gentoo это вообще норма).

      А у «Huawei Ai Fabric» как с вышеприведёнными пунктами, включая «привязку к вендору»?

        0
        С точки зрения сетевых карт поддерживаются Ethernet карты от Mellanox и Huawei, так что лок ина тут нет. Поддержка тут начинается от возможности приложения использовать RoCE
        +1
        За время работы с infiniband не увидел каких-то громадных проблем или необходимости супер специфических навыков. Да надо привыкнуть к SM Lid, Port Guid, Base Lid. opensm… и некоторым специфическим утилитам диагностики. Но в остальном все проще даже, чем настройка через ethtool параметров сетевой карты+sysctl.
          0
          Тут берется комплексом, так как строится единая унифицированная фабрика, а не три острова — Ethernet/FC/IB.
          Все как на первой картинке as-is to-be

            +1
            А откуда взялись три? Когда два: ethernet и infiniband. Да и ethernet при наличии infiniband можно часто не строить, а использовать ipoib.
              0
              вопрос в масштабируемости IB, а третий FC — пока де-факто у многих.
              RoCEv2 — уже с полноценным рутингом.
          0
          Не стоит забывать, что Infiniband как протокол и само Infiniband оборудование имеют более низкие задержки чем Ethernet.
          0

          С какими iNIC совместима фабрика?
          В презентации https://e.huawei.com/en/material/networking/dcn/be80bbc977ac49afa73851e3d176dd6b есть только продукты коммутации (стр 6):


          Modular switches CE12800 (ce12816 ce12808 ce12804), Fixed switches 25GE/100GE TOR Switch Flexible Card CE8861, 100GE TOR Switch CE8850, 25GE TOR Switch CE6865

          В https://e.huawei.com/en/material/onLineView?MaterialID=2d91d86926e7467e815a5d54615a3ec8 упомянут "Commercial NIC" / iNIC (стр 10,11)
          Бенчмарка — https://e.huawei.com/en/material/onLineView?MaterialID=2d91d86926e7467e815a5d54615a3ec8


          The solution includes data center switches and smart network interface cards (NICs) based on 100GigabitEthernet (100GbE) and 25Gigabit Ethernet (25GbE). The Huawei solution uses… RoCEv2… Mellanox CX4 100GE NIC… PFC… ECN… Intel MPI Benchmarks

          Сравнение с другими вендорами: https://e.huawei.com/en/material/onLineView?MaterialID=642a12984b0d49548d0235dcbeda3a9d https://e.huawei.com/en/material/onLineView?MaterialID=334f712b8f584d718d41e9c2ec172c67

            0
            В основном — если про NIC это — Mellanox NIC и Huawei iNIC, продукты с точки зрения коммутации (помимо описанных)- это новые модульные коммутаторы CE16800 и CE68хх серии на собственных чипах. Так как для работы AI Fabric на коммутаторах используется дополнительный чип AI Ascend310
              0

              На чипах какого вендора построены решения Huawei iNIC и Huawei CE?

            +1
            Huawei iNIC — это разработка Huawei
            По буллетам выглядит так:
            1)Huawei HiSilicon 2nd Gen controller(Hi1822)
            2)High-Performance Network/PCIe Interface
            2 x 100GE/4 x 25GE
            PCIe 3.0 x16
            15 Mpps OVS offload
            3) IN200 Ethernet Standard Card
            Supports 100GE/25GE
            IN500 iNIC
            Supports OVS/VxLAN acceleration
            4)HW and FW All Self-Developed
            All PCBA designed by Huawei
            All FW designed by Huawei
            All products manufactured by Huawei

            По чипам в коммутаторах — надо разделить историю на две части — networking и AI Chipset
            В первом поколении Networking -это Broadcom чипы, во втором HiSilicon. Но в обоиъ поколениях необходим чипсет AI — Ascend для работы функций и тренированных моделей AI Fabric.
              0

              Где почитать про то, как работает AI Chipset в деталях?


              • На каких данных обучены модели (и какого масштаба фабрика для этого использовалась)?
              • Или же обучение происходит непосредственно в процессе эксплуатации AI фабрики? На базе каких параметров? С помощью какого алгоритма?
                0
                Почитать можно здесь — e.huawei.com/ru/material/MaterialSearch?keyword=ai%20fabric

                Если кратко используется алгорити iLossless — это своя сборка из открытых моделей. Очень много описано техническим языком в [White Paper] Data Center AI Fabric Technology White Paper

                Помимо этого здесь habr.com/ru/company/huawei/blog/461413 описали сценарии тестирования до пуска в среду Заказчика. Далее модель продолжает обучаться в продуктивной сети с целью подгонки алгоритмов под конкретный сценарий.
                0

                И еще хотел бы уточнить несколько вопросов по flow control в фабрике.
                Сам по себе RoCE никак не гарантирует Lossless коммуникацию. Для этого есть другие протоколы и методики, как например buffer credits в InfiniBand, или же PFC и/или ECN в Ethernet.


                • Используется ли PFC в AI фабрике? Если да, то как решается проблема incast congestion spreading и victim flow с PFC?
                • Используется ли ECN? В связке с PFC или без него?
                • Используется ли flow control на NIC? В Mellanox или HiSilicon?
                • Какая протестированная масштабируемость AI Fabric? Кол-во конечных узлов? В какой топологии?
                • Можете поделиться какими-либо реальными бенчмарками на трейнинге со стандартными моделями (ResNet/VGG/etc.)?
                  0
                  Уточню, что при корректной E2E реализации RoCEv2 все же дает и даже гарантирует Lossless коммуникацию. per-hop PFC/ECN — не дают нам E2E историю без дополнительных танцев со специальным бубном, и даже с ним история иногда выглядит как замок из костылей.

                  По вопросам, в порядке очередности:
                  -Да — используется алгоритмы расчета E2E PFC и ECN, как часть технологий фабрики
                  -Большая часть логики используется на сетевой карте. Вот основные требования к NIC
                  «The server NIC must support RoCEv2 and be configured with the following functions:
                  -Configure QoS priority mapping based on the planned priority of RoCEv2 packets on the
                  entire network, and set the DSCP priority corresponding to RoCEv2 packets.
                  -Enable PFC based on the priority of RoCEv2 packets.
                  -Configure Enhanced Transmission Selection (ETS) if separate bandwidth allocation
                  control is required for RoCEv2 and non-RoCEv2 packets.
                  -Configure DCQCN for RoCEv2.
                  -Configure the MTU for RoCEv2 packets.»

                  -По топологии CLOS- Leaf/Spine/SuperSpine внедрено решение в Японском регионе для одного мотоконцерна на 500+ нод. Полет нормальный. Есть несколько внедрений на сотни нод в Китайском регионе в Банках по той же топологии.

                  — По открытым бенчмаркам без нарушения NDA — доступны 2 репорта от Tolly
                  1)[Product Certificate] Tolly test report for Huawei AI Fabric intelligent lossless data center network solution(vs Mellanox)
                  2)[Product Certificate] Tolly test report for Huawei AI Fabric intelligent lossless data center network solution(vs Cisco)
                  Для скачивания доступны по той же ссылке, что и Whitepaper — e.huawei.com/ru/material/MaterialSearch?keyword=ai%20fabric

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое