HyperAI

توصية الأداة: عجلات عالية الأداء مصممة خصيصًا لوحدات معالجة الرسومات

منذ 6 أعوام
العناوين الرئيسية
القائمة الموصى بها
Dao Wei
特色图像

بقلم سوبر نيرو

تتمتع وحدات معالجة الرسومات وقواعد البيانات بنقاط القوة الخاصة بها. تتمتع وحدات معالجة الرسومات (GPUs) بالكفاءة في معالجة المهام مثل التعلم الآلي، في حين تتمتع قواعد البيانات بالكفاءة في إجراء العمليات الحسابية ذات المتطلبات المحددة، مثل حسابات الاتصال المعقدة.

توجد حاليًا بعض منتجات حلول قواعد البيانات التي توفر تسريع وحدة معالجة الرسوميات، بما في ذلك MapD وKinetica المألوفين. اليوم سوف نقدم منتجًا مفتوح المصدر وهو BlazingSQL.

BlazingSQL عبارة عن أداة استعلام قاعدة بيانات معجلة بواسطة وحدة معالجة الرسوميات (GPU) مبنية على RAPIDS. يمتد BlazingSQL إلى RAPIDS ويمكّن المستخدمين من تشغيل استعلامات SQL مباشرة على Apache Arrow في ذاكرة وحدة معالجة الرسومات.

بالإضافة إلى قدرتها على التكيف مع وحدات معالجة الرسومات والسرعة، والتي هي أسرع بكثير من المنتجات المماثلة الأخرى، تتطلب معظم مستودعات بيانات SQL من المؤسسات استخراج البيانات ونسخها بنفسها، في حين يمكن لـ BlazingDB قراءة البيانات مباشرة من Apache Parquet، مما يبسط بنية قناة البيانات مع دعم الأحمال عالية الأداء أيضًا.

والأمر الأكثر أهمية هو أن BlazingSQL تلقت أيضًا استثمارات من NVIDIA وSamsung، وتحافظ على علاقة تعاون جيدة جدًا مع NVIDIA.

تقييم الأداء

لمقارنة أداء الأدوات، يتعين عليك إجراء اختبار معياري مقارن وتشغيل عبء عمل تحليلي شامل أولاً.

* الخطوات هي: بحيرة البيانات > هندسة ميزة FTL > تدريب XGBoost

* لقد قمنا ببناء مجموعتين متقاربتين في السعر على GCP، باستخدام Apache Spark وBlazingSQL على التوالي.

* النتيجة النهائية هي أن BlazingSQL يعمل أسرع بخمس مرات من Apache Spark.

(يعمل الإصدار الجديد أسرع بـ 20 مرة من Apache Spark على نفس عبء العمل.)

الحصان الجيد يستحق سرجًا جيدًا

السبب وراء قدرة Blazing SQL على تحقيق نتائج تشغيل فعالة هو أنه يستخدم بشكل فاخر وحدة معالجة الرسوميات T4 الخاصة بـ GCP، وهي وحدة معالجة رسوميات جديدة للمبتدئين رخيصة الثمن ولكنها تتمتع بأداء قوي.

لقد أدى استخدام وحدات معالجة الرسوميات T4 الجديدة إلى خفض تكاليفنا إلى النصف، مما أدى إلى تقليص مجموعة Apache Spark إلى 4 عقد وحدة معالجة مركزية للحفاظ على ثبات الأسعار.

لكن النتيجة النهائية هي أنه حتى لو تم تقليص ذاكرة وحدة معالجة الرسومات إلى النصف، فإن عبء العمل بأكمله سيكون أسرع بشكل كبير.

كما قام مهندسو SQL الماهرون بتطوير نواة تنفيذ وحدة معالجة الرسوميات (GPU) المصممة خصيصًا لإطارات بيانات وحدة معالجة الرسوميات (GDF) والتي تسمى "مترجم تعبيرات SIMD".

سيستغرق وصف مفسّر تعبير SIMD وقتًا طويلاً، لذا سأشارك هنا بعض التفاصيل حول كيفية عمله ولماذا تحدث مثل هذه التحسينات في الأداء.

يتم تحقيق تحسين أداء مفسر تعبير SIMD بشكل أساسي من خلال الخطوات الرئيسية التالية:

1. يدعم الجهاز مدخلات متعددة. يمكن أن تكون هذه المدخلات عبارة عن أعمدة GDF أو حرفيات أو وظائف.

2. عند تحميل هذه المدخلات، يقوم مفسر تعبير SIMD بتحسين تخصيص السجلات على وحدة معالجة الرسومات، مما يحسن استخدام وحدة معالجة الرسومات ويحسن الأداء في النهاية.

3. بالإضافة إلى ذلك، تقوم الآلة الافتراضية بمعالجة هذه المدخلات وتوليد مخرجات متعددة في نفس الوقت. على سبيل المثال، ضع في اعتبارك استعلام SQL التالي: SELECT colA + colB * 10, sin(colA) — cos(colD) FROM tableA