HyperAIHyperAI
Back to Headlines

تسريع تحليل البيانات الضخمة بمحركات GPU-native Velox وNVIDIA cuDF

منذ 6 أيام

مع تزايد حجم البيانات وطلب معالجة أسرع، أصبحت أنظمة قواعد البيانات والمحركات القائمة على وحدات المعالجة الرسومية (GPU) خيارًا فعّالًا مقارنةً بالأنظمة القائمة على وحدات المعالجة المركزية (CPU)، خاصة في المهام الحسابية الثقيلة مثل الدمج المتعدد، والعمليات التجميعية المعقدة، ومعالجة النصوص. تُعدّ وحدات GPU متفوّقة بفضل عرض نطاق عالي للذاكرة وعدد كبير من الخيوط المتوازية، ما يجعلها مثالية لتحليل البيانات الضخمة. لدعم هذا الاتجاه، تتعاون شركة آي بي إم ونيفيديا لدمج مكتبة cuDF من نيفيديا في محرك Velox، مما يمكّن أنظمة شهيرة مثل Presto وApache Spark من تنفيذ الاستعلامات مباشرة على GPU. المشروع مفتوح المصدر ويهدف إلى تسريع معالجة البيانات عبر دمج ميزات GPU في بيئات تحليل البيانات الشائعة. يُعدّ Velox طبقة وسيطة تحوّل خطط الاستعلامات من Presto أو Spark إلى مسارات تنفيذية قابلة للتشغيل على GPU باستخدام cuDF. في حالة Presto، يتم استقبال خطة الاستعلام من المُنسّق، ثم إعادة كتابتها باستخدام مشغلات GPU (مثل TableScan، HashJoin، HashAggregation)، وتُنفّذ لاحقًا على وحدات المعالجة الرسومية. هذه التحسينات أتاحت تنفيذًا كاملًا على GPU في Presto، مع الاستفادة الكاملة من مُحلّل SQL، ومحرّك التحسين، والمُنسّق. أظهرت نتائج الاختبارات باستخدام معيار TPC-H (على مقياس 1000) تحسنًا كبيرًا: بلغ وقت التنفيذ لـ Presto على CPU (AMD 5965X) 1246 ثانية، بينما تراجع إلى 133.8 ثانية على NVIDIA RTX PRO 6000، و99.9 ثانية على شريحة GH200 Grace Hopper. وتم إكمال الاستعلام Q21 باستخدام الذاكرة المدارة (CUDA managed memory) بزمن 148.9 ثانية. في البيئات الموزعة، يُعدّ "Exchange" عاملًا حاسمًا في نقل البيانات بين العقد. وتم تطوير مُشغل Exchange مبني على UCX، الذي يستفيد من اتصالات NVLink عالية السرعة داخل العقد، وRoCE أو InfiniBand بينها. في تجربة على عقدة DGX A100 ذات 8 وحدات GPU، حقق النظام تحسينًا بنسبة أكثر من 6x عند استخدام NVLink مقارنةً بالطريقة القياسية (HTTP)، مع إتمام جميع الاستعلامات دون الحاجة إلى الذاكرة المدارة. أما في Apache Spark، فتم دعم تنفيذ هجين بين CPU وGPU عبر مشاريع مثل Apache Gluten. يتم فيها تفويض المراحل الحسابية الثقيلة فقط إلى GPU، بينما تُنفّذ المراحل الأخرى على CPU. على سبيل المثال، في استعلام TPC-DS 95 على مقياس 100، أدى تفويض المرحلة الثانية إلى GPU إلى تقليل الوقت الكلي، حتى مع استخدام CPU في المرحلة الأولى، مع الحفاظ على موارد CPU لاستخدامات أخرى. هذا التعاون يُسهم في تقليل التكرار وتبسيط الصيانة عبر دمج مشغلات GPU قابلة لإعادة الاستخدام في Velox، مما يسرّع تطور أنظمة تحليل البيانات عبر المكدس المفتوح. تُعد هذه الخطوة جزءًا من جهود جماعية تشمل مطورين من آي بي إم ونيفيديا، وتشجع المجتمع على المشاركة والمساهمة في تطوير هذه التقنية.

Related Links