پیاده سازی الگوریتم FLB
(Fast Load Balancing for Distributed-Memory Machines)
85 صفحه در قالب word
چکیده
پیاده سازی الگوریتم FLB
گرید محاسباتی مجموعه ای از منابع نا همگن و پویا که بوسیله یک شبکه به یکدیگر متصل می شوندو کاربران زیادی در مکان های مختلف آنها را به اشتراک می گذارند.اغلب برنامه های کاربردی بوسیله گراف جهت دار بدون سیکل خلاصه می شوندکه رئوس آن کارها و یالهای آن ارتباطات بین کارها را نشان می دهد. که در آن کارها وابسته هستند و بر اساس اولویت باید اجرا شوند به این معنی که در گراف تا والد یک کار انجام نشود فرزند یا فرزندان نباید انجام شوند.
برای اینکه تمام این اصول رعایت شود و از منابع به صورت بهینه استفاده گردد از الگوریتم های زمانبندی استفاده می کنیم.
در اینجا ما ابتدا به بررسی مفهوم گرید وفواید آن وسپس انواع زمانبندی در سیستم های توزیع شده و بررسی برخی از الگوریتم های زمانبندی در کارهای مستقل و وابسته می پردازیم و روشهای زمانبندی گراف برنامه وبعضی از الگوریتم های آنها در محیطهای ناهمگن وهمگن را معرفی می کنیم.سپس الگوریتمFLB راتشریح کردوشبیه ازهای گرید را بررسی می کنیم.
واژه های کلیدی
گراف جهت دار بدون سیکل ٬ کارهای وابسته٬ زمانبندی ٬گرید ٬تکثیر.
فهرست مطالب
فصل اول : مقدمه
1-1مفهوم گرید..................................................2
1-2طبقه بندی گرید............................................. 4
3-1 ارزیابی گرید............................................... 4
1-4کاربردگرید...................................................5
1-5 تعریف زمانبندی گرید........................................6
1-6 مروری بر تحقیقات گذشته......................................7
1-7 مفهوم اصطلاحات به کار برده شده..............................8
1-8 نمای کلی پایان نامه.........................................9
فصل دوم:زمانبندی کارها در سیستم های توزیع شده
2-1 زمانبندی کلاستر و ویژگیهای آن .............................. 10
2-2 زمانبندی گرید و ویژگیهای آن................................13
3-2 رده بندی الگوریتم های زمانبندی گرید....................... 16
2-3-1 زمانبندی محلی/سراسری................................. 16
2-3-2 زمانبندی ایستا/پویا...................................16
2-3-3 زمانبندی بهینه/نزدیک به بهینه...........................21
2-3-4 زمانبندی توزیع شده/مرکزی..............................22
2-3-5 زمانبندی همکار و مستقل...............................22
2-3-6 زمانبندی زمان کامپایل /اجرا........................ 23
2-4-1 رده بندی الگوریتم های زمانبندی از دیدگاهی دیگری..... 23
2-4-2 اهداف زمانبندی.........................................23
2-4-3 زمانبندی وفقی.......................................24
2-4-4 رده بندی برنامه های کاربردی...........................25
2-4-4-1 کارهای وابسته.....................................25
2-4-4-2 گراف کار..........................................26
2-4-5 وابستگی کارهای تشکیل دهنده برنامه کاربردی........... 26
2-4-6 زمانبندی تحت قیود کیفیت سرویس..........................26
2-4-7 راهکارهای مقابله با پویایی گرید.......................28
2-5 الگوریتم های زمانبندی کارهای مستقل......................32
2 -5-1 الگوریتم MET ...........................................32
2-5-2 الگوریتم MCT..............................................32
2-5-3 الگوریتم Min-min...............................................33
2-5-4 الگوریتم Max-Min ................................................33
2 -5-5 الگوریتم Xsuffrage .....................34
2 -5-6- الگوریتم GA . ...........................................35
2-5-7- الگوریتم SA. ...........................................37
فصل سوم:الگوریتم های زمانبندی گراف برنامه
3-1 مشکلات زمانبندی گراف برنامه.................................39
3-2 تکنیکهای مهم زمانبندی گراف برنامه در سیستمهای توزیع شده.....40
3-2-1- روش ابتکاری بر پایه لیست ................................ 40
3-2-2- روش ابتکاری بر پایه تکثیر................................40
3-2-3- روش ابتکاری کلاسترینگ......................................41
3-3- دسته بندی الگوریتمهای زمانبندی گراف برنامه در سیستمهای توزیع شده.....................................................44
3-4- پارامترها و مفاهیم مورد استفاده در الگوریتمهای زمانبندی گراف برنامه.........................................................46
3-5- الگوریتمهای زمانبندی گراف برنامه با فرضیات محدودکننده......50
3-5-1- الگوریتمی با زمان چند جملهای برای گراف های درختی - الگوریتم HU ....................................................50
3-5-2- الگوریتمی برای زمانبندی گراف برنامه با ساختار دلخواه در سیستمی با دو پردازنده..........................................51
3-5-3- الگوریتمی برای زمانبندی گراف بازهای مرتب شده............52
3-6- الگوریتمهای زمانبندی گراف برنامه در محیطهای همگن ..........54
3-6-1- الگوریتم Sarkar................................................54
3-6-2- الگوریتمHLFET................................................55
3-6-3- الگوریتم ETF................................................55
3-6-4- الگوریتم ISH ..............................................55
3-6-5- الگوریتم FLB................................................56
3-6-6- الگوریتم DSC................................................56
3-6-7- الگوریتم CASS-II..............................................58
3-6-8- الگوریتم DCP................................................59
3-6-9- الگوریتم MCP................................................60
3-6-10- الگوریتم MD...............................................61
3-6-11- الگوریتم TDS...............................................61
3-7- الگوریتمهای زمانبندی گراف برنامه در محیطهای ناهمگن...............63
3-7-1- الگوریتم HEFT................................................63
3-7-2- الگوریتم CPOP..................................................63
3-7-3- الگوریتم LMT.................................................64
3-7-4- الگوریتمTANH .................................................65
فصل چهارم :الگوریتم FLB
1-4 ویژگیهای الگوریتم........................................66
4-2 اصطلاحات به کار برده شده.................................66
4-3 الگوریتم................................................67
4-4 پیچیدگی الگوریتم........................................75
4-5 کارایی الگوریتم.........................................77 .
فصل پنجم: شبیه سازی گرید
5-1 ابزار شبیه سازی...................................79
5-1-1- optosim..................................................79
5-1-2 SimGrid ..................................................80
5-1-3- Gridsim ..................................................80
کارهای انجام شده...............................................83 پیشنهادات............................................................83
مراجع .............................................................85
فصل اول : مقدمه
قبل از ابداع کامپیوترهای شخصی، عملا سیستم های توزیع شده ای وجود نداشته است . در آن دوران ، استفاده از کامپیوتر، شامل نشستن پشت یک ترمینال و برقراری ارتباط با یک سیستم بزرگ بود. با اینکه ترمینال ها در چندین ساختمان و یا حتی محل فیزیکی قرار می گرفتند ، ولی عملا یک کامپیوتر مرکزی وجود داشت که مسئولیت انجام تمامی پردازش ها و ذخیره سازی داده ها را برعهده می گرفت .
Mainfram معایب
مسائل فوق، ضرورت حرکت بسمت ایجاد یک الگوی جدید بمنظور طراحی برنامه های کامپیوتری را مطرح و بر همین اساس نسل جدیدی از برنامه های کامپیوتری با عنوان " برنامه های توزیع شده" در عرصه نرم افزار بوجود آمد.که این برنامه ها به سیستم های توزیع شده نیاز دارد.
یک برنامه توزیع شده، برنامه ای است که پتانسیل های پردازشی آن ممکن است توسط چندین کامپیوتر فیزیکی تامین و داده های آن در چندین محل فیزیکی، مستقر شده باشد .
یک سیستم توزیع شده مجموعه ای از کامپیوتر هاست که دارای منابع اجرایی مختلف و زیادی هستند.
مفهوم گرید 1-1
در گرید هر شخصی می تواند به راحتی وارد یک شبکه شود و از توان محاسباتی موجود در شبکه استفاده کند.در شیوه های نوین به جای استفاده از رایانه های اختصاصی برای حل مسائل بزرگ ، با استفاده از رایانه های موجود پراکنده که از همه توان محاسباتی خود استفاده نمی کنند، سعی می شود با جمع آوری این توانهای پراکنده که اغلب بی استفاده می مانند، کارهای خود را انجام دهند. این منابع محاسباتی اگرچه اغلب قدرت و هماهنگی رایانه های اختصاصی را ندارند، اما تعداد زیادی از آنها به وفور در مراکز عمومی از قبیل دانشگاه ها، اداره ها، کتابخانه ها و غیره و حتی در منازلی که اتصال قوی به اینترنت دارند یافت می شوند و این موجب می شود که توان محاسباتی آن در مجموع بسیار بالا باشد و در عین حال هزینه آن به مراتب پایین تر می باشد.
مخصوصاً اینکه هزینه های نگهداری به عهده مالکین منابع می باشد و مدیریت این سیستم صرفاً از منابع برخط در زمانبندی برنامه ها استفاده می کنند. با استفاده از گرید توان کامپیوتر ها دیگر بی معنا است ، صرف نظر از آن که کامپیوتر شما ضعیف و ابتدایی است ، می توانید به بیش از قدرت کامپیوتری دست یابید که هم اکنون در پنتاگون وجود دارد .
یکی از مزایای مهم سیستمهای توزیع شده سرعت بالای اجرای برنامههاست چرا که یک برنامه همزمان میتواند از چندین کامپیوتر برای اجراء شدنش استفاده کند.[22]
همچنین به علت توزیع شدن اطلاعات, بانکهای اطلاعاتی حجیم میتوانند روی یکسری کامپیوترهای شبکه شده قرار بگیرند. و لازم نیست که همه اطلاعات به یک کامپیوتر مرکزی فرستاده شود(که در نتیجه این نقل و انتقالات حجیم زمان زیادی به هدر میرود.(
به علت تأخیرهای انتقال در شبکه و نویزهای احتمالی در خطوط انتقالی قابلیت اعتماد اجرای یک برنامه دریک سیستم تنها,بیشتر از قابلیت اجرای آن دریک سیستم توزیع شده است .
همچنین درسیستم توزیع شده اگر یکی از کامپیوترهایی که وظیفه اصلی برنامه جاری را برعهده دارد خراب شود کل عمل سیستم مختل خواهد شد . از طرف دیگر اگر اطلاعاتی همزمان در چند کامپیوتر به صورت یکسان ذخیره گردد ویکی از کامپیوترها خراب شود, داده هارا میتوان از کامپیوترهای دیگر بازیابی کرد از این نظر امنیت افزایش مییابد.
اشتراک به منابع محاسباتی محدود نمیشود. انواع منابع اعم از انبارهها،نرمافزار و بانکهای اطلاعاتی را در بر میگیرد. در عین حال، امنیت و سیاست محلی نیز تضمین میشود.[21]
بعد از اتصال به گرید، کاربر استخر بزرگی از منابع را در اختیار دارد. هنگامی که بار کاری سیستم محلی سنگین باشد، میتوان بخشی از بارکاری را به سایر منابع گرید منتقل کرد.
ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است
متن کامل را می توانید در ادامه دانلود نمائید
چون فقط تکه هایی از متن برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است