فایل ارائه یک الگوریتم اجتماع مورچگان به منظور بهبود در زمان انجام کارها در محیط گرید
دسته بندي :
کالاهای دیجیتال »
رشته کامپیوتر و IT (آموزش_و_پژوهش)
این پایان نامه در قالب فرمت word قابل ویرایش ، آماده پرینت و ارائه به عنوان پروژه پایانی میباشد.
فهرست مطالب
عنوان صفحه
چکيده 1
فصل 1: مقدمه 2
1-1- مقدمه 3
1-2- پردازش شبکه ای 4
1-3- الگوریتم مورچگان 4
1-4- چالش های پردازش شبکه ای 5
فصل 2: 7
2-1- مروری بر الگوریتم های و روش ها 8
2-2- زمان بندی چندسطحی پویا 8
2-3- اختصاص سریعترین پردازنده به بزرگترین کار 8
2-4- صف کارها با تکرار(WQR) 8
2-5- الگوریتم اجتماع مورچگان تعادلی(BACO) 9
2-6- روش الگوریتم ژنتیک در پردازش شبکه ای 10
فصل 3:پیشینه تحقیق 13
3-1- یک سیستم مبتنی بر عامل برای مدیریت منابع( ARMS) 14
3-2- روش پیوندی مورچگان 15
3-3- در اختیار گرفتن منابع در پردازش شبکه ای به وسیله الگوریتم یادگیری تقویتی 16
3-4- روشتجربی مورچگان به وسیله تخصیص منابع با روشاشتراکزمانی در پردازش شبکهای 18
3-5- پیک روش حراج دو طرفه پیوست 19
3-6- ترکیبی از الگوریتم های ژنتیک 20
3-7- متا زمان بند ها به منظور زمان بندی برنامه های موازی 21
3-8- یک روش بهبودسازی به وسیله کلونی مورچگان 31
3-9- یک روش مبتنی بر عامل به منظور افزایش 34
فصل 4: ارائه روش پیشنهادی و پیاده سازی 37
4-1 پردازش در محیط های شبکه ای با مدل های تجاری 38
4-2- روش حراج دو طرفه ای در پردازش شبکه ای 40
4-3- نحوه پیاده سازی روش های ارایه شده 47
4-4- کلاس حراج کننده 50
4-5- کلاس مربوط به کاربر 52
4-6- کلاس EXAMPLEAUCTION.JAVA 54
4-7- کلاس مربوط به منابع حراج (AUCTIONRESOURCE.JAVA) 55
فصل 5: نتیجه گیری و پیشنهادات 58
منابع 74
فهرست اشکال
شکل1-1. نحوه حرکت مورچگان در طبیعت 4
شکل 1-2. نمونه گراف حاصل از الگوریتم مورچگان 4
شکل2-1. ساختار کلی سیستم 9
شکل2-2. نحوه نگاشت روش کلونی مورچگان در پردازش شبکه ای 10
شکل 2-3- شبه کد الگوریتم ژنتیک 11
شکل3-1. ساختار یک سیستم مبتنی بر عامل برای مدیریت منابع 14
شکل3-2. ساختار درختی به منظور مدیریت منابع 15
شکل 3-3. نمایش سناریو کلی برای زمان بندی کارها به صورت چند عامله در پردازش شبکه ای 17
شکل 3-4. نحوه زمان بندی در روش FIFO ............................................................................................................19
شکل3-5. نمونه ای از واحدها(نشان دهنده هشت درخواست می باشد). 20
شکل 3-6. شمایی از رابطه میان متا زمان بند و کاربر و زمان بند های محلی موجود در سایت 23
شکل3-7. ساختار کلی متا زمان بند.............................................................................................................................24
شکل3-8. مقایسه حالت های ضربی و جمعی در فاکتور ارزیابی 26
شکل 3-9.ساختار خانه های صف 28
شکل 3-10. الگوریتم کلی روش زمانبندی ارائه شده 30
شکل3-11رابط استفاده شده در روش پیشنهادی ........................................................................................................34
شکل3-12 .شبه کد روش 36
شکل4-1. ساختار کلی مدل حراج منابع 39
شکل4-2. نمونه ای از الگوریتم پیشنهادی 41
شکل4-3. مربوط به یک جراج دو طرفه نمایش داده شده 43
شکل4-4. ساختار کلی نرم افزار GridSim 46
چکيده
در اين پايان نامه به ارايه يک روش جديد در پردازش شبکه اي با الگوريتم مورچگان پرداختهايم. مدلی كه در فضاي شبکه اي استفاده كرديم حراج دو طرفه پیوسته مي باشد. این مدل ها به دلیل سادگی و پویایی خود امروزه در بسیاری از الگوریتم های مورد استفاده برای کنترل منابع و زمان بندی کارها مورد استفاده قرار می گیرند. بسیاری از این مدل ها در زمان پاسخ گویی خود هنگام مدیریت منابع دچار ضعف می باشند. در مدل حراج, حراج کنندگان قیمت های مورد نظر خریداران را اعلام می کنند و خریداری که قیمت مناسب را اعلام کرده باشد منبع را بدست می گیرد. این مساله خود باعث می شود که زمان پاسخ گویی به دلیل درخواست خریداران افزایش یابد. در این پایان نامه ما روش جدیدی را به وسیله الگوریتم ژنتیک در سناریو حراج دو طرفه ارایه کردیم. در این روش با هوشمند سازی منابع, بسته های درخواست پیشنهادی را به سمتی سوق دادیم هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشند
پیاده سازي هاي صورت گرفته در نرم افزار شبیه سازي GridSim مورد بررسي قرار گرفت و نتايج نشان داد كه اين روش جديد باعث بهبود زمان پردازش و كم شدن تعداد مراحل حراج مي شود.
واژه های کلیدی: الگوریتم، شبکه، نرم افزار،call for proposal
فصل 1:
مقدمه
1-1- مقدمه
هدف اصلی این پایان نامه بهبود بازدهی در پردازش شبکه ای به وسیله الگوریتم مورچگان می باشد. این فصل با طرح مساله اصلی پردازش شبکه ای اغاز می شود و اهمیت آن شرح داده می شود. استفاده از الگوریتم مورچگان در بسیاری از مسایل باعث بهبود بازدهی و کاهش زمان پردازش شده است. این امر زمینه ای را فراهم می آورد تا از این الگوریتم در پردازشبکه ای نیز استفاده شود.
1-2- پردازش شبکه ای
پردازش شبکه ای به مجموعه ای از منابع که از چند نقطه مختلف برای انجام یک هدف اقدام به کار می کنند گویند. هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه ای های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. . با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشند . همچنین در این پردازش ها ممکن است از لحاظ سخت افزاری و نرم افزاری با هم تفاوت داشته باشند.
پردازش شبکه ای دارای معماری های مختلفی می باشد که می توان به موارد زیر اشاره کرد :
• GT2
• OGSA
• GT3
1-3- الگوریتم مورچگان
الگوریتم مورچگان یک الگوریتم هیوریستیک با یک جستجوی محلی بهینه می باشد که برای مسایل ترکیبی مورد استفاده می گیرد. این روش از رفتار طبیعی مورچگان الهام گرفته است. در طبیعت مورچگان با ماده ای که از خود ترشع می کنند راه را به بقیه مورچگان نشان می دهند. در بسیاری از پژوهش ها از روش کلونی مورچگان برای حل مسایل NPسخت استفاده می شود. از این روش برای حل مسایلی مانند فروشنده دوره گرد, رنگ امیزی گراف و مسیر یابی استفاده می شود.
شکل1-1. نحوه حرکت مورچگان در طبیعت
شکل 1-2. نمونه گراف حاصل از الگوریتم مورچگان
اجتماع مورچگان به مجموعه ای از مورچه های هوشمند گفته می شود که به صورت گروهی رفتار می کنند. این اجتماع در محیط جستجو می کنند تا جواب بهینه را پیدا کنند.
در مساله زمان بندی در محیط های شبکه ای, هر کدام از این کارها به منزله یک مورچه در نظر گرفته می شود. هر کدام از این مورچه ها به دنبال منابع مورد نظر خود حرکت می کنند.
در زیر شبه کد اجتماع مورچگان نشان داده شده است:
Procedure ACO
begin
Initialize the pheromone
while stopping criterion not satisfied do repeat for each ant do Chose next node by applying the state transition rate end for until every ant has build a solution Update the pheromone end while end
روش های متفاوتی برای اجتماع مورچگان وجود دارد که می توان به موارد زیر اشاره کرد :
• Max-Min Ant System
• Rank-based Ant System
• Fast Ant System
• Elitist Ant System
1-4- چالش های پردازش شبکه ای
از چالش مهم در پردازش های شبکه ای می توان به نحوه اولویت بندی و زمان بندی به پردازه ها اشاره کرد. مساله زمان بندی در پردازش های شبکه ای از سه بخش تشکیل می شود :
1. پیدا کردن منابع که شامل منابعی است قابلیت استفاده را دارند
2. جمع اوری اطلاعات درباره این منابع و انتخاب بهترین مجموعه از منابع
3. کارها در این مرحله انجام می شود
مرحله پیدا کردن مجموعه بهترین منابع یکی از مسایل NP-Complete می باشد. در زمان بندی کارها دو هدف عمده وجود دارد :
1. بیشترین میزان کارایی را سیستم داشته باشد
2. بیشترین خروجی را داشته باشد
برای هدف اول, باید روشی ارایه شود که زمان پردازش را کاهش دهد و برای هدف دوم, باید روشی ارایه شود که زمان بندی را به مجموعه ای از کارهای مستقل از هم تقسیم کند. این کار باعث می شود که ظرفیت انجام کار سیستم در واحد زمان افزایش یابد.
برای حل این مشکل روش های متفاوتی ارایه شده است. یکی از این روش ها نگاشت این مساله به مساله فروشنده دوره گرد می باشد. در این روش مسیر هایی که منابع نسبت به هم دارند مهم می باشد. در پردازش شبکه ای به دلیل اینکه منابع در فواصل متفاوت و غیر متقارن نسبت به هم قرار دارند به همین دلیل در مواردی این روش می تواند مفید عمل کند.
در ادامه این پژوهش مطالب به صورت زیر ارائه گردیده است.
در فصل دوم به پیش زمینه های مربوطه پرداخته ایم و کلیات روش های زمانبندی به مورچه، ژنتیک و حراج پرداخته شده است.
در فصل سوم مهمترین الگوریتم ها و روشهای پیاده سازی شده در بسترۀ الگوریتم های زمان بندی ارائه گردیده است.
در فصل چهارم به ارائه روش پیشنهادی می پردازیم و نتایج شبیه سازی روش پیشنهادی (Acdanp) با روش قبلی مورد ارزیابی و مقایسه قرار می گیرد.
در فصل پنجم به ارائه پیشنهادات و کارهای آتی می پردازیم. ضمناً در پیوست الف کد سورس نوشته شده در محیطی Gridsim آورده شده است.
فصل 2:
پیش زمینه تحقیق
2-1- مروری بر الگوریتم های و روش ها
در این بخش به مروری بر کارهای انجام شده در پردازش های شبکه ای می پردازیم. ابتدا به توضیح در مورد روش های اولیه مانند Dynamic level schedulingو سپس به روش های اخیر استفاده شده در این زمینه می پردازیم.
2-2- زمان بندی چندسطحی پویا