حتمية اختراق FPGA لمراكز البيانات

حتمية اختراق FPGA لمراكز البيانات
لا تحتاج إلى أن تكون مصمم شرائح لتتمكن من برمجة FPGAs، تمامًا مثلما لا تحتاج إلى أن تكون مبرمجًا بلغة C++ لكتابة تعليمات برمجية بلغة Java. ومع ذلك، في كلتا الحالتين سيكون من المفيد على الأرجح.

الهدف من تسويق تقنيات Java و FPGA هو دحض الادعاء الأخير. أخبار جيدة لـ FPGAs - استخدام طبقات التجريد الصحيحة ومجموعة الأدوات، في آخر 35 عامًا منذ اختراع الجهاز المنطقي القابل للبرمجة، أصبح إنشاء الخوارزميات وتدفقات البيانات لـ FPGA بدلاً من وحدات المعالجة المركزية (CPU) أو معالجات البيانات الرقمية (DSPs) أو وحدات معالجة الرسومات (GPU) أو أي شكل آخر من أشكال ASICs المخصصة أصبحت شائعة بشكل متزايد وأسهل.

يتجلى التوقيت المذهل لإنشائها في حقيقة أنه عندما لم تعد وحدات المعالجة المركزية قادرة على البقاء وحدة الحوسبة الوحيدة في مراكز البيانات لأداء العديد من المهام - لمجموعة متنوعة من الأسباب - حققت FPGAs فعاليتها، حيث توفر السرعة وزمن الوصول المنخفض وقدرات التواصل والذاكرة - قدرات الحوسبة غير المتجانسة لـ FPGA SoCs الحديثة، والتي تكاد تكون أنظمة حوسبة كاملة. ومع ذلك، يتم دمج FPGAs بنجاح مع الأجهزة الأخرى في الأنظمة الهجينة، وفي رأينا، بدأوا للتو في العثور على مكانهم الصحيح في التسلسل الهرمي للحوسبة.

ولهذا السبب قمنا بتنظيم مؤتمر منصة FPGA التالي في سان خوسيه في 22 يناير. وبطبيعة الحال، فإن Xilinx هو أحد موردي FPGA الرئيسيين في العالم والرائد في هذا المجال. تحدث إيفو بولسينز، نائب الرئيس الأول وكبير مسؤولي التكنولوجيا في Xilinx، في المؤتمر وقدم لنا أفكاره اليوم حول كيفية مساعدة Xilinx في إنشاء أنظمة حوسبة قابلة للتغيير لمراكز البيانات.

لقد استغرق مهندسو النظم والمبرمجون الكثير من الوقت للتوصل إلى مركز بيانات غير متجانس، والذي سيحتوي على أنواع مختلفة من قوة الكمبيوتر التي تحل المشكلات في الحوسبة والتخزين والشبكات. يبدو هذا ضروريًا لأنه أصبح من الصعب بشكل متزايد اتباع قانون مور باستخدام أجهزة CMOS المختلفة. في الوقت الحالي، لا تزال لغتنا تتمحور حول وحدة المعالجة المركزية (CPU)، وما زلنا نتحدث عن "تسريع التطبيقات"، مما يعني جعل البرامج تعمل بشكل أفضل مما يمكن القيام به على وحدات المعالجة المركزية (CPU) وحدها. وبمرور الوقت، ستصبح مراكز البيانات عبارة عن مجموعات من القدرة الحاسوبية، وتخزين البيانات، والبروتوكولات التي تربط كل شيء معًا، وسوف نعود إلى مصطلحات مثل "الحوسبة" و"التطبيقات". سوف تصبح الحوسبة الهجينة عادية مثل الخدمات السحابية الحالية التي تعمل على سطح المكتب أو الأجهزة الافتراضية، وفي مرحلة ما سوف نستخدم ببساطة كلمة "الحوسبة" لوصف كيفية عملها. في مرحلة ما - ومن المحتمل أن تساعد FPGAs في الدخول في هذا العصر - سنسميها معالجة البيانات مرة أخرى.

سيتطلب اعتماد FPGAs في مراكز البيانات تغييرًا في العقلية. "عند التفكير في طرق لتسريع تطبيقات اليوم، عليك أن تتطرق إلى الأساسيات المتعلقة بكيفية تشغيلها، وما هي الموارد المستخدمة، وأين يتم إنفاق الوقت"، يوضح بولسنس. – أنت بحاجة إلى دراسة المشكلة العامة التي تحاول حلها. العديد من التطبيقات التي تعمل في مراكز البيانات اليوم تتوسع لتستهلك كميات كبيرة من الموارد. لنأخذ على سبيل المثال التعلم الآلي، الذي يستخدم عددًا كبيرًا من العقد الحاسوبية. ولكن عندما نتحدث عن التسارع، نحتاج إلى التفكير ليس فقط في تسريع الحوسبة، ولكن أيضًا في تسريع البنية التحتية.

على سبيل المثال، في عمليات التعلم الآلي التي درسها بولسنس عمليا، يتم إنفاق ما يقرب من 50% من الوقت في نقل البيانات ذهابًا وإيابًا بين قوة الحوسبة المشتتة، ويتم إنفاق النصف المتبقي فقط من الوقت على الحسابات نفسها.

"هذا هو المكان الذي أعتقد أن FPGA يمكن أن يساعد فيه، لأنه يمكننا ضمان تحسين الجوانب الحسابية وجوانب الاتصال للتطبيق. ويمكننا القيام بذلك على مستوى البنية التحتية الشاملة وعلى مستوى الرقاقة. هذه إحدى المزايا الرائعة لـ FPGAs، حيث تتيح لك إنشاء شبكات اتصال لتلبية احتياجات التطبيقات المحددة. استنادًا إلى الأنماط النموذجية لحركة البيانات في أحمال عمل الذكاء الاصطناعي، لا أرى حاجة إلى بنية معقدة تعتمد على التبديل. يمكنك بناء شبكة ذات تدفق كبير للبيانات. الأمر نفسه ينطبق على مهام تدريب الشبكة العصبية - يمكنك إنشاء شبكة متداخلة ذات أحجام حزم تتكيف مع مهمة معينة. باستخدام FPGA، يمكن قياس بروتوكولات نقل البيانات وطوبولوجيا الدوائر بدقة شديدة وتخصيصها لتطبيق معين. وفي حالة التعلم الآلي، من الواضح أيضًا أننا لا نحتاج إلى أرقام الفاصلة العائمة ذات الدقة المزدوجة، ويمكننا تعديل ذلك أيضًا.

الفرق بين FPGA ووحدة المعالجة المركزية أو ASIC المخصصة هو أن الأخيرة تتم برمجتها في المصنع، وبعد ذلك لم يعد بإمكانك تغيير رأيك بشأن أنواع البيانات التي يتم حسابها أو العناصر التي يتم حسابها، أو حول طبيعة البيانات التدفق من خلال الجهاز. تسمح لك FPGAs بتغيير رأيك إذا تغيرت ظروف التشغيل.

في الماضي، كانت هذه الميزة تأتي بتكلفة، عندما لم تكن برمجة FPGA مناسبة لضعاف القلوب. الحاجة هي فتح مجمعات FPGA للتكامل بشكل أفضل مع الأدوات التي يستخدمها المبرمجون لكتابة تطبيقات متوازية لوحدة المعالجة المركزية في C أو C++ أو Python، والاستعانة بمصادر خارجية لبعض الأعمال للمكتبات التي تعمل على تسريع الإجراءات على FPGAs. وهذا ما تفعله مجموعة Vitis للتعلم الآلي، حيث تعمل على تشغيل منصات ML مثل Caffe وTensorFlow، مع مكتبات لتشغيل نماذج الذكاء الاصطناعي التقليدية أو إضافة إمكانات FPGA إلى مهام مثل تحويل ترميز الفيديو والتعرف على كائنات الفيديو وتحليل البيانات وإدارة المخاطر المالية وأي مهام ثالثة. -مكتبات الحفلات.

لا يختلف هذا المفهوم كثيرًا عن مشروع CUDA من Nvidia، الذي تم إطلاقه قبل عقد من الزمن، والذي يقوم بتفريغ الحوسبة المتوازية إلى مسرعات GPU، أو من مجموعة أدوات AMD's ROCm، أو من الوعد بمشروع OneAPI من Intel، والذي يجب أن يعمل على وحدات معالجة مركزية ووحدات معالجة رسوميات و FPGA مختلفة.

والسؤال الوحيد هو كيف سيتم ربط كل هذه الأدوات معًا حتى يتمكن أي شخص من برمجة مجموعة من قدرات الحوسبة حسب تقديره. وهذا أمر مهم لأن FPGAs أصبحت أكثر تعقيدًا، وأكثر تعقيدًا بكثير من أي من وحدات المعالجة المركزية المتاحة. يتم تصنيعها باستخدام عمليات التصنيع الأكثر تقدمًا وأحدث تقنيات تغليف الرقائق. وسوف يجدون مكانتهم، لأننا لم يعد بإمكاننا إضاعة الوقت والمال والطاقة والذكاء - كل هذه موارد باهظة الثمن للغاية.

يقول بولسنس: "توفر FPGAs مزايا تكنولوجية". - وهذا ليس مجرد إعلان عادي عن القدرة على التكيف وإعادة التشكيل. في جميع التطبيقات المهمة - التعلم الآلي، وتحليل الرسوم البيانية، والتداول عالي السرعة، وما إلى ذلك. - لديهم القدرة على التكيف مع مهمة محددة ليس فقط مسار توزيع البيانات، ولكن أيضًا بنية الذاكرة - كيفية تحرك البيانات داخل الشريحة. تحتوي أجهزة FPGA أيضًا على ذاكرة مدمجة فيها أكبر بكثير من الأجهزة الأخرى. يجب أيضًا أن يؤخذ في الاعتبار أنه إذا كانت المهمة لا تتناسب مع FPGA واحد، فيمكنك توسيع نطاقها عبر شرائح متعددة دون مواجهة العيوب التي تنتظرك عند توسيع نطاق المهام عبر وحدات المعالجة المركزية أو وحدات معالجة الرسومات المتعددة.

المصدر: www.habr.com

إضافة تعليق