📜 Читайте также: Балансировка нагрузки в Kubernetes
Неконтролируемый рост объема данных, которые нужно обрабатывать с высокой скоростью, привел к тому, что центральный процессор перестал справляться с этой задачей. Чтобы решить эту проблему и повысить производительность компьютерных систем, были созданы специальные процессоры для обработки данных, известные как DPU. Расшифровка аббревиатуры: Data Processing Unit. Они позволяют распределить нагрузку между ЦП и DPU таким образом, чтобы снизить время обработки данных и улучшить производительность системы в целом. В данной статье мы расскажем о том, как появились такие процессоры и о перспективах их использования.
История развития технологии
Все началось в 90-е годы 20 века, когда компаниям предложили незаменимый инструмент в виде процессора Intel x86. Он совместно с программным обеспечением предоставлял клиентам безупречную вычислительную мощность. В этот период активно развивались технологии клиент-серверных, многоуровневых и распределенных вычислений. Запуск серверов и баз данных на множестве серверов x86 значительно повлиял на рост компаний.
В начале 21 века выросла популярность гипервизоров. Тогда для запуска нескольких виртуальных машин было достаточно одного мощного сервера. Гипервизоры изменили способ управления аппаратным обеспечением: администраторы стали самостоятельно программировать автоматическое создание и запуск виртуальных машин. Это послужило толчком к созданию облачных вычислений, которые являются перспективной технологией нашего времени.
Следующим шагом в развитии технологий стало создание хранилищ и технология виртуализации сетей. Мощный центральный процессор стал основой для эмуляции ряда компонентов: виртуальные процессоры, сетевые карты и интерфейсы хранения данных. Также этот подход реализуется облачными провайдерами, включая Timeweb Cloud.
Но у всех технологий есть обратная сторона, у развития вычислительных технологий — это повышенное давление на центральный процессор. Он выполняет множество функций, начиная с запуска операционной системы, операций ввода-вывода и заканчивая сетевым трафиком и безопасностью. Каждый из перечисленных процессов конкурирует за ресурсы процессора. Тем самым количество функций, которые переложили на центральный процессор, несопоставимо с его возможностями. И тогда же отмечают активное проявление двух тенденций:
- Разработка оборудования, предназначенного для выполнения задач связанных с обработкой данных в области искусственного интеллекта.
- Эволюция программируемых устройств.
Как связаны между собой три компонента: DPU, CPU, GPU
Для эффективного решения задач, связанных с искусственным интеллектом, требуется использовать параллельные вычисления, которые невозможно обеспечить только с помощью центрального процессора общего назначения. Именно поэтому GPU или графические процессоры стали ключевым компонентом в развитии искусственного интеллекта и смогли обеспечить необходимый уровень параллелизма, хотя первоначально были созданы с целью ускорить графику.
Американская компания NVIDIA сразу увидела потенциал у этой технологии и начала выпускать GPU, специально разработанные для обеспечения машинного обучения и логического вывода рабочих нагрузок искусственного интеллекта.
Именно выпуск графических процессоров был первым серьезным шагом по снижению нагрузки на центральный процессор. Это способствовало созданию и распространению программируемых чипов на рынке.
Для выполнения определенных задач, например, по оптимизации сетевого трафика, применяются ASIC и FPGA. Это специализированные виды микросхем. Компания Broadcom выпускает процессоры, которые используются на сетевых картах, а также аналогичные решения от Intel, NVidia и других производителей на рынке.
Если кратко, то развитие GPU и программируемых контроллеров вместе с CPU помогает снять излишнюю нагрузку с центрального процессора. Для выполнения сетевых функций, хранения и обработки данных используется специализированное оборудование, а именно сопроцессоры. Эти устройства позволяют разделить задачи между различными компонентами системы, обеспечивая максимальную эффективность работы аппаратных ресурсов.
Об устройстве DPU
Прежде чем перейти к особенностям DPU, важно узнать, что представляют собой ASIC-процессоры и какую роль играет схема сетевой карты.
ASIC-процессор и сетевая карта
Устройство, предназначенное для связи компьютера с другими устройствами в сети и основанное на ASIC с функциями Ethernet-контроллера, называют сетевой картой. Также часто используется аббревиатура NIC. У NIC есть особенность, связанная с его функциональностью. Ее невозможно изменить после его создания, поскольку она определяется на этапе разработки для выполнения конкретных задач.
Избежать ограничения на изменения функциональности можно с SmartNIC. Это осуществимо благодаря возможности загрузки дополнительного программного обеспечения. Пользователи могут экспериментировать с функциональностью процессора, даже не зная его устройства. Чтобы у пользователей была такая возможность, SmartNIC использует дополнительные вычислительные ресурсы, включая многоядерные ARM-процессоры, специальные сетевые процессоры и FPGA, для повышения своей производительности.
Характерные черты DPU
SmartNIC — это расширение для сетевых плат, которое позволяет добавлять на плату сопроцессоры для обработки данных. Например, NVMe и NVMe-oF. Устройства, оснащенные Arm NVMe, способны эффективно обрабатывать ввод-вывод, освобождая центральный процессор, ускоряя работу и при этом сохраняя ресурсы.
С помощью программируемых интерфейсов, встроенных в DPU, приложения и нагрузки могут получить главную часть процессорного времени, т.к. DPU автоматически занимается управлением сетью и хранилищем.
Инновационные решения
Наиболее востребованным и известным решением в области обработки данных стало устройство BlueField от американской компании NVIDIA. Блок был усовершенствован компанией в 2021 году в третьем поколении. Это устройство разработано с целью обеспечить создание высокоскоростной и безопасной инфраструктуры, способной справляться с задачами независимо от используемой среды.
Преимущества решения от NVIDIA:
- Высокий уровень обеспечения безопасности в ЦОД благодаря архитектуре «нулевого доверия».
- Блок обработки данных характеризуется низкой задержкой при прямом доступе к данным.
- Скорость передачи данных может достигать 400 Гбит/с, что позволяет обрабатывать большие объемы.
- Доступ к набору инструментов SDK, которые используют разработчики для создания высокопроизводительных программно-определяемых сервисов, которые оптимизированы для работы в облаке и ускорены с помощью DPU.
Разработкой и развитием собственных ASIC-проектов занимаются такие известные технологические компании, как Google и Amazon. Рассмотрим их решения.
Google TPU является специализированным процессором для машинного обучения, разработанным Google. Его основное предназначение заключается в запуске передовых моделей машинного обучения в облачных сервисах искусственного интеллекта Google Cloud. За счет высокой производительности и эффективной обработки данных, значительно ускорился процесс обучения моделей и сократилось время на выполнение задач.
Чип AWS Graviton — это один из новых продуктов Amazon Web Services, основанный на архитектуре ядра ARM. Это решение разработано с целью обеспечения высокой производительности и эффективного выполнения различных задач в облаке при оптимальной стоимости и максимальной доступности.
Перспективы развития DPU
С большой вероятностью DPU станет таким же незаменимым элементом сервера, как центральный и графический процессоры. С его помощью можно значительно снизить нагрузку на ЦП сервера. Снижение нагрузки увеличивает сроки эксплуатации серверов на несколько лет, особенно если учесть, что значительное количество ресурсов используется для выполнения сетевых операций. По оценкам это порядка 30%.
Если говорить про архитектуру серверов с тремя компонентами, то она будет выглядеть следующим образом:
- CPU отвечает за общее управление системой и выполнение общих вычислительных задач.
- GPU используется для выполнения высокопроизводительных задач, таких как графические вычисления и машинное обучение.
- DPU используется для выполнения сетевых функций, управления хранилищем, обработки трафика и анализа данных.
Путем добавления DPU к серверам, организации могут освободить центральный процессор от выполнения рутинных задач. Например, доступ к сети и хранилищу. А вместо этого сместить фокус на приложения. Это логичное продолжение тенденции, начавшейся более 30 лет назад, когда компании использовали только один центральный процессор для выстраивания производительных систем.
Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.💥