HyperAIHyperAI

Command Palette

Search for a command to run...

تسريع فك ضغط البيانات باستخدام nvCOMP ومحرك فك الضغط في أرخص NVIDIA Blackwell

تُعد تقنية الضغط أحد الحلول الأساسية لتقليل تكاليف التخزين وتسريع نقل البيانات في قواعد البيانات، والاتصالات داخل مراكز البيانات، والحوسبة عالية الأداء، والتعلم العميق. لكن عملية فك الضغط غالبًا ما تؤدي إلى تأخير في الأداء واستهلاك كبير للموارد الحسابية، مما يعيق الأداء العام. لمعالجة هذه التحديات، أطلقت NVIDIA محرك فك الضغط (Decompression Engine - DE) كجزء من معمارية Blackwell، ودمجته مع مكتبة nvCOMP، لتمكين تسريع فك الضغط عبر الأجهزة وتحقيق تكامل سلس مع التطبيقات. يُعد محرك DE وحدة صناعية مخصصة مدمجة في معمارية Blackwell، مصممة لتسريع فك ضغط تدفقات Snappy، LZ4، وDeflate. بتحويل مهمة فك الضغط من المعالجات العامة إلى الأجهزة، يُحرر DE وحدات المعالجة المتطورة (SM) لاستخدامها في المهام الحسابية، بدلاً من استهلاكها في معالجة البيانات. كما يتم دمجه مع محرك النسخ، مما يسمح بنقل البيانات المضغوطة مباشرة عبر PCIe أو بين المعالجات (C2C) وفك ضغطها أثناء النقل، مما يزيل عقدة التأخير في إدخال/إخراج البيانات. أحد الفوائد الرئيسية هو تمكين التوازي الحقيقي بين نقل البيانات والمعالجة. يمكن لتطبيقات البيانات الكبيرة مثل تدريب النماذج اللغوية الكبيرة، وتحليل البيانات الجينومية الضخمة، أو محاكاة الحوسبة عالية الأداء، الحفاظ على سرعة عالية تتماشى مع عرض النطاق الترددي للمعالجات Blackwell، دون توقف بسبب التأخير في إدخال/إخراج البيانات. تُقدّم مكتبة nvCOMP دعمًا لضغط وفك ضغط البيانات على GPU، وتدعم مجموعة واسعة من التنسيقات القياسية، بالإضافة إلى تنسيقات مُحسّنة خصيصًا لتقديم أفضل أداء على GPU. وبما أن بعض التنسيقات (مثل Snappy) تُعالج بفعالية أكبر على المعالجات التقليدية أو الأجهزة الثابتة، فإن DE يُعد حلاً مثاليًا لتعويض هذه الفجوة في الأداء. للاستفادة من محرك DE، يُنصح المطورون باستخدام واجهات برمجة التطبيقات (APIs) في nvCOMP. نظرًا لأن DE متوفر حاليًا فقط على أجهزة محددة (مثل B200، B300، GB200، GB300)، فإن nvCOMP تضمن التوافق عبر الأجهزة، حيث تستخدم DE تلقائيًا عند توفره، وتعود إلى التنفيذ على SM عند عدم توفره، دون الحاجة إلى تعديل الكود. لكن يجب الانتباه إلى متطلبات الذاكرة: يجب أن تكون الحزم (buffers) مخصصة باستخدام مAllocator متوافقة مع DE، مثل cudaMallocFromPoolAsync أو cuMemCreate مع علامة cudaMemPoolCreateUsageHwDecompress أو CU_MEM_CREATE_USAGE_HW_DECOMPRESS. يُنصح بتخصيص الذاكرة على العقدة NUMA الأولى للحصول على أفضل أداء. لتحقيق أقصى كفاءة، يُفضل تجميع الحزم (batching) في نفس التخصيص، حيث أن استخدام حزم من مصادر مختلفة يُسبب تأخيرًا كبيرًا في إطلاق المحرك. كما أن واجهات nvCOMP غير المتزامنة تتزامن تلقائيًا مع التدفق (stream) المُستخدم، لذا يُنصح بالتزامن يدويًا عند الحاجة إلى استخدام النتيجة على الجهاز. يُذكر أن أي حزمة تزيد عن 4 ميغابايت على B200 ستُعيد nvCOMP استخدام SM، وقد تتغير هذه الحدود مستقبلاً، ويمكن استرجاعها عبر واجهة برمجة محددة. من حيث الأداء، يتفوق DE على SM في سرعة فك الضغط، مع تحرير موارد SM لمهام أخرى. وفقًا لاختبارات Silesia، يُظهر DE أداءً متفوقًا بشكل ملحوظ في فك ضغط LZ4 وDeflate وSnappy، خاصة مع أحجام الحزم 64 كيلوبايت و512 كيلوبايت. وتم تحسين دعم Snappy في الإصدار 5.0 من nvCOMP، مع إمكانية تحسينات إضافية مستقبلية. باختصار، يُعد محرك DE في معمارية Blackwell خطوة كبيرة نحو تسريع معالجة البيانات الكبيرة، حيث يُقلل التأخير، ويعزز استخدام GPU بكفاءة، ويُسهل التكامل عبر مكتبة nvCOMP دون تعديل الكود. يُمكن للمطورين البدء باستخدام الموارد المتاحة لاستكشاف هذه الميزات الجديدة وتحسين أدائهم في التطبيقات الحساسة للبيانات.

الروابط ذات الصلة