RCUDA
Тип | GPGPU |
---|---|
Розробник | Universitat Politecnica de Valencia |
Стабільний випуск | 20.07 (26 липня 2020 ) |
Операційна система | Linux |
Вебсайт | rcuda.net |
rCUDA, що розшифровується як Remote CUDA - це тип проміжного програмного забезпечення для віртуалізації віддаленого GPU . Повністю сумісний з інтерфейсом прикладного програмування CUDA ( API ), він дозволяє виділяти один або кілька GPU з підтримкою CUDA для однієї програми. Кожен GPU може бути частиною кластера або працювати всередині віртуальної машини . Підхід спрямований на підвищення продуктивності кластерах графічних процесорів, яким не вистачає повного завантаження. Віртуалізація GPU зменшує кількість графічних процесорів, необхідних у кластері, і, в свою чергу, призводить до зниження вартості конфігурації – менше енергії, витрат на придбання та обслуговування.
Рекомендована архітектура розподіленого прискорення це високопродуктивний обчислювальний кластер із графічними процесорами, підключеними лише до кількох вузлів кластера. Коли вузол без локального GPU виконує додаток, що потребує ресурсів GPU, віддалене виконання ядра підтримується передачею даних і коду між локальною системною пам’яттю і віддаленою пам’яттю GPU. rCUDA розроблена для підтримки цієї клієнт-серверної архітектури. З одного боку, клієнти використовують бібліотеку обгорток для високорівневого API середовища виконання CUDA, а з іншого - мережева служба прослуховування, яка отримує запити через порт TCP . Кілька вузлів, на яких запущені різні додатки з графічним процесором, можуть одночасно використовувати весь набір прискорювачів, встановлених у кластері. Клієнт пересилає запит на один із серверів, який звертається до встановленого на цьому комп'ютері GPU, і виконує запит на ньому. Часове мультиплексування графічного процесора або, іншими словами, його спільне використання досягається шляхом створення різних серверних процесів для кожного віддаленого запиту на виконання графічного процесора. [1] [2] [3] [4] [5] [6]
Проміжне програмне забезпечення rCUDA забезпечує одночасне використання CUDA-сумісних пристроїв віддалено.
rCUDA використовує мережу InfiniBand або API сокета для зв’язку між клієнтами та серверами. rCUDA може бути корисним у трьох різних середовищах:
- Кластери.Зменшити кількість графічних процесорів, встановлених у високопродуктивних кластерах. Це призводить до економії енергії, а також інших супутніх витрат, таких як витрати на придбання, технічне обслуговування, простір, охолодження тощо.
- Академічне середовище. У комерційних мережах, щоб запропонувати доступ до кількох високопродуктивних графічних процесорів одночасно для багатьох студентів.
- Віртуальні машини. Для забезпечення доступу до можливостей CUDA на фізичній машині.
Поточна версія rCUDA (v20.07) підтримує CUDA версії 9.0, за винятком сумісності графіки. rCUDA v20.07 орієнтована на ОС Linux (для 64-розрядних архітектур) як на стороні клієнта, так і на стороні сервера.
CUDA додатки не потребують жодних змін у вихідному коді для того, щоб їх можна було виконувати з rCUDA.
- ↑ J. Prades; F. Silla (December 2019). GPU-Job Migration: the rCUDA Case. Transactions on Parallel and Distributed Systems, vol 30, no. 12.
- ↑ J. Prades; C. Reaño; F. Silla (March 2019). On the Effect of using rCUDA to Provide CUDA Acceleration to Xen Virtual Machines. Cluster Computing, vol.22, no. 1.
- ↑ F. Silla; S. Iserte; C. Reaño; J. Prades (July 2017). On the Benefits of the Remote GPU Virtualization Mechanism: the rCUDA Case. Concurrency and Computation: Practice and Experience, vol. 29, no. 13.
- ↑ J. Prades; B. Varghese; C. Reaño; F. Silla (October 2017). Multi-Tenant Virtual GPUs for Optimising Performance of a Financial Risk Application. Journal of Parallel and Distributed Computing, vol. 108. arXiv:1606.04473.
- ↑ F. Pérez; C. Reaño; F. Silla (June 6–9, 2016). Providing CUDA Acceleration to KVM Virtual Machines in InfiniBand Clusters with rCUDA. 16th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS 2016), Heraklion, Crete, Greece.
- ↑ S. Iserte; J. Prades; C. Reaño; F. Silla (May 16–19, 2016). Increasing the Performance of Data Centers by Combining Remote GPU Virtualization with Slurm. 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID 2016), Cartagena, Colombia.