GPU-сервери зсередини
Сучасні графічні процесори (GPU) витісняють типові центральні процесори (CPU) з паралельних обчислень. Машинне навчання, нейромережі, розпізнавання голосу і зображень, математичне моделювання, візуалізація в іграх і проектуванні - завдання для GPU- серверів. Розкид варіантів величезний: доки "прем'єр-ліга" освоює топові NVIDIA DGX A100 продуктивністю 5 петафлопсів і вартістю $200K, звичайні користувачі обходяться демократичними платформами на акселераторах NVIDIA A10/A30/A40 і A4000/A5000/A6000.
Процесори AMD EPYC ідеальні під GPU- сервери. Мають до 64 ядер і 128 ліній PCIe Gen4. Не випадково ж NVIDIA переобладнує свої сервери на AMD EPYC. У нинішніх Intel Xeon SP другого покоління - до 28 ядер і 48 ліній PCIe Gen3. У третьому поколінні Intel Xeon SP, яке з'явиться до осені, буде 64 лінії PCIe Gen 4. Технологічна та економічна перевага - за AMD.
Як влаштовані графічні платформи
На ринку є багато варіацій GPU-платформ на одному і двох AMD EPYC під різну кількість GPU- акселераторів. Є і на двох Intel Xeon SP. Найпродуктивнішим варіантом можна вважати співвідношення чотирьох графічних процесорів до одного центрального.
До числа таких відноситься однопроцесорний сервер ASUS ESC4000A-E10 на AMD EPYC. Він вміщує чотири GPU подвійної ширини або вісім одинарної.
Платформа заввишки 2U має "купейне" планування.
GPU-акселератори для установки в сервери відрізняються від побутових - у них подвійна ширина проти майже потрійної, подовжня продувка (турбіна) замість вентиляторів з бічним відведенням тепла.
Перед установкою в сервер графічні процесори монтуються попарно в касети.
Висоти платформи 2U досить для горизонтального розміщення чотирьох GPU. З блок-схеми видно запас шинних ліній для підключення не лише GPU, але і контролерів периферії та NVMe SSD.
Наш тестовий інтерес
Зупинимося на завданнях візуалізації в проектуванні, відеовиробництві, іграх, додатках доповненої реальності. Ми хочемо перевірити як на розрахунок складних сцен впливає GPU-масштабування - додавання в систему графічних процесорів. Скористаємося стандартними програмами рендерінгу.
Рендерінг V-Ray працює як плагін для Autodesk 3ds Max, Cinema 4D, SketchUp, Rhino, Revit, ArchiCAD, Maya, Blender і багатьох інших. Розроблений і оптимізований творцями для використання усіх можливостей усіх апаратних компонентів : CPU, GPU, RAM, сховища, мережі та материнської плати. CPU і GPU можуть використовуватися одночасно з V-Ray - наприклад, ядра центрального процесора власне для рендерінга, а графічний процесор - для шумозаглушення та оптичних ефектів. Чи навпаки, V-Ray працює на графічних картах, але долучає CPU під обчислення Light cache GI. Можливий гібридний рендерінг в V-Ray GPU, коли компоненти GPU і CPU можуть рендерити одночасно.
Розробник пропонує набір тестів V-Ray Benchmark для оцінки можливостей робочої станції під V-Ray.
Це рендер реального часу, який використовує CUDA та який працює на графічних процесорах nVidia. Побудований на трасуванні променів. Підтримує і масштабує продуктивність в конфігураціях з декількома GPU. Прискорення найбільш помітне в складних сценах. Для тестування користуються утилітою RTX OctaneBench.
Потужний рендер з прискоренням на графічному процесорі, Redshift пропонує набір різноманітних функцій та інтегрується зі стандартними додатками комп'ютерної графіки. Демо-версія функціонально ідентична комерційній, безплатна, містить плагіни для Maya, 3dsMax, Softimage, C4D, Houdini, Katana.
Тестовий стіл
GPU-сервер |
|
CPU |
AMD EPYC 7302P 16 Core |
Платформа |
ASUS ESC4000A-E10 |
RAM |
8 x DDR4-3200 16GB Reg ECC |
Video Card |
4 х ASUS GeForce RTX 3090 TURBO (TURBO-RTX3090-24G) |
Hard Drive |
2 x 960 GB SSD Western Digital Ultrastar SN640 U.2 NVMe |
Software |
Windows 10 Pro 64-bit V-Ray 5.0.20 Octane Bench 2020.2.3 Redshift 3.0.36 |
Взагалі кажучи, в професійних застосуваннях повинні використовуватися професійні ж графічні акселератори NVidia. Наприклад, A6000 замість RTX 3090.
Споживачі встигли полюбити карти RTX 3090 Turbo - подвійної ширини, з турбіною, вони стають в GPU-сервери по декілька штук. З побутовими версіями RTX 3090 так не вийде.
NVidia недовго мирилася з канібалізацією продажів своїх же "істинно cерверных" GPU Аxxx. Пройшло півроку і виробникам "настійно порекомендували" припинити випуск турбо-версій RTX 3090. Фактично, наші тести - "дембельский акорд" RTX 3090 Turbo.
Тести
В сервері з 4 GPU ми по черзі відключали акселератори, щоб оцінити падіння продуктивності.
V-Ray і OctaneBench показують практично лінійне масштабування продуктивності за кількістю активних GPU.
У RedShift додавання GPU не призводить до пропорційного скорочення часу рендерінгу, але істотне заощадження часу очевидне. У візуалізації складних сцен, що вимагають багатогодинних розрахунків, кожна годину на рахунку.
Післясмак
Якщо мова про єдиний GPU на сервер (робочу станцію), конструктивне рішення підібрати нескладно. Але для двох, а тим більше для чотирьох GPU, потрібна спеціалізована платформа. Коли усі чотири графічні процесори працюють на повній потужності, температура на них перевищує 80° C. Не лише турбіни самих GPU, але і системи охолодження сервера повинні мати "запас ходу" вентиляторів - з урахуванням високої температури оточення і тепла, що виділяється іншими компонентами. Такі сервери шумлять і ненажерливі по енергоспоживанню. У нашому випадку джерела живлення 1600 Вт вистачало упритул. Має сенс вибирати платформи з потужнішими блоками живлення - наприклад, 2200 Вт.
Ми навантажували сервер рендерингом. У інших областях GPU-обчислень ефекти будуть іншими. Вибір акселераторів з пропозиції NVIDIA A10/A30/A40 і A4000/A5000/A6000 диктують завдання.
Очевидне одне: графічні процесори стають популярнішими, а попит на GPU-сервери стабільно зростає. Формат 2U/1xAMD EPYC/2...4 GPU - найбільш демократичний і популярний серед них.