Референсна архітектура NVIDIA GPU Query Engine прискорює SQL-запити у 7.5 разів порівняно з CPU
NVIDIA детально описала GQE — референсну архітектуру для виконання високонавантажених SQL-запитів безпосередньо на GPU. Використовуючи зв'язок NVLink-C2C та стиснення nvCOMP, вона забезпечує прискорення аналітичних запитів до 25.5 разів.
Вплив: Середній
Чому це важливо
GQE вирішує серйозні проблеми з обмеженням пропускної здатності пам'яті та введення-виведення, дозволяючи базам даних виконувати високонавантажені запити безпосередньо на апаратному забезпеченні GPU без надмірного споживання ресурсів SM.
TL;DR
- 01GQE прискорює SQL-запити за допомогою трьох шарів: запитів, даних та виконання.
- 02Він використовує апаратний рушій декомпресії Blackwell для LZ77-декомпресії без залучення ресурсів SM.
- 03Забезпечує агреговане прискорення у 7.5 разів на тестах продуктивності та до 25.5 разів для окремих запитів.
Ключові факти
- Середнє прискорення
- В 7.5 разів порівняно з CPU
- Пікове прискорення запиту
- До 25.5 разів на TPC-H SF1000
- Ключові бібліотеки
- cuDF, CCCL, nvCOMP, nvSHMEM
- Апаратне з'єднання
- NVIDIA NVLink-C2C
Архітектурні шари GQE
GQE трансформує SQL-запити на рівень апаратного виконання через три основні шари: 1. Шар запитів (Query Layer): Парсить SQL у логічні плани Substrait, забезпечуючи сумісність із рушіями на кшталт Apache DataFusion, а потім компілює їх в оптимізовані фізичні плани. 2. Шар даних (Data Layer): Організує пам'ять на стороні CPU у небезперервні сегменти колонок, об'єднані в групи рядків. Він керує асинхронним завантаженням блоків через cudaMemcpyBatchAsync на вимогу. 3. Шар виконання (Execution Layer): Планує завдання реляційних операторів у паралельних CUDA-потоках, поєднуючи перенесення даних із обчисленнями.
Апаратне стиснення та декомпресія на GPU
Для розширення доступного об'єму пам'яті GQE інтегрує бібліотеку nvCOMP. В архітектурі Blackwell апаратний рушій Blackwell Decompression Engine (DE) може декомпресувати стандартні LZ77-формати (LZ4, Snappy, Deflate) із надвисокою швидкістю взагалі без залучення ресурсів потокових мультипроцесорів (SM). Загалом оптимізації GQE забезпечують агреговане прискорення в 7.5 разів порівняно з базами даних на CPU, а прискорення окремих запитів досягає до 25.5 разів.
✓ Коли використовувати
- При проектуванні прискорення великомасштабних SQL-запитів на системах із високою пропускною здатністю на кшталт NVIDIA GB200 NVL4.