Сервер с видеокартой – что это и зачем он нужен?

Что такое сервер с видеокартой




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


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




Видеокарта и ее использование для вычислений

Изначально, на заре компьютерной эры, все операции в компьютере выполнял центральный процессор – CPU, Central Processor Unit. Он отвечал и за вычисления, и за передачу звука, и за обработку запросов видеокартой и вывод на экран графики. Те, кто застал старые компьютерные игры тридцатилетней давности, наверняка помнят, что изображение не отличалось особым качеством, а выполнение какой-либо задачи параллельно с запущенной игровой сессией тормозило игру до полного подвешивания. Иногда спасало отключение звука в игре – это немного разгружало процессор, и игра переставала зависать. Но в целом проблема не решалась.


С развитием компьютерного оборудования произошло разделение на интегрированные и дискретные видеокарты. Графические задачи усложнялись, игры и приложения требовали большей мощности видеокарт, и чтобы достичь этого, видеокартам добавили собственный процессор – GPU, Graphic Processor Unit, который отвечает за однотипные вычисления в несколько потоков одновременно. В разных источниках встречаются также названия «видеопроцессор» и «графический ускоритель», которые фактически описывают функционал GPU.


На прикладном уровне мы получаем сложные графические объекты, четко отображаемые на экране в высоком разрешении. Причем как статические (фотографии, чертежи, схемы), так и динамические (игры, включая 3D, анимация, видео).



Принципиальные различия между CPU и GPU

Основное отличие вычислений, производимых центральным процессором, от вычислений на графическом процессоре состоит в принципе потоковой обработки операций, что непосредственно связано с функциональными особенностями CPU и GPU. И в первую очередь речь пойдет о процессорных ядрах – арифметически-логических устройствах, ALU.



Принцип работы CPUЯдро даже самого мощного CPU способно выполнять операции в строгой последовательности: одна за другой. На схеме эта последовательность показана зелеными стрелками. Внедрение в этот поток срочных задач с высоким приоритетом (т.н. прерывания – на схеме показаны оранжевыми стрелками) возможно, но их выполнение точно так же подчиняется последовательной очередности. Выполнение каждого последующего шага начинается после завершения выполнения предыдущего и основано на результатах, полученных на предыдущем этапе. Поэтому ошибка, совершенная на одном из этапов, прерывает работу всей программы – происходит сбой (crash).


На современных многоядерных процессорных платах размещается несколько ядер, каждое из которых обрабатывает инструкции последовательно в рамках одного потока. Таким образом в чипе реализуется многозадачность: различные задачи выполняются одновременно в разных потоках. Но каждая задача в потоке по-прежнему обрабатывается последовательно.



Принцип работы GPUАрхитектурная особенность GPU в том, что такой процессор содержит множество ядер, объединенных в блоки. Ядра графического процессора работают принципиально иначе, чем в CPU, – в них изначально заложена распараллеленность выполнения операций. Иными словами, графический процессор выполняет множество задач одновременно в несколько параллельных потоков. На схеме это обозначено зелеными стрелками. При этом случайная ошибка в одном из потоков расчетах не приводит к критическому сбою в программе, поскольку затрагивает только один из огромного числа потоков. Таким образом достигается высокая производительность вычислений с помощью GPU – в восемь раз выше по сравнению с CPU. По этой причине GPU еще называют графическими ускорителями.


Еще одно важное различие между процессорами CPU и GPU – память, точнее, доступ к памяти и взаимодействие с ней. Графическому процессору не нужна емкая память, а операции записи данных на видеокарту и считывания результата – разные операции, которые поглощают время и ресурс. Однако в последнее время активно ведутся разработки в этой области, позволяя ускорить взаимодействие графического процессора с видеопамятью.



CPU vs. GPU
Различия в архитектуре CPU и GPU.
Исходник схемы взят с https://habr.com/




Где применяют вычисления с помощью видеокарты

Изначально графические процессоры создавались для работы со сложной графикой. Однако высокая производительность многопоточных вычислений сравнительно простых операций, достигнутая вследствие конвейерной архитектуры GPU, позволила использовать видеокарты и для общих вычислений. Технология GPGPU (от англ. General-purpose computing on graphics processing units – общие вычисления на графических процессорах) использует множество параллельных вычислений однотипных операций с неграфическими данными.


Поэтому сфера применения GPU очень широка, например:


  • графический рендеринг в разнообразных приложениях для работы с видеоконтентом,
  • индустрия компьютерных игр и симуляторов;
  • вычисления на GPU популярны в научных исследованиях – например, в молекулярной химии, биохимии, динамике газовых и жидкостных сред, математике, вычислениях из области теории вероятностей;
  • статистические расчеты и построение разнообразных прогностических моделей;
  • разработки в сфере искусственного интеллекта (нейронные сети для Machine Learning и Deep Learning);
  • криптография и криптоанализ;
  • дизайн и 3D-моделирование (визуализация);
  • анализ и обработка Big Data, и многие другие области.

И, конечно, нельзя не вспомнить технологию блокчейн и ее частный случай – майнинг.


Как происходит майнинг криптовалют с помощью видеокарт и как выглядит майнинговая ферма, можно узнать из нашей статьи «Пираты эры интернета: Часть I. Что такое майнинг криптовалют».


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



Что такое выделенный сервер с видеокартой (GPU Server)

Выделенный сервер с GPU – это отличное решение для проектов, требующих высокой вычислительной мощности и производительности ресурсов.


О том, чем выделенный сервер отличается от персонального компьютера, знают все. Если максимально упростить, то персональный компьютер – это программно-аппаратное средство, на котором может работать один пользователь. А сервер – это более сложное оборудование, которое обслуживает сеть из нескольких персональных и мобильных устройств. Основная задача сервера – распределение вычислительных ресурсов между устройствами, составляющими сеть. То есть соотношение «компьютер – сервер» примерно такое же, как «яблоко – яблоня» или «планета – звезда, вокруг которой обращается планета».


И если с использованием видеокарты в персональном компьютере вроде бы все ясно – поиграть, посмотреть фильм, застримить видео, обработать 3D-картинку и так далее, – то понять, для чего нужна видеокарта в сервере, немного сложнее. Ведь у сервера нет монитора, играть и смотреть видео на сервере нельзя.


Однако все просто – сервер с видеокартой используется для вычислений. Оснащать выделенный сервер GPU целесообразно в случаях, когда ваша деятельность связана с ресурсоемкими вычислениями – например, работа с Big Data и Artificial Intelligence, 3D-моделирование, криптоанализ и криптография, включая блокчейн. 


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



Что такое VPS c GPU

VPS с видеокартой – это интересное решение в случаях, когда важна высокая производительность вычислений в сочетании с низкими затратами.


Виртуальный сервер (virtual private server, VPS, или virtual dedicated server, VDS) – это продукт виртуализации: на физическом выделенном сервере (dedicated server) при помощи гипервизора, специального программного обеспечения, создаются несколько изолированных друг от друга виртуальных серверов; при этом все они используют ресурсы мощности физического сервера. То есть память и количество процессорных ядер сервера распределяется между его виртуальными «клонами».


Развитие технологий виртуализации в конечном счете привело к тому, что гипервизор стали использовать и для создания виртуального графического процессора – vGPU. Наиболее известные разработки в этой области принадлежат компании NVidia.


Каким же образом создается vGPU? Аналогично тому, как разворачиваются VPS на сервере – с помощью виртуализации специальным программным обеспечением. Этот софт разворачивает на основе физического GPU, установленного на физическом сервере, несколько виртуальных графических процессоров, которые могут использовать совместно несколько виртуальных машин.



Облачный сервер с видеокартой

Облачный сервер с GPU – это cloud-сервис на основе виртуализации с GPU-ускорителем.


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


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


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


Крупные геймерские компании могут позволить себе использовать платформы с Cloud GPU для своих проектов облачного гейминга. Игры, развернутые на таком оборудовании, – это настоящее произведение искусства, и неудивительно, что у них так много поклонников. Впрочем, как и у сервисов облачного видео-стриминга. Большой популярностью пользуются облачные инстансы, оснащенные GPU, и среди разработчиков веб-приложений, основанных на искусственном интеллекте, а также в исследованиях различных научных направлений.


Справедливости ради стоит все-таки заметить, что затраты на такие проекты велики. Но они себя оправдывают.


* * *

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


Если вы хотите поднять свой проект на принципиально иной уровень производительности, при этом получив огромные преимущества в безопасности, мы рекомендуем вам аренду выделенного сервера с видеокартой, размещенного в дата-центре в Германии.


Обращайтесь к нашим экспертам – они проконсультируют вас в любое время и помогут подобрать инфраструктурное решение с конфигурацией, которая идеально подойдет именно вам.




Материал подготовила Алиса Кандеева

Понравилась статья? Поделитесь ею в социальных сетях!

close