Перед конференцией AI Journey, которую Huawei поддерживает как титульный партнёр и на которой выступит несколько наших спикеров, мы решили поделиться предварительной информацией о наших наработках, и в частности о том, как используем искусственный интеллект в умных сетях ЦОД. И заодно пояснить, почему устоявшихся технологий недостаточно для построения современных сетей ЦОД и нам нужна «дружеская помощь» от ИИ.
![](https://habrastorage.org/r/w1560/webt/vi/br/fk/vibrfkirdaitkugbwlx9iaor-2u.png)
За годы, когда среды передачи данных переживали бурное развитие, инженеры успели столкнуться со множеством явлений, препятствующих успешной реализации сетей хранения данных и высокопроизводительных кластеров вычислений на Ethernet: потерями, негарантированной доставкой информации, deadlock, microburst и другими малоприятными вещами.
Как следствие, считалось правильным строить референсную выделенную сеть под определённый сценарий:
Попытки добиться универсальности выглядели приблизительно как на иллюстрации.
![](https://habrastorage.org/r/w1560/webt/ut/5h/56/ut5h56sptqlzlmqngzqhsbbgwz8.png)
По каким-то задачам векторы могли совпадать (примерно как у лебедя и рака), и ситуативно универсальность достигалась, хоть и с меньшим КПД, чем при выборе узкоспециализированного сценария.
Сегодня Huawei видит будущее в многозадачных конвергентных фабриках и предлагает своим заказчикам решение AI Fabric, рассчитанное, с одной стороны, на сценарии повышения производительности сети без потерь (до 200 Гбит/с на порт сервера в 2020 году), с другой — на увеличение производительности самих приложений (переход к RoCEv2).
О технической составляющей AI Fabric у нас, кстати, был отдельный подробный пост.
Прежде чем рассуждать об алгоритмах, имеет смысл уточнить, что конкретно они призваны улучшить.
Static ECN приводит к тому, что с увеличением числа серверов-отправителей при едином получателе вырисовывается, мягко говоря, неоптимальная картина трафика (мы имеем дело с так называемой many-to-one incast моделью).
![](https://habrastorage.org/r/w1560/webt/me/ze/8j/meze8jldpedqw7tjt1pg0au6tbk.png)
В традиционном Ethernet нам придётся вручную добиваться баланса между коэффициентами вероятности потерь на сети и низкой производительностью самой сети.
![](https://habrastorage.org/r/w1560/webt/ij/td/ew/ijtdewz8opzcftwc1xy62jbczq8.png)
Те же предпосылки мы увидим также при использования связки PFC/ECN в случае реализации без постоянного тюнинга (см. рис. ниже).
![](https://habrastorage.org/r/w1560/webt/ln/zq/qv/lnzqqv4rnl-kcvzhtq9xszip29q.png)
Для решения описанных проблем мы задействуем алгоритм AI ECN, суть работы которого заключается в своевременном изменении порогов ECN. Как это выглядит, показано на схеме ниже.
![](https://habrastorage.org/r/w1560/webt/rp/yl/2p/rpyl2psowhr0-ynxpsmsm2i0wks.png)
Раньше, когда мы использовали связку «чипсет Broadcom + ИИ-процессор Ascend 310», у нас было ограниченное количество возможностей по тюнингу таких параметров.
![](https://habrastorage.org/r/w1560/webt/jh/5k/kg/jh5kkgjiqv0py7uhragfkk-beoy.png)
Используя Ascend 310 (или встроенный в P-карты модуль), мы начинаем анализировать трафик и сравнивать его с эталонной базой известных приложений.
![](https://habrastorage.org/r/w1560/webt/9i/yy/ps/9iyypsllksedpjnbgjiuxc9qa4o.png)
В случае с известными приложениями показатели трафика оптимизируются «на лету», в случае с неизвестными происходит переход к следующему шагу.
![](https://habrastorage.org/r/w1560/webt/sa/_q/f0/sa_qf0dwupykcm0gj7aqtqylnpg.png)
Ключевые моменты:
Такой подход позволяет скорректировать механизмы работы с неизвестными приложениями, а при большом желании можно и задать модель для своего приложения, используя Northbound API к системе управления коммутаторами.
![](https://habrastorage.org/r/w1560/webt/jm/7i/ko/jm7ikoog3jot3llydxmulppnzp8.png)
Ключевые моменты:
После такого цикла адаптации и изменения дополнительных сетевых порогов и настроек становится возможным избавиться от проблем сразу нескольких типов.
В конечном счёте дополнительные алгоритмы машинного обучения помогают нам решить классические проблемы «неотзывчивой» сетевой среды Ethernet. Таким образом, мы ещё на шаг приближаемся к экосистеме прозрачных и удобных сквозных сетевых сервисов — в противовес набору разрозненных технологий и продуктов.
Материалы по решениям Huawei продолжают появляться в нашей онлайн-библиотеке. В том числе по темам, затронутым в этом посте (например, до построении полноразмерных ИИ-решений под различные сценарии «умных» ЦОДов). А список наших вебинаров на ближайшие недели вы найдёте по ссылке.
![](https://habrastorage.org/webt/vi/br/fk/vibrfkirdaitkugbwlx9iaor-2u.png)
Что происходит в сфере условных lossless-сетей
За годы, когда среды передачи данных переживали бурное развитие, инженеры успели столкнуться со множеством явлений, препятствующих успешной реализации сетей хранения данных и высокопроизводительных кластеров вычислений на Ethernet: потерями, негарантированной доставкой информации, deadlock, microburst и другими малоприятными вещами.
Как следствие, считалось правильным строить референсную выделенную сеть под определённый сценарий:
- IB для кластеров высоконагруженных вычислений;
- FC для классической сети хранения;
- Ethernet для сервисной задачи.
Попытки добиться универсальности выглядели приблизительно как на иллюстрации.
![](https://habrastorage.org/webt/ut/5h/56/ut5h56sptqlzlmqngzqhsbbgwz8.png)
По каким-то задачам векторы могли совпадать (примерно как у лебедя и рака), и ситуативно универсальность достигалась, хоть и с меньшим КПД, чем при выборе узкоспециализированного сценария.
Сегодня Huawei видит будущее в многозадачных конвергентных фабриках и предлагает своим заказчикам решение AI Fabric, рассчитанное, с одной стороны, на сценарии повышения производительности сети без потерь (до 200 Гбит/с на порт сервера в 2020 году), с другой — на увеличение производительности самих приложений (переход к RoCEv2).
О технической составляющей AI Fabric у нас, кстати, был отдельный подробный пост.
Что нуждается в оптимизации
Прежде чем рассуждать об алгоритмах, имеет смысл уточнить, что конкретно они призваны улучшить.
Static ECN приводит к тому, что с увеличением числа серверов-отправителей при едином получателе вырисовывается, мягко говоря, неоптимальная картина трафика (мы имеем дело с так называемой many-to-one incast моделью).
![](https://habrastorage.org/webt/me/ze/8j/meze8jldpedqw7tjt1pg0au6tbk.png)
В традиционном Ethernet нам придётся вручную добиваться баланса между коэффициентами вероятности потерь на сети и низкой производительностью самой сети.
![](https://habrastorage.org/webt/ij/td/ew/ijtdewz8opzcftwc1xy62jbczq8.png)
Те же предпосылки мы увидим также при использования связки PFC/ECN в случае реализации без постоянного тюнинга (см. рис. ниже).
![](https://habrastorage.org/webt/ln/zq/qv/lnzqqv4rnl-kcvzhtq9xszip29q.png)
Для решения описанных проблем мы задействуем алгоритм AI ECN, суть работы которого заключается в своевременном изменении порогов ECN. Как это выглядит, показано на схеме ниже.
![](https://habrastorage.org/webt/rp/yl/2p/rpyl2psowhr0-ynxpsmsm2i0wks.png)
Раньше, когда мы использовали связку «чипсет Broadcom + ИИ-процессор Ascend 310», у нас было ограниченное количество возможностей по тюнингу таких параметров.
Такой вариант мы можем условно назвать Software AI ECN, так как логика делается на отдельном чипе и уже «проливается» в коммерческий чипсет.У моделей, которые снабжены чипсетом P5 производства Huawei, «ИИ-возможности» существенно шире (особенно на свежем релизе), благодаря тому, что на нём реализована значительная часть необходимой для этого функциональности.
![](https://habrastorage.org/webt/jh/5k/kg/jh5kkgjiqv0py7uhragfkk-beoy.png)
Как используем алгоритмы
Используя Ascend 310 (или встроенный в P-карты модуль), мы начинаем анализировать трафик и сравнивать его с эталонной базой известных приложений.
![](https://habrastorage.org/webt/9i/yy/ps/9iyypsllksedpjnbgjiuxc9qa4o.png)
В случае с известными приложениями показатели трафика оптимизируются «на лету», в случае с неизвестными происходит переход к следующему шагу.
![](https://habrastorage.org/webt/sa/_q/f0/sa_qf0dwupykcm0gj7aqtqylnpg.png)
Ключевые моменты:
- Производится обучение с подкреплением DDQN, исследование, накопление большого количества конфигураций базовых линий и исследование лучшей стратегии соответствия ECN.
- Классификатор CNN идентифицирует сценарии и определяет, является ли рекомендуемый порог DDQN надёжным.
- Если рекомендуемый порог DDQN ненадёжен, для его коррекции используется эвристический метод, с тем чтобы убедиться, что решение является обобщённым.
Такой подход позволяет скорректировать механизмы работы с неизвестными приложениями, а при большом желании можно и задать модель для своего приложения, используя Northbound API к системе управления коммутаторами.
![](https://habrastorage.org/webt/jm/7i/ko/jm7ikoog3jot3llydxmulppnzp8.png)
Ключевые моменты:
- DDQN накапливает большое количество образцов памяти для конфигурации базовой линии и глубоко исследует логику согласования состояния сети и конфигурации базовой линии для изучения политик.
- Классификатор нейронных сетей CNN идентифицирует сценарии, чтобы избежать рисков, которые могут возникнуть, когда ненадёжные конфигурации ECN рекомендуются в неизвестных сценариях.
Что получаем
После такого цикла адаптации и изменения дополнительных сетевых порогов и настроек становится возможным избавиться от проблем сразу нескольких типов.
- Проблемы производительности: низкая пропускная способность, длительная задержка, потеря пакетов, джиттер.
- Проблемы с PFC: PFC-тупик, HOL, штормы и т. д. PFC-технология вызывает множество проблем системного уровня.
- Проблемы приложений RDMA: ИИ / высокопроизводительные вычисления, распределённое хранение и их сочетания. RDMA-приложения чувствительны к производительности сети.
Резюме
В конечном счёте дополнительные алгоритмы машинного обучения помогают нам решить классические проблемы «неотзывчивой» сетевой среды Ethernet. Таким образом, мы ещё на шаг приближаемся к экосистеме прозрачных и удобных сквозных сетевых сервисов — в противовес набору разрозненных технологий и продуктов.
***
Материалы по решениям Huawei продолжают появляться в нашей онлайн-библиотеке. В том числе по темам, затронутым в этом посте (например, до построении полноразмерных ИИ-решений под различные сценарии «умных» ЦОДов). А список наших вебинаров на ближайшие недели вы найдёте по ссылке.