الگوریتم های موازی
استفان هاوکینگ، فیزیکدان مشهور، در مقدمه کتاب «تاریخچه زمان» درباره به کارگیری فرمولهای ریاضی در یک کتاب میگوید: «… و در این رهگذر گفته میشد که هر معادله ریاضیای که در این کتاب گنجانده شود، میزان فروش را به نصف کاهش خواهد داد.» و این دقیقاً همان تذکری بود که از سوی به من یادآوری شد! با این حال، نوشتن از الگوریتمهای موازی بدون اشاره هر چند مختصر به آنالیز الگوریتمها امکانپذیر نیست. در نتیجه، این مقاله از تکنیکهای آنالیز الگوریتمها بهره برده است. با این حال سعی شده تا کلیت مطلب را به صورت معرفی نگه داشته و بیدلیل به عمق بعضی مطالب وارد نشویم. پس از بیان مدلسازی اولیه، مراحل طراحی یک الگوریتم موازی را بیانکرده و سپس چهار مثال عملی درباره الگوریتمهای موازی ارائه کنیم. البته، مثالهای جالب و قابل بررسی در این زمینه فراوان است و هر کدام میتوانند تکنیک جدیدی را در زمینه طراحی الگوریتمهای موازی به ما آموزش دهند. در این مقاله چهار
مثال بسیار مشهور و کلاسیک و در عین حال ساده را معرفی کردهایم که میتوانند نقطه شروع بسیار خوبی برای آشنایی با نحوه طراحی و پیادهسازی الگوریتم های موازی محسوب شوند.
Cilk
کدهای نوشته شده در این بخش با استفاده از Cilk نوشته شدهاند. کیلک نسخهای از زبان C است که در محیط پردازش موازی مورد استفاده قرار میگیرد. سینتکس این زبان مشابه زبان C بوده که از چندین دستور اضافه مانند Spawn و Sync نیز سود میبرد.
Spawn: این دستور بیان میکند، فراخوانی رویهای که پس از کلمه کلیدی Spawn میآید میتواند به صورت موازی با بقیه کد اجرا شود. البته Scheduler ، اجباری برای اجرای رویه به صورت موازی ندارد، بلکه این دستور تنها به Scheduler میگوید که میتواند
این کار را انجام دهد.
Sync: این دستور اجرای رویه فعلی را تا زمانی که کار اجرای رویههای قبلیای که به وسیله spawn فراخوانی شده بودند تمام شود، متوقف میسازد. بهاین ترتیب، زمانی که تمام رویههای موازی در حال اجرا کارشان به پایان رسیده و به فریم والد خود بازگشتند، اجرای رویه فعلی از سر گرفته میشود.در ادامه مقاله مثالهای گوناگونی از نحوه به کارگیری کیلک برای نوشتن برنامههای موازی ارائه میشود.
مدل سازی اولیه
برای معرفی برخی از مفاهیم اولیه مورد نیاز در بررسی الگوریتمهای موازی به مثال مشهور فیبوناچی مراجعه میکنیم.
(فایل کامل این پروژه ۲۰ ( بیست) صفحه word همراه با منابع و ماخذ می باشد.)
در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنی فایل پس از پرداخت.
*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا
نام پروژه درخواستی خود را
جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود،
به واتساپ پشتیبانی سایت ۰۹۳۹۲۷۶۱۶۳۰ ارسال کنید
*(از ساعت
۸ الی ۲۳)
دیدگاهتان را بنویسید