مفهوم محاسبات با قابلیت پيکربندی مجدد

مفهوم محاسبات با قابلیت پيکربندی مجدد از اوایل دهه 60 میلادی پديدار شد. موقعی که مقاله جرالد استرين مفهوم يک کامپيوتر ساخته شده از يک پردازنده استاندارد و آرايه­ای از سخت افزار قابل پيکربندی مجدد را پيشنهاد کرد. پردازنده اصلی، عملکرد سخت افزار قابل پيکربندی مجدد را کنترل می­کند. در نتيجه، اين سخت افزار با قابلیت پيکربندی مجدد، برای انجام هر کاری مناسب خواهد بود. برای مثال می­توان کارهايی نظير پردازش تصوير، الگوریتم عصبی و تطبيق الگو را با سرعت بالايی انجام داد. به محض اتمام یک کار، سخت افزار[1] می­تواند برای انجام کار جديد پيکربندی مجدد[2] شود. چنين خاصيتی با ترکيب انعطاف پذيری يک نرم افزار[3] و سرعت يک سخت افزار، در يک ساختار ترکيبی امکان پذیر شده است. در ضمن، چنين ايده­ای در زمان پيدايش، بسيار جلوتر از تکنولوژی ساخت سخت افزار مورد نيازش بود.

در دهه اخير، تحقيقات زیادی درباره معماری­های با قابلیت پيکربندی مجدد بوجود آمده است. اين معماری­ها هم در دانشگاه­ها و هم در صنعت توسعه یافته­اند. این معماری­ها در دسته­های زیر قرار می­گیرند:

  • Matrix
  • Gorp
  • Elixent
  • XPP
  • Silicon Hive
  • Montium
  • Pleiades Morphosys
  • PiCOGA

علت عملی بودن چنين طرحهايی، پيشرفت مداوم فنآوری سيليکونی بوده که پياده سازی[4] طرح­های پيچيده را روی يک تراشه امکان پذیر ساخته است.

اولين مدل تجاری کامپيوتر با قابلیت پيکربندی مجدد در جهان به نام Algotronix CHS 2*4 در سال 1991 ارائه شد. اين طرح به هیچ عنوان موفقيت تجاری نداشت، اما آنقدر اميدبخش بود که شرکت Xilinx (مخترع FPGA) تکنولوژی را خريد و محققان Algotronix را به خدمت گرفت.

هم اکنون تعدادی شرکت فروشنده کامپيوترهای با قابلیت پيکربندی مجدد وجود دارند که بازار کامپيوترهای با کارايی بالا را در بر گرفته­اند. مهمترین اين شرکت­هاSRC Computers ، SGL و Cray       می­باشند. شرکت ابر رايانه­ای Cray بستر محاسبات قابل پيکربندی مجدد SRC را به دست آورد و آن را به عنوان XD1 به فروش می­رساند. SGI رايانه RASC را همراه با سری ابر رايانه­های Altix به فروش         می­رساند. شرکتSRC Computers  يک خانواده از رايانه­های قابل پيکربندی مجدد را توسعه داده است. اين خانواده بر اساس معماری ضمنی و پردازنده MAP می­باشد.

تمام آنچه که گفته شد رايانه­های هيبريدی هستند، که اين رايانه­ها با ريزپردازنده­های FPGA همراه شده­اند و با آن ساخته می­شوند. FPGA ها توسط کاربر برنامه­ريزی می­شوند. اين سيستم­ها می­توانند به عنوان ابر رايانه­هایی با سرعت بالا با استفاده از FPGA ها به کاربرده شوند. (در حقيقت FPGA ها گزينه ای در XD1 و SGIRASC هستند). پيکربندی XD1 و SGIFPGA از طريق زبانهای توصيف سخت افزار (HDL) صورت می­گیرد. با به کارگيری زبانهای سطح بالايی نظير ابزار گرافيکی Star Bridge Viva يا زبانهايی مانند C مثل Handel-C از Celoxica و Lmpulse-C از Impulse Accelerated technologies ياMitrpn-C  از Mitrionics و همچنین VHDL و Verilog نیز می­توان پيکربندی را انجام داد. توسعه کد نویسی منطقی يک FPGA خام، يک فرآيند پيچيده است که نيازمند دانش و ابزار تخصصی است.

SRC کامپايلری را ساخته است که زبان سطح بالايی مثل C يا Fortran را به عنوان ورودی می­گیرد و با تغييراتی اندک، آنها را برای اجرا و پیاده­سازی روی [5]FPGA در ريزپردازنده، کامپايل می­کند. بعضی از الگوريتم­های کاربردی با زبانهای سطح بالا همانند C و Fortran نوشته می­شوند. کامپايلر (Carte)، حداکثر موازی سازی را در کد انجام می­دهد و منطق سخت افزار خط لوله­ای را توليد می­کند که در MAP ها مقداردهی شده­اند. همچنين اين کامپايلر تمام کدهای واسطی که برای مديريت انتقال داده در داخل و خارج MAP نياز است را توليد می­کنند. اين کدهای واسط، وظيفه هماهنگ سازی ريزپردازنده با منطق در حال اجرا در MAP را دارند.

XD1 بين ريزپردازنده و FPGA به وسيله شبکه اتصال داخلی Rapid Array اش ارتباط برقرار می­کند. سيستم­های SRC از طريق حافظه واسط SNAP و يا سويچ اختياری Hi-Bear ارتباط برقرار می­کنند.  دسته­بندی معماری­های با قابلیت پيکربندی مجدد روز به روز بیشتر توسعه می­يابند. اين به دليل عرضه شدن معماری­های جديد و به روز می­باشد (Azambuja 2011, 161-166).

FPGA ها آی­سی­هايی هستند که شکل سخت‌افزاری آنها می­تواند به راحتی، به شکل جدیدی تعريف شود. يعنی با بارگذاری يک پيکربندی جديد درست همانند نرم‌افزار جديدی که می­تواند بر روی يک ريزپردازنده يا DSP بارگذاری شود، نگاشت داده می­شود. پردازش و الگوريتم­های فشرده FPGA ها می­تواند             آی­سی­های متمايز شده به وسيله کاربرد ASIC را حاصل سازد. محققان در سراسر دنیا، به دنبال داشتن ابر رايانه و آی سی­هایی با بازدهی بالا و انعطاف پذير هستند، که از اجزا سخت افزاری قابل برنامه­ريزی مجدد برای هر کاربرد تشکیل می­شوند. در نتيجه، چندین برابر، کارآيی را در پردازنده­هايی که با طول دستور ثابت کار می­کنند، افزايش می­دهد (Boyer and strother moore 2012, 181-189).

دو نسخه آرايه انقباضی Spalsh در SRC ساخته شدند. مدار اصلی Spalsh در سال 1989 با قيمت 13000 دلار ساخته شد که می­توانست از ابر رايانه موجود در آن زمان به نامCray 2  برای کاربردهای تطبيق الگوی بيتی پيشی بگيرد. اين سيستم حاوی 32 عدد FPGA از سری 3090 شرکت Xilinx بود که به صورت يک آرايه خطی متصل شده بودند. FPGA های مجاور از يک بافر حافظه­ای اشتراکی استفاده می­کردند.

بعد از آن، Splash 1 معرفی شد که می­توانست مقايسه يک رشته ی DNA را 45 برابر سرعت يک ايستگاه کاری با کارآيی بالا را در دهه 1990 انجام دهد. سه سال بعد Splash 2 ساخته شد که تعداد FPGA های خود را به 16 عدد کاهش داده بود. با اين وجود به خاطر رشد سريع تراکم در FPGA، Splash 2 با 16 عدد FPGA مدل 4010 از شرکت Xilinx، دو برابر عملیات منطقی بيشتر از Splash 1 داشت. برای بهبود انعطاف ارتباطات داخلی Splash 2، ارتباط داخلی خطی را به وسيله يک ميله عرضی تقويت کردند که اجازه می­داد که هر FPGA با FPGA ديگری ارتباط برقرار کند.

در سال­های بين 1987 تا 1990 رايانه قابل پيکربندی مجدد Splash توسط مرکز تحقيقات ابر رايانه­ای SRC توسعه يافت. اين رايانه در طرح شماتيکی برنامه­نويسی شده بود. سخت افزار فوق­العاده و سرعت بالایی داشت. اما با وجود تمام اين مزايا برنامه نويسی آن بسیار مشکل بود. در نتيجه، تعداد برنامه­های کاربردی آن محدود بود.

Splash 2 دارای زبان شبيه سازی VHDL بود و همانند مدل پيشين دارای سخت افزار بسيار خوبی بود، برنامه­ريزی آن غير استاندارد بود اما دارای قابليت برنامه نويسی خوبی بود. از 1986 تا 1995 حافظه‌های فعال قابل برنامه ريزی (PAMETTe , PAM) توسط شرکت فرانسوی DEC Paris معرفی شدند. برنامه نويسي اين نوع حافظه ها در زبان C++ بود اما همان عيب Splash را داشتند يعنی سخت افزار خوبی داشتند اما برنامه­های کاربردی پشتيبانی شده توسط آنان محدود بود. در شکل 1-1 روند كلي تكامل سيستم‌هاي قابل پيكربندي مجدد را مشاهده می­کنید.

 

جدول 1-1. روند كلي تكامل سيستم‌هاي قابل پيكربندي مجدد

PAM و X30xx 1989 تا 1991
SPLASH و X40xx 1991 تا 1993
PRISM و DISC 1993 تا 1995
MATRIX و X6200 1995 تا 1997
CVH، RAW و FPGA 1997 تا 2014

 

 

 

 

[1] Hardware

[2] Reconfiguration

[3] Software

[4] Implementation

[5] Field Progrrammable Gate Array