بخشی از مقاله
چکیده
معماریهای چند هستهای کنونی با توجه به کارایی آنها، و پردازش همزمان کارآمد وظایف چندگانه محبوبیت یافتند. الگوریتمهای موازی امروزه برروی سیستمهای چند هستهای تمرکز کردهاند. طراحی الگوریتمهای موازی و سنجش کارایی، مسئله اصلی محیطهای چند هستهای میباشد. اگر خواهان اجرای سریعتر یک نرمافزار باشیم، نرمافزار باید به زیر وظایفی از نخها برای ارائه نتیجه مطلوب تقسیم شود.
مسائل عددی، به خصوص حل سیستم معادلات خطی، نرمافزارهای علمی و مهندسی فراوانی دارند. این مقاله الگوریتم موازی را برای محاسبه حل سیستم متراکم معادلات خطی و برای محاسبات تقریبی مقدارπبااستفاده از واسط OpenMP شرح میدهد و تحلیل میکند. کارایی - افزایش سرعت - الگوریتمهای موازی برروی سیستمهای چند هستهای ارائه شدهاست. نتایج آزمایشی برروی یک پردازنده چند هستهای و پیاده سازی آن با توابع تعلق در یک سیستم فازی نشان میدهد که الگوریتم موازی ارائهشده کارایی خوبی - افزایش سرعت - در مقایسه با الگوریتمهای ترتیبیبدست آوردهاند.
.1 مقدمه
برای مشاهده حالت موازی در نرمافزارهای توسعه یافته، تعدادی از ابزارها در دسترس هستند. چندنخی بودن یک تکنیک است که اجازه اجرای نخهای متعدد را به صورت موازی صادر میکند. معماری کامپیوتری به دو گروه تقسیم شدهاست: سطح داده و سطح دستورالعمل. این گروهبندی توسط طبقهبندی Flynn[1] ارائه شدهاست. کارایی نرمافزارهای موازی میتواند بااستفاده از تکنولوژی چند هستهای بدستآید.
تکنولوژی چند هستهای به معنی این است که بیش از یک هسته در یک چپپ واحد وجود دارد. این راهی را به سمت محاسبات موازی؛ جایی که بخشهای متعدد یک برنامه به صورت موازی در یک زمان اجرا میشوند، باز میکند. فاکتور تحریککننده طراحی الگوریتم موازی برای سیستمهای چند هستهای "کارایی" است. کارایی الگوریتم موازی نسبت به تعداد هستههای در دسترس در سیستم، تاخیر از هستهای به هسته دیگر، طراحی سلسله مراتب حافظه، و هزینههای همگامسازی حساس است. ابزار توسعه نرمافزار باید تغییراتی را اعمال کنند لذا کارایی نرمافزار برای بدستآوردن مزایایی از قانون Moore ادامه مییابد.
در محیط چند هستهای پارادایم محاسبات ترتیبی خوب و کارا نمیباشد، در حالی که محاسبات موازی معمولی ممکن است مناسب باشد. یکی از مهمترین مسائل عددی حل سیستم معادلات خطی است. سیستمهای معادلات خطی در دامنه علمی مانند انرژی همجوشی، مهندسی سازه و روشهای فرمول گشتاور معادلات ماکسول ظاهر میشود.
.2 کارهای مرتبط
با اختراع تکنولوژیهای چند هستهای، الگوریتم موازی میتواند مزایایی را برای بهبود کارایی نرمافزارها اتخاذ کند. تکنولوژیهای چند هستهای از چند نخی بودن برای اجرا نخهای متعدد در حالت موازی استفاده میکند و از اینرو کارایی نرمافزارها میتواند بهبود یابد. ما تعدادی از الگوریتمها را برروی ماشینهای چند هستهای/موازی اجرا کردیم و متریک کارایی الگوریتمهای عددی را مطالعه کردیم. پژوهش معماری چند هستهای ترکیبی و GPU نیز روندیهای درحال ظهور در عصرهای چند هستهای میباشد.
به منظور بدست آوردن کارایی بالا در نرمافزارها، نیازمند توسعه الگوریتم موازی کنونی، نیازمند سخت افزار و زبانهایی مانند OpenMP هستیم. OpenMP از چند نخی بودن پشتیبانی میکند. برنامه میتواند توسعهیابد لذا همه پردازندهها میتوانندمشغول بهبود کارایی باشند. لذا تاکنون کارهایی انجامشدهاست که برروی کارایی الگوریتمها بحث کردهاست. هدف ما یافتن کارایی یکسری از الگوریتمهای عددی برروی سیستمهای چند هستهای بااستفاده از تکنیک برنامهریزی OpenMP است.