بخشی از مقاله
چکیده
بهعنوان یک زیرساخت ارتباطی کارآمد از سیستمهای روی تراشه 1 بزرگ در آینده، شبکههای روی تراشه2که اساساً توانایی بهرهگیری مزایای بسیار تکنولوژی بازپیکربندی پویا3 را دارا باشد، انتخاب مناسبی محسوب میشود. درواقع، پیوند شبکه روی تراشه و قابلیت بازپیکربندی پویا در زمان اجرا منجر به نقطهی عطف جدیدی در سیستمهای دیجیتال با حجم محاسبات موازی بالا میشود. توپولوژی شبکه، نگاشت هستهها به معماری هدف و همچنین مسیریابی اثر زیادی روی کارآیی کلی سیستم دارند. این مقاله، تحقیقی دربارهی قابلیت بازپیکربندی بهصورت پویا در شبکههای روی تراشه ارائه میدهد.
.1 معرفی
صنعت ریزپردازندهها از معماریهای تکهستهای به معماریهای چندهستهای4 و بساهستهای5 حرکت کرده است و چندین پردازنده شامل دهها تا صدها هسته یکسان است که بهعنوان تراشههای چندپردازندهای - CMPs - 6 ساماندهی شدهاند که با سرعتبالایی باهم ارتباط برقرار میکنند. فقدان مقیاسپذیری در سیستمهای مبتنی بر گذرگاه و سربار بالای مساحت و غیرقابلپیشبینی بودن پارامترهای الکتریکی در پیوندهای اختصاصی نظیر به نظیر، محققان را برانگیخته است که معماری شبکه روی تراشه را پیشنهاد کنند.
از سوی دیگر، امروزه برنامههای کاربردی چندرسانهای با حجم بالای محاسبات، بر روی دستگاههای موبایل ظاهر میشوند. این برنامههای کاربردی به منابع سختافزاری بیشتری نیاز دارند که پیچیدگی کل سیستم را افزایش خواهد داد از این رو، تکنولوژی بازپیکربندی پویا راهحلی برای غلبه بر بسیاری از مشکلات مربوط به سیستمهای پیچیده است که باوجود حجم بالای سختافزار و پیچیدگی عملیاتی که دارند، دارای سرعتبالا، مساحت و مصرف توان کم نیز هستند؛ این تکنولوژی میتواند با مجاز داشتن عملکرد سختافزار برای بازپیکربندی در زمان اجرا تا حد زیادی عملکرد سیستمهای محاسباتی را بهبود بخشد.
با هستههای پردازشی نرم و سخت ادغامشده، تراشههای قابلبازپیکربندی کنونی، میتوانند منابع سختافزاری کافی را در اختیار طراحان بگذارند تا یک سیستم روی تراشه قابلبازپیکربندی کامل را پیادهسازی کنند. تراشههای قابلبازپیکربندی زایلیکس - 7مخصوصاً ویرتکس - 8 موارد مناسبی هستند که هم برنامههای کاربردی پیچیده را پیادهسازی کنند و هم از بازپیکربندی پویا و جزئی9 پشتیبانی میکنند.
از این رو، بسیاری از کارهای مرتبط درباره شبکه روی تراشه باقابلیت بازپیکربندی پویا، تراشههای قابلبازپیکربندی زایلیکس را بهعنوان محیطهای اجرایی سختافزاری انتخاب کردند؛ هر چند هنوز طراحان، با مشکل نبودن خودکارسازی مواجه هستند . هدف از این مقاله، بررسی قابلیت بازپیکربندی شبکه روی تراشه از جنبههای مختلف است. بسیاری از تحقیقات در ارتباط با توپولوژی، مسیریابی، معماری مسیریابها حتی روش نگاشت قابل بازپیکربندی وتغییر ساختار است. هدف همه این طرحها استفاده بهتر از منابع سیستم، کاهش حجم سختافزار و افزایش کارآیی شبکه روی تراشه است.
.2 شبکه روی تراشه
با پیشرفت روزافزون تکنولوژی و افزایش فشردهسازی، ابعاد تراشهها و حجم پردازندهها کاهشیافته است که موجب عدم تعادل بین تأخیر گیتها و تأخیر سیمها بر روی تراشه شده است. در این ارتباط، اگر چه تأخیر گیتها با روند تکنولوژی کاهش مییابد اما تأخیر سیمها ثابت میماند و در حقیقت تأخیر سیمها نسبت به گیتها بیشتر میشود. برای کاهش اثر این تأخیرها، باید معماریهایی جایگزین معماریهای رایج شوند که با کاهش طول اتصالات و حذف سیمهای بلند مشکلات ناشی از این تأخیرها را در بلوکهای عملیاتی کاهش دهند.
در واقع نکته اصلی جداسازی بخشهای ارتباطی از بخشهای محاسباتی و ذخیرهسازی میباشد، زیرا ارتباطات کارآمد یکی از مهمترین عوامل برای افزایش کارآیی سیستمهای روی تراشه است. امروزه، بیشتر برنامههای تصویر، ویدئو و پردازش سیگنال در معماریهای چندهستهای تعبیه شده10 اجرا میشوند. در یک معماری چندهستهای، چندین هسته کوچک وجود دارد که عمدتاً در فرکانسهای پایینتر اجرا میگردند. افزایش تعداد هستهها منجر به افزایش تعداد پیامهای ردوبدل شده بین آنها میشود.
این مسئله ممکن است باعث کاهش کارآیی و افزایش مصرف انرژی شود. ازاینرو، کارآیی کلی یکی سیستم چندهستهای نهتنها بهوسیله بارگذاری محاسبات بلکه بهوسیله زیرساخت ارتباطات تحت تأثیر قرار میگیرد. سیستم روی تراشه مساحت زیادی را اشغال میکند و نسبت به اندازهای که دارد توان مصرفی زیادی مصرف میکند. ارتباطات ممکن روی تراشه برای برنامه کاربردی میتواند به صورت نظیربهنظیر باشدکه حُسن آن با چشمپوشی از تأخیر و هزینه اتصالات، سرعتبالای آن است، اما از جهتی دیگر در این نوع ارتباط حجم زیادی از اتصالات موجود است که هزینه، مساحت و در نهایت مصرف توان را بالا میبرد.
این ارتباطات میتواند به صورت گذرگاه مشترک باشد که علیرغم کاهش سیمبندی در ارتباطات نیاز به مدیریت دارد . یکی از راهحلهای ارائه شده در زمینهی ارتباط روی تراشه، استفاده از ساختار شبکه روی تراشه است که مشکلات ارتباطات را تا حد زیادی حل میکند
شبکه روی تراشه ساختار ارتباطی با قابلیت استفاده مجدد فراهم میکند که این ویژگی برای طراحان تراشه اهمیت بسیار زیادی دارد؛ زیرا منجر به کوتاهی فاصله طراحی محصول تا ارائه آن به بازار میشود. همچنین، این ساختار ارتباطی که در آن ارتباط میان واحدهای مختلف از طریق بستههای مسیریابی شده توسط مسیریابها و سوئیچهای تعبیه شده در شبکه واقع بر روی تراشه برقرار میشود، نه تنها از قابلیت مقیاسپذیری و توسعهی بالایی برخوردار است، بلکه با کاهش اتصالات سراسری در سطح تراشه به کاهش توان مصرفی نیز منجر خواهد شد
معماری سیستمهای شبکه روی تراشه شامل دهها و صدها هستهی یکسان یا متفاوت مانند ریزپردازندههای همهمنظوره، پردازندهی خاص منظوره، واحدهای حافظه، کنترلکنندهی ورودی و خروجی میباشد که از طریق یک شبکه ارتباطی مبتنی بر مسیریاب به یکدیگر متصل شدهاند. در هر گره شبکه، هسته پردازشی به یک مسیریاب متصل میشود و این مسیریاب از طریق اتصالات نقطه به نقطه در شبکه ارتباطی به سایر مسیریابها وصل میشود و توپولوژی شبکه را تعیین میکنند. ارتباط بین گرهها از طریق تولید بسته-های داده و ارسال آنها به آدرس گره مقصد بر روی این زیرساخت ارتباطی انجام میشود
شبکههای روی تراشه از سه قسمت اصلی تشکیل شدهاند: رابط شبکه11، مسیریابها و اتصالات بین مسیریابها.
در معماری شبکه روی تراشه پارامترهای متعددی وجود دارد که کارآیی شبکه روی تراشه مجتمع را بهطور مستقیم و غیرمستقیم تحت تأثیر قرار میدهند. مهمترین آنها توپولوژی شبکه، الگوریتم نگاشت، الگوریتم مسیریابی، روش سوئیچینگ، معماری مسیریاب، پهنای باند پیوند هستند. معماری شبکه بیانکننده توپولوژی و سازماندهی فیزیکی اتصالات داخلی شبکه است. توپولوژی یک شبکه با استفاده از نحوه اتصال گرههای آن که همان مسیریابها هستند، توسط پیوندها یا کانالهای ارتباطی مشخص میشود.
شکل توپولوژی شبکه میتواند تأثیر زیادی در کارآیی شبکه داشته باشد. انتخاب توپولوژی نخستین گام در طراحی شبکه است زیرا مسیریابی و سیاست کنترل جریان به شدت وابسته به الگوی ارتباطی بین مسیریابها است. تاکنون توپولوژیهای مختلفی از جمله ستاره12، مش - توری - 13 ، هشتوجهی، توری مدور14، درختی و غیره برای شبکه روی تراشه ارائه شده است.
.3 شبکه روی تراشه قابلبازپیکربندی - RNOC - 15
با پیشرفت تکنولوژی، نحوهی ارتباط عناصر بر روی تراشه اهمیّت بیشتری یافتهاند چراکه زیادشدن اجزاء موجب میشود تراشه مساحت بیشتری را اشغال کند و این خود باعث مصرف توان بالاتر میگردد، بهعلاوه، تعداد عناصر زیادتر برای ارتباط با یکدیگر به ارتباطات پیچیده و گستردهتری نیز نیاز دارند که این مستلزم منابع سختافزاری بیشتر است که پیچیدگی کل سیستم را افزایش خواهد داد. یک راهحل جایگزین، تکنولوژی پیکربندی پویا است که میتواند در سطح وسیعی کارآیی سیستمهای محاسباتی را با اجازه دادن به تابع سختافزار که در زمان اجرا بازپیکربندی شود، بهبود بخشد.
ترکیب توپولوژیهای مختلف، مسیریابیهای مختلف، رسانههای انتقال مختلف نیز راهکاری به منظور تغییر پیکربندی بنا به برنامه کاربردی و ترافیکی مقطعی شبکه است. این تغییر پیکربندی موجب افزایش چشمگیر کارآیی سیستم خواهد شد.
اصولاً شبکه روی تراشه ترافیک بالایی ندارد و برنامههای کاربردی نیاز به تبادل حجم بالای دادهها بین واحدهای عملیاتی را ندارند، بنابراین، میتوان سختافزار سیستم را قابل بازپیکربندی طراحی کرد که در صورت لزوم - حجم ترافیک بالا که به ندرت پیش میآید - پیکربندی، ساختار و حتی پهنای باند را تغییر دهد. در ادامه این بخش، ابعاد مختلف یک شبکه روی تراشه و پتانسیل قابلیت پیکربندی آنها مورد بررسی قرار میگیرد.
3-1 مسیریابی
مسیریابی یکی از معیارهای مهم در شبکه روی تراشه برای ارتباط بین عناصر پردازشی است. منظور از مسیریابی ارسال بستههای داده از طریق شبکه ارتباطی که توسط توپولوژی شبکه مشخص شده است، از یک هسته پردازشی به هستهای دیگر در شبکه میباشد. در شبکهای ارتباطی معمولاً برای رسیدن از یک گره به گره دیگر، چندین مسیر مختلف وجود دارد. الگوریتمیکه مسیر حرکت بسته از گره مبدأ به گره مقصد را در شبکه ارتباطی مشخص میکند، الگوریتم مسیریابی نامیده میشود. در طراحی یک الگوریتم مسیریابی، معمولاً ویژگیهایی مانند تطبیقپذیری 16، عدم وقوع بنبست17، تحملپذیری خطا18 و یافتن کوتاهترین مسیرها مورد بررسی قرار میگیرند که بسته به کاربرد، ویژگیهای مسیریابی مشخص میشوند.
براساس محل تصمیمگیری در مورد مسیر، الگوریتمهای مسیریابی به دو دستهی مسیریابی مبدأ19 و مسیریابی توزیع شده20 تقسیم میشوند. در نوع اول، مسیر در مبدأ مشخص میشود و تمام اطلاعات مربوط به آن در بخش سرآیند21 بسته قرار داده میشود. در حالی که در الگوریتمهای مسیریابی توزیع شده، در طول مسیر در مورد ادامه آن تصمیمگیری میشود؛ بنابراین در بخش سرآیند بسته کافی است آدرس مقصد قرار داده شود. در این روش در صورت مسدود بودن مسیر امکان تعویض آن وجود دارد. به ترکیب مسیریابی مبدأ و مسیریابی توزیعشده، مسیریابی چندمرحلهای گفته میشود. در مسیریابی متمرکزشده، یک کنترلکنندهی مرکزی جریان دادهها را در سیستم کنترل میکند. میتوان این قابلیت را به سیستم اضافه کرد که حین کار به صورت پویا نوع مسیریابی را تغییر داد تا احتمال وقوع بن بست، تصادم و از دست رفتن بستهها کم شود.
بر اساس چگونگی تعیین مسیر، الگوریتمهای مسیریابی به دو دستهی قطعی22 و تطبیقی23 تقسیمبندی میشوند. در الگوریتمهای قطعی، تصمیمگیری فقط براساس آدرس مبدأ و مقصد انجام میشود. بنابراین، تمام بستههایی که دارای آدرس مبدأ و مقصد یکسان هستند، از مسیر یکسانی عبور میکنند؛ اما در الگوریتمهای تطبیقی علاوه بر آدرس مبدأ و مقصد، ترافیک لحظهای شبکه نیز در تعیین مسیر مؤثر است و اگر ترافیک مسیر زیاد باشد، امکان تغییر مسیر و استفاده از مسیرهای خلوتتر وجود دارد؛ بنابراین بستههایی که دارای مبدأ و مقصد مشترکی هستند، ممکن است از مسیرهای متفاوت با تأخیرهای مختلف برای انتقال استفاده کنند. الگوریتمهای قطعی معمولاً پیادهسازی سادهتری دارند؛ در حالی که الگوریتمهای تطبیقی معمولاً کارایی و تحملپذیری خطای بیشتری را فراهم میکنند.
بعضی از شبکهها از ترکیب دو نوع الگوریتم برای مسیریابی استفاده میکنند، به این ترتیب که بعضی از کانالها برای مسیریابی قطعی و بقیه برای مسیریابی تطبیقی استفاده میشوند. در نتیجه در این دسته از الگوریتمها مزایای هر دو روش به قیمت افزایش مساحت، پیچیدگی سیمکشی و احتمالاً توان مصرفی، وجود خواهد داشت. سیستم میتواند بسته به برنامه کاربردی وشرایط سیستم، پتانسیل قابلیت تغییر الگوریتم مسیریابی و در واقع قابلیت بازپیکربندی را داشته باشد.
براساس طول مسیر، الگوریتمهای مسیریابی به دو دستهی کمینه24 و غیرکمینه25 تقسیم میشوند. در نوع اول همیشه از کوتاهترین مسیرها استفاده میشود ولی در الگوریتمهای غیرکمینه، شرط استفاده از کوتاهترین مسیر الزامی نیست و میتوان جهت کاهش تأخیر بستهها از مسیرهای طولانیتر نیز استفاده کرد. در واقع همیشه کوتاهترین مسیر، بهترین و خلوتترین مسیر نیست.
الگوریتم مسیریابی مسیری که پیغامها باید از مبدأ تا مقصد طی کنند، تعیین میکند در حالی که سیاست سوئیچینگ مشخص میکند که هر پیغام چگونه مسیریاب را طی کند. به عبارتی روش سوئیچینگ تعیینکنندهی نحوه ذخیره شدن بستهها در مسیریابهای میانی و ارسال آنها به گرهی بعدی میباشد. روشهای سوئیچینگ به طور کلی به دو دستهی سوئیچینگ بستهای 26 و سوئیچینگ مداری27 تقسیم میشوند. در سوئیچینگ مداری ابتدا یک مسیر از گرهی مبدأ به گرهی مقصد در شبکه رزرو میشود و سپس ارسال داده آغاز میگردد.