GPU в облаке: настоящее и будущее технологии
/ фото Best Picko CC BY

Тренды

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

Решением проблемы могут стать облачные технологии. Но системы на основе vGPU все еще менее популярны, чем on-premise. В 2018 году NetApp опросили сотню ИТ-специалистов из компаний, использующих графические процессоры в своей работе. Около 60% респондентов сказали, что закупают оборудование. Вариант «Облако» выбрали только 23%.

Причина такого расхождения — устоявшееся мнение о том, что виртуализация снижает производительность устройств. На самом деле в современных системах vGPU почти не уступают по скорости работы bare-metal (разница составляет всего 3%). Это возможно благодаря новым аппаратным и программным решениям, которые предлагают разработчики графических карт и оборудования для дата-центров.

Программные платформы

В феврале этого года VMware сообщила об обновлении для гипервизора ESXi. Оно увеличило скорость работы виртуальных GPU с помощью двух нововведений. Первое — в ESXi добавили технологию DirectPath I/O. Она позволила драйверу CUDA связываться с GPU в обход гипервизора и, таким образом, быстрее передавать данные. Второе новшество — из ESXi убрали функцию балансировки нагрузки vMotion. В случае с GPU эта процедура не нужна, так как ВМ всегда работает с одним ускорителем. Это решение сократило операционные расходы на передачу данных.

Еще одну платформу выпустила Nvidia. Компания представила open source решение под названием Rapids. Оно объединяет несколько библиотек для работы с архитектурой CUDA. Эти библиотеки помогают с подготовкой данных для тренировки нейросетей и автоматизируют работу с Python-кодом. Вся эта функциональность упрощает работу с алгоритмами машинного обучения.

Похожую платформу под названием ROCm создают и в AMD. Решение объединяет множество библиотек для организации высокопроизводительных вычислений. В его основе — специальный диалект C++ под названием HIP. Он упрощает выполнение математических операций на GPU. Речь идет о работе с разреженными матрицами, быстрым преобразованием Фурье и генераторами случайных чисел. Также в составе платформы есть технология SR-IOV (single-root input/output virtualization). Она разделяет шину PCIe между виртуальными машинами, что ускоряет передачу данных между облачными CPU и GPU.

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

Аппаратные платформы

Разработчики графических процессоров выпускают и аппаратные решения, повышающие производительность кластеров vGPU. К примеру, в прошлом году Nvidia представила новый графический процессор для дата-центров Tesla T4 на базе архитектуры Turing. По сравнению с GPU предыдущего поколения производительность T4 для 32-битных операций с плавающей точкой выросло с 5,5 до 8,1 терафлопс (стр. 60 документа).

Реклама на Компьютерре

Новая архитектура увеличила производительность ускорителя за счет разделения работы с целочисленными операциями и операциями с плавающей точкой. Теперь они выполняются на отдельных ядрах. Также разработчик объединил разделяемую память и кеш L1 в один модуль. Такой подход увеличил пропускную способность кеша и его объем. Карты T4 уже используют крупные облачные провайдеры.

GPU в облаке: настоящее и будущее технологии
/ фото Alberto Garcia CC BY-SA

Перспективы

В ближайшем будущем эксперты ожидают рост спроса на облачные графические ускорители. Этому поспособствует развитие гибридных технологий, объединяющих GPU и CPU в одном устройстве. В таких интегрированных решениях два вида ядер используют общий кэш, что ускоряет перенос данных между графическими и традиционными процессорами. Для таких чипов уже разрабатывают специальные балансировщики нагрузки, которые повышают производительность vGPU в облаке на 95% (слайд 16 презентации).

Но некоторые аналитики полагают, что виртуальные GPU заменит новая технология — оптические чипы, в которых данные кодируются фотонами. На таких устройствах уже запускают алгоритмы машинного обучения. Например, оптический чип стартапа LightOn выполнил задачу transfer learning в несколько раз быстрее обычного GPU — за 3,5 минуты вместо 20.

Вероятнее всего, первыми новую технологию начнут внедрять крупные облачные провайдеры. Ожидается, что оптические чипы ускорят обучение рекуррентных нейронных сетей с архитектурой LSTM и нейронных сетей прямого распространения. Создатели оптических чипов надеются, что подобные устройства поступят в продажу через год. Ряд крупных провайдеров уже планирует протестировать новый вид процессоров в облаке.

Что в итоге

Остается надеяться, что подобные решения приведут к росту популярности облачных высокопроизводительных технологий и количество компаний, обрабатывающих большие данные в облаке, увеличится.

Продолжить чтение в нашем блоге:

Avito.ru: как облако IaaS помогает в организации бизнеса компании

Как повысить энергоэффективность дата-центра

Почему корпоративные заказчики используют виртуальные машины, а не контейнеры