Új NVIDIA-motor gyorsítja a SQL-lekérdezéseket GPU-n
Az NVIDIA GQE motor akár 7,5-szeres sebességet kínál az adatbázis-lekérdezések feldolgozásában a GPU-k, a nagy sávszélességű memória és a NVLink-C2C segítségével.

Az NVIDIA bemutatta a GQE (GPU Query Engine) nevű referenciamodelljét, amely a modern NVIDIA hardvereken, mint az NVIDIA GB200 NVL4, felgyorsítja a nagyméretű SQL-lekérdezések végrehajtását. A rendszer optimalizálja a CPU-GPU közötti adatmozgatást, a tömörítést és a partíciók metszését, így jelentősen csökkentve a lekérdezési időt.
Architektúra és hardverhasználat
A GQE architektúrája a GPU-k erőforrásait, például a nagy sávszélességű memóriát (HBM), a NVLink-C2C kapcsolatot és a dedikált dekompressziós motorokat használja ki. Ezek az elemek növelik a tárolási kapacitást, gyorsítják az adatátvitelt a CPU és a GPU között, és anélkül gyorsítják az adatelérést, hogy a streaming multiprocesszorokat (SM) terhelnék.Kapcsolódó: GPU-flottafelügyelet
A motor a cuDF és más CUDA-X könyvtárakra épül, mint a CCCL, nvCOMP és nvSHMEM. A GQE-t úgy tervezték, hogy a lekérdezési motorokat a GPU-kra helyezze, a dekompressziót a nvCOMP-ra bízza, GPU-barát adatformátumokat használjon, és zárja a teljesítménybeli réseket a GPU-kon való futtatáskor.
Kapcsolódó: JetPack 7.2
Lekérdezési, adat- és végrehajtási rétegek
A GQE három fő rétegre oszlik: lekérdezés, adat és végrehajtás. A lekérdezési réteg egy SQL-parsert és lekérdezés-optimalizálót tartalmaz, és natívan fogadja a Substrait terveket, ami lehetővé teszi meglévő adatbázisokból származó lekérdezési tervek futtatását GQE-ben. Az Apache DataFusion például SQL-ből alakít át Substrait tervvé.Kapcsolódó: CUDA Tile C++
Az adatréteg kezeli a felhasználói adatok tárolását és rendszerezését a gyors hozzáférés érdekében. A GQE támogatja a GPU-memóriát, a CPU-memóriát és a lemezt is, de a nagy teljesítményű in-memory táblázatformátumra összpontosít. A rendszer igény szerint továbbít adatcsomagokat a GPU-ra, hogy telítse azt munkával, anélkül, hogy a teljes adathalmazt a GPU memóriájában kellene tárolni.
A végrehajtási réteg a fizikai lekérdezési terv alapján hajtja végre a feladatokat. A GQE a fizikai tervet egy feladatgráfba alakítja, amely relációs operátorokra épül az NVIDIA cuDF könyvtár segítségével. A GQE a hardver nagy átviteli sebességét egy GPU-natív kialakítással aknázza ki.
Kapcsolódó: cuTile Python
A GQE adatátviteli optimalizációi közé tartozik a tömörítés és a partíciók metszése. A tömörítés lehetővé teszi a lekérdezési adathalmazok nagyobb méretét egy adott memóriakapacitással, és felgyorsítja az adatátvitelt a GPU-n történő gyors dekompressziónak köszönhetően. A GQE hibrid tömörítési stratégiát alkalmaz a nvCOMP könyvtár és a Blackwell Decompression Engine segítségével, automatikusan kiválasztva a Cascaded és LZ4 algoritmusok között.
Kapcsolódó: AI-ügynökök gyorsítása
A GQE 7,5-szeres aggregált sebességnövekedést ér el a legmodernebb CPU-adatbázisokhoz képest a TPC-H SF1000 teljesítményteszten, egyedi lekérdezéseknél pedig akár 25,5-szeres gyorsulást is tapasztalhatunk — közölte az NVIDIA Developer Blog.