В последние годы растет интерес к использованию ускорителей для повышения производительности стандартных серверов. Первопроходцами на этой стезе оказались графические процессоры, использовавшиеся для ускорения решений на базе искусственного интеллекта/машинного обучения. Сегодня программируемые логические интегральные схемы, сетевые карты SMART-NIC на серверах и другие ускорители с низким уровнем энергопотребления, встроенные в оконечные устройства, способны справляться с задачами аналитики данных, машинного обучения и формированием логических выводов. В этой статье мы решили изложить наш взгляд на новые классы ускорителей и на то, какую роль они сыграют в постепенном распространении Интернета вещей и 5G, по мере того как происходит перераспределение рабочей нагрузки от периферийных устройств к ЦОДам и облачным решениям.

Эпоха данных знаменует собой преобразование технологичной картины мира
и распространение технологий ускорения

В современном мире наблюдается экспоненциальный рост данных, увеличение количества устройств, подключенных к Интернету вещей, и цифровая трансформация каждой отрасли. В этих условиях будущее технологий определяется потребностью в экономичной обработке данных, максимальном приросте стоимости бизнеса и окупаемости инвестиций. В эпоху данных возникают вычислительные архитектуры, обеспечивающие обработку данных рядом с источником их генерирования, когда информация передается по протяженным сетям только для хранения данных или их анализа на другом уровне. Новые сценарии использования, построенные на автономности технических средств (беспилотные автомобили, дроны), проекты «умных» городов и заводов (роботы, контроль работы критически важного оборудования) предполагают выполнение обработки данных и принятие решений рядом с точкой генерирования данных ввиду требований, связанных с критически важным характером данных, низким уровнем задержки и режимом реального времени, характерных для этих сценариев развертывания.

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

На передовой процессорного фронта за последние десять-пятнадцать лет у традиционных архитектур процессоров значительно возросло количество ядер и объем памяти, но системы ввода-вывода и пропускная способность памяти за ними не поспевают. Возможности масштабирования пропускной способности памяти и подсистемы ввода-вывода играют важнейшую роль при обработке объемных массивов данных в центрах обработки данных и их передаче на периферийные устройства в режиме реального времени. Эти факторы способствуют развитию аппаратного ускорения как для сетевых устройств, так и для устройств хранения данных, которое позволяет оптимизировать поток данных на уровне подсистем центрального процессора, памяти и ввода-вывода для повышения производительности системы в целом. Развитие направлений обработки данных привело к появлению специализированных акселераторов для решений искусственного интеллекта, машинного обучения и глубокого обучения. Такие ускорители берут на себя параллельные вычисления и повышают скорость выполнения задач ИИ по сравнению с традиционными архитектурами процессоров. Они обеспечивают выделенную поддержку эффективного выполнения матричных алгебраических операций, превалирующих среди рабочих нагрузок машинного и глубокого обучения. Для заметного повышения скорости выполнения всевозможных приложений ИИ существуют разнообразные режимы точности чисел, кроме решений, используемых в центральном процессоре (BFLOAT16, смешанные вычисления с плавающей запятой с разной точностью).

Ниже мы рассмотрим пять основных областей, в которых ускорители играют ключевую роль. Технологии ускорения играют важнейшую роль в развертывании сетей 5G и связанных с ними сервисов (в частности, ИИ, решений дополненной/виртуальной реальности и обмена контентом с другими пользователями) для всех сегментов спектра вычислительных устройств:
  • рабочие нагрузки/решения ИИ: помимо компаний, традиционно занимающихся созданием микросхем ASIC для применения в сфере машинного обучения (а именно, Nvidia, Intel и Google), появляются и стартапы, работающие над высокопроизводительными, энергоэкономичными решениями и решениями для специализированных сфер применения. Например, к таким компаниям можно отнести Graphcore, Groq, Hailo Technologies, Wave Computing и Quadric. Они занимаются оптимизацией решений для определенных областей, таких как обработка естественных языков, дополненная/виртуальная реальность, распознавание речи и компьютерное зрение. Некоторые из этих микросхем ASIC для ИИ используются для формирования логических выводов и встраиваются в пользовательские устройства, такие как беспилотные автомобили, камеры, роботизированное оборудование и дроны, для обработки данных и принятия решений в режиме реального времени;
  • доступ на границе 5G: развитие сетей сотовой связи до уровня 5G приводит к виртуализации и дезагрегированию архитектуры сотовой сети RAN. Для высокочастотного диапазона беспроводных сетей 5G, ограничений по расстоянию и увеличивающейся плотности сот требуется централизованная архитектура RAN, при которой обработка радиосигналов из нескольких сотовых станций производится централизованно. Группы отраслевых стандартов 3GPP и ORAN определяют архитектуру и спецификации для обеспечения совместимости решений RAN от различных поставщиков. В централизованных процессорных блоках RAN наряду с ускорителями используются стандартные готовые к работе серверы и методы виртуализации, что позволяет отделить уровень управления от уровня данных. Управление выполняется виртуализированным сервером, который называют центральным блоком, а за обработку данных отвечает стандартный сервер, называемый распределенным блоком; при этом обработка пакетов радиосигналов передается на ускоритель. Как правило, ускорители представляют собой FPGA или пользовательскую микросхему ASIC с функцией синхронизирующейся по времени работы сетей (TSN) и другими функциональными возможностями по обработке пакетов радиосигналов. Компании-разработчики, такие как Radisys и Altiostar, создают для уровня управления RAN программное обеспечение, которое передает на ускорители рабочую нагрузку по обработке радиокадров;
  • границы сети 5G: благодаря высокой скорости, малому уровню задержки и возросшему числу подключенных устройств с поддержкой сетей 5G возникают новые сценарии использования, связанные с дополненной/виртуальной реальностью, играми, передачей и совместным использованием контента. Для этого требуется перенос сторонних приложений на границы сети наряду с сетевым сегментированием, которое позволит различать разные типы трафика и соответствующие соглашения об уровнях обслуживания (SLA). Такой подход превращает границы сети оператора связи в распределенную облачную среду, в которой работают приложения сторонних разработчиков и поставщиков услуг. Для переноса рабочих нагрузок на границы сети также необходимо, чтобы сервисы базовой инфраструктуры сети и подсистемы хранения данных обеспечивали защищенную работу с данными в сети и их хранение. VNF операторов связи (например, EPC, BNG) и сетевые сервисы (например, брандмауэры, балансировщики нагрузки, IPSEC) переносятся на границы сети, чтобы обеспечить размещение новых рабочих нагрузок. Чтобы высвободить мощность серверных процессоров для работы сторонних приложений и реализации современных функций сетевой безопасности (например, глубокой фильтрации трафика, шифрования, сегментации сети, аналитики), сервисы базовой инфраструктуры сети переносятся на ускорители, называемые SMART-NIC. В этих сетевых картах SMART-NIC используется стандартная функция платы сетевого интерфейса (NIC) в сочетании с ядрами энергоэкономичных центральных процессоров и блоками аппаратного ускорения для сетевой обработки. Они также обеспечивают программируемый интерфейс уровня данных для VNF сотовых операторов, чтобы разгрузить сетевую нагрузку по обработке данных аппаратным обеспечением. Группа отраслевых стандартов 3GPP определяет архитектуру и стандарты CUPS (разделение уровня управления и пользовательского уровня). Многие производители сетевых адаптеров, например Intel, Mellanox, Broadcom, Netronome и ряд стартапов, сосредоточили внимание на этих сетевых адаптерах-ускорителях. Появляются и специализированные ускорители, предназначенные для кэширования контента и видеоаналитики (игры, дополненная/виртуальная реальность);
  • интернет вещей/периферийные вычисления: благодаря Интернету вещей вычисления уровня серверов перемещаются ближе к оконечным устройствам. В компаниях крупного, среднего и малого бизнеса происходит цифровая трансформация, результатом которой должна стать автоматизация деятельности и повышение качества обслуживания клиентов. Это приводит к появлению гибридных/мультиоблачных решений, размещаемых ближе к конечным пользователям (клиентам, сотрудникам или устройствам): локально или на узле коллокации. Подобно ситуации с границами сети, ускорители (FPGA, SMART-NIC, графические процессоры) играют ключевую роль для ускорения инфраструктурных сервисов и обработки данных для решений искусственного интеллекта/машинного обучения;
  • централизованный ЦОД/облачная среда: большинство реализованных решений включает гибридную/мультиоблачную среду, где обработка данных представляет собой сочетание обработки, производимой на границе сети в режиме, близком к реальному времени, и обработки со стороны серверной части в централизованном дата-центре или в общедоступной облачной среде. В централизованном ЦОДе или в общедоступной облачной среде размещается инфраструктура для глубокого обучения, хранения и обработки данных.

В рамках инфраструктуры для глубокого обучения все больше используются высококлассные графические процессоры и появляющиеся высокопроизводительные микросхемы ASIC для глубокого обучения. Для современных сетей характерны увеличение скорости работы сети (50G/100G и выше), энергостойкая память, высокопроизводительные накопители с поддержкой протокола NVMe и ужесточающиеся требования к безопасности (шифрование, компрессия, глубокая фильтрация пакетов, анализ сетевых операций); в этой связи ускорители для сетевых сервисов позволяют высвобождать аппаратные ресурсы, отвечающие за функции обработки данных в сети. Такой подход обеспечивает поддержку всех этих функций со скоростью, соответствующей среде передачи данных, и создание цепочки сетевых сервисов. Ускорители также применяются и для программно-определяемых стеков хранилищ, обеспечивая реализацию продвинутых функций, таких как дедупликация, удаляющее кодирование, компрессия, шифрование, а также масштабирование для повышения производительности энергонезависимой памяти, накопителей с поддержкой NVMe и высокопроизводительных сетей.

Помимо уже упомянутых возможностей применения ускорителей, растут объемы данных, размещаемых в системах хранения. Для интеллектуального доступа к данным будущие устройства хранения должны быть программируемыми — в таких устройствах FPGA и другие методы аппаратного ускорения встраиваются в подсистему накопителей для выполнения локального анализа данных с передачей результатов в приложение. Такие накопители смогут исполнять сторонний программный код; как правило, их называют системами хранения с поддержкой функций обработки. Это решение оптимизирует передачу данных по сети, в которой может выполняться анализ больших видеофайлов или изображений, а запросы к базе данных могут выполняться непосредственно в месте хранения. Крупные системы хранения также включают ускорители, виртуализацию и полностью облачные платформы для обработки данных и размещения сторонних аналитических приложений.

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

Уже ведутся исследования по оптимизации ускорителей машинного обучения для таких возможностей, как обучение с подкреплением сигналами от среды взаимодействия и объяснимый ИИ. Будущие ускорители машинного обучения будут поддерживать возможности, позволяющие проводить локализованное обучение на границе сети, чтобы дополнительно улучшить принятие решений для локализованных наборов данных. Ускорители на границе сети также должны учитывать условия среды в точке развертывания. Для многих сценариев развертывания на границе ИТ требуется инфраструктура, предназначенная для эксплуатации в тяжелых условиях, поскольку эти решения реализуются либо вне помещения (на улице, на открытой парковке), либо в складских помещениях (например, для розничных магазинов или заводов). Для создания такой инфраструктуры «в защищенном исполнении» с ускорителями для сценариев развертывания на границе сети необходимо учитывать соображения энергопотребления, охлаждения и выбора форм-фактора.

Авторы статьи: Гурав Чавла — вице-президент, Dell EMC Server, группа системной инфраструктуры; Рамеш Радхакришнан — заслуженный инженер, сотрудник подразделения службы разработки серверов и инфраструктуры корпорации Dell EMC.