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

صورة

لست بحاجة إلى أن تكون مطور شرائح لبرمجة FPGA ، لا تحتاج إلى أن تكون مبرمجًا C ++ لكتابة كود Java. ومع ذلك ، في كلتا الحالتين ، على الأرجح ، لن يكون غير ضروري.

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

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

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

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

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

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

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

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

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

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

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

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

Source: https://habr.com/ru/post/undefined/


All Articles