Вважається, що віртуальні сервери з vGPU коштують дорого. У невеликому огляді я спробую спростувати цю тезу.

Пошук у мережі відразу видає оренду суперкомп'ютерів на NVIDIA Tesla V100 або серверів з потужними виділеними GPU простіше. Подібні послуги є, наприклад, у , або . Їхня місячна вартість вимірюється десятками тисяч рублів, а мені хотілося знайти дешевші варіанти для додатків OpenCL та/або CUDA. Бюджетних VPS з відеоадаптерами на російському ринку не так багато, у невеликій статті я порівняю їхні обчислювальні можливості за допомогою синтетичних тестів.
Учасники
До списку кандидатів на участь у огляді потрапили віртуальні сервери хостерів , , , и . З отриманням доступу особливих проблем не виникло, оскільки майже всі провайдери мають безкоштовний тестовий період. UltraVDS безкоштовного тесту офіційно немає, але домовитися виявилося нескладно: дізнавшись про публікацію, співробітники підтримки накинули мені потрібну для замовлення VPS суму на бонусний рахунок. На цьому етапі з дистанції зійшли віртуальні машини VDS4YOU, тому що для безкоштовного тестування хостер вимагає надати посвідчення особи. Розумію, що від зловживань потрібно захищатися, але для перевірки цілком достатньо реквізитів паспорта або, наприклад, прив'язування облікового запису в соціальній мережі – її вимагає 1Gb.ru.
Конфігурації та ціни
Для тестування були взяті машини середнього рівня, вартістю менше 10 тисяч рублів на місяць: 2 обчислювальні ядра, 4 ГБ оперативної пам'яті, SSD на 20 - 50 ГБ, vGPU з 256 МБ VRAM і Windows Server 2016. Перед оцінкою продуктивності VDS подивимося на їхні графічні підсистеми збройним поглядом. Створена компанією утиліта дозволяє отримати детальну інформацію про апаратні та програмні рішення, що використовуються хостерами. З її допомогою можна побачити, наприклад, версію відеодрайвера, обсяг доступної відеопам'яті, а також дані підтримки OpenCL і CUDA.
1Gb.ru
GPUcloud
RuVDS
UltraVDS
Віртуалізація
Hyper-V
OpenStack
Hyper-V
Hyper-V
Обчислювальних ядер
2*2,6 ГГц
2*2,8 ГГц
2*3,4 ГГц
2*2,2 ГГц
RAM, ГБ
4
4
4
4
Накопичувач, ГБ
30 (SSD)
50 (SSD)
20 (SSD)
30 (SSD)
vGPU
RemoteFX
NVIDIA GRID
RemoteFX
RemoteFX
відеоадаптер
NVIDIA GeForce GTX 1080 Ti
NVIDIA Tesla T4
NVIDIA Quadro P4000
AMD FirePro W4300
vRAM, МБ
256
4063
256
256
Підтримка OpenCL
+
+
+
+
Підтримка CUDA
-
+
-
-
Ціна на місяць (при оплаті за рік), руб.
3494 (3015)
7923,60
1904 (1333)
1930 (1351)
Оплата за ресурси, руб
немає
CPU = 0,42 руб/годину,
RAM = 0,24 руб / год,
SSD = 0,0087 руб/годину,
OS Windows = 1,62 руб/годину,
IPv4 = 0,15 руб/годину,
vGPU (T4/4Gb) = 7 руб/год.
від 623,28 + 30 за інсталяцію
немає
Тестовий період
10 днів
7 днів або більше за домовленістю
3 дні при помісячній тарифікації
немає
З розглянутих провайдерів лише GPUcloud використовує віртуалізацію OpenStack та технологію NVIDIA GRID. Через великий об'єм відеопам'яті (доступні профілі на 4, 8 та 16 ГБ) послуга коштує дорожче, але у клієнта працюватимуть програми OpenCL та CUDA. Інші претенденти пропонують vGPU та з меншим обсягом VRAM, створені з використанням Microsoft RemoteFX. Коштують вони значно дешевше, але підтримують лише OpenCL.
Тестування роботи
Лавка гіків 5
За допомогою цієї популярної можна виміряти продуктивність графічної підсистеми додатків OpenCL і CUDA. На наведеній нижче діаграмі показаний зведений результат, а докладніші дані для віртуальних серверів , GPUcloud ( и ), и доступні на сайті розробника бенчмарку. Якщо їх відкрити, виявиться цікавий факт: GeekBench показує обсяги VRAM, які набагато перевищують замовлені 256 МБ. Тактова частота центральних процесорів також може бути більшою за заявлену. У віртуальних середовищах це звичайне явище багато залежить від завантаженості фізичного хоста, на якому працює VPS.

«Серверні» vGPU, що розділяються, слабші за продуктивні «настільні» відеоадаптери, якщо використовувати їх для великовагових графічних додатків. Такі рішення призначені переважно для обчислювальних завдань. Для оцінки їхньої ефективності були проведені інші синтетичні тести.
FAHBench 2.3.1
Для всебічного аналізу обчислювальних можливостей vGPU не підходить, але з його допомогою можна порівняти продуктивність відеоадаптерів різних VPS у складних розрахунках із використанням OpenCL. Проект розподілених обчислень вирішує вузьку задачу комп'ютерного моделювання згортання білкових молекул. Дослідники намагаються зрозуміти причини виникнення пов'язаних з дефектними білками патологій: хвороб Альцгеймера та Паркінсона, коров'ячого сказу, розсіяного склерозу тощо. Виміряна за допомогою створеної ними утиліти продуктивність обчислень з одинарною та подвійною точністю показана на діаграмі. На жаль, на віртуальній машині UltraVDS утиліта видала помилку.

Далі наведу порівняння результатів обчислень методу моделювання dhfr-implicit.

SiSoftware Sandra 20/20
Пакет відмінно підходить для оцінки обчислювальних можливостей віртуальних відеоадаптерів різних хостерів. Утиліта містить набори еталонних обчислювальних тестів загального призначення (GPGPU) та підтримує OpenCL, DirectCompute та CUDA. Для початку було зроблено загальну оцінку різних vGPU. Діаграма показує зведений результат, докладніші дані для віртуальних серверів , GPUcloud () і доступні на сайті розробника бенчмарку.

Із «довгим» тестом Sandra теж були проблеми. Для VPS провайдера GPUcloud не вдалося провести загальну оцінку з використанням OpenCL. При виборі відповідної опції утиліта працювала через CUDA. Не пройшов цей тест і для машини UltraVDS: Бенчмарк завмер на 86%, намагаючись визначити латентність пам'яті.
У загальному пакеті тестів не можна побачити показники з достатнім ступенем деталізації або виконати обчислення з високою точністю. Довелося провести кілька окремих випробувань, починаючи з визначення пікової продуктивності відеоадаптера за допомогою набору простих математичних розрахунків з використанням OpenCL та (якщо це можливо) CUDA. Тут також відображено лише загальний показник, а деталізовані результати для VPS від , GPUcloud ( и ), и доступні на сайті.

Для порівняння швидкості кодування та декодування даних у Sandra є набір криптографічних тестів. На сайті доступні докладні результати для , GPUcloud ( и ), и .

Паралельні фінансові розрахунки вимагають обчислення з подвійною точністю адаптера. Це ще одна важлива галузь застосування vGPU. На сайті доступні докладні результати для , GPUcloud ( и ), и .

Sandra 20/20 дозволяє протестувати можливості використання vGPU для наукових розрахунків із високою точністю: множення матриць, швидкого перетворення Фур'є тощо. На сайті доступні докладні результати для , GPUcloud ( и ), и .

Насамкінець було проведено тест можливостей vGPU з обробки зображень. На сайті доступні докладні результати для , GPUcloud ( и ), и .

Висновки
Віртуальний сервер GPUcloud показав відмінні результати в тестах GeekBench 5 і FAHBench, але в еталонних тестах Sandra вище за загальний рівень не піднявся. Коштує він набагато дорожче за послуги конкурентів, проте має значно більший обсяг відеопам'яті та підтримує CUDA. У тестах Sandra з високою точністю обчислень лідирував VPS від 1Gb.ru, але він теж не з дешевих та в інших випробуваннях виявив себе середньо. Очевидним аутсайдером виявився UltraVDS: не знаю чи є тут зв'язок, але тільки цей хостер пропонує клієнтам відеокарти AMD. За співвідношенням ціна/продуктивність найкращим мені здався сервер RuVDS. Коштує він менше 2000 рублів на місяць, при цьому випробування пройшли цілком гідно. Підсумкова турнірна таблиця виглядає так:
Місце
Хостер
Підтримка OpenCL
Підтримка CUDA
Висока продуктивність GeekBench 5
Висока продуктивність по FAHBench
Висока продуктивність Sandra 20/20
Низька ціна
I
RuVDS
+
-
+
+
+
+
II
1Gb.ru
+
-
+
+
+
+
III
GPUcloud
+
+
+
+
+
-
IV
UltraVDS
+
-
-
-
-
+
У мене були певні сумніви з приводу переможця, але огляд присвячений бюджетним VPS з vGPU, а віртуальна машина RuVDS коштує майже вдвічі дешевше за найближчого конкурента і більш ніж вчетверо — найдорожчу пропозицію з розглянутих. Друге та третє місце теж було непросто поділити, але й тут ціна переважила інші фактори.
В результаті тестування з'ясувалося, що vGPU початкового рівня коштують не так дорого і користуватися ними для вирішення обчислювальних завдань можна. Звичайно, по синтетичних тестах складно передбачити, як поведеться машина під реальним навантаженням, до того ж від сусідів по фізичному хосту безпосередньо залежить можливість виділення ресурсів - робіть на це знижку. Якщо ж ви знайдете на просторах рунету інші бюджетні VPS з vGPU, не вважайте за працю написати про них у коментарях.
Джерело: habr.com
