فهرست مطالبچکيده1فصل 1: مقدمه21-1- مقدمه31-2- پردازش شبکه ای41-3- الگوریتم مورچگان41-4- چالش های پردازش شبکه ای5فصل 2:72-1- مروری بر الگوریتم های و روش ها82-2- زمان بندی چندسطحی پویا82-3- اختصاص سریعترین پردازنده به بزرگترین کار82-4- صف کارها با تکرار(WQR)82-5- الگوریتم اجتماع مورچگان تعادلی(BACO)92-6- روش الگوریتم ژنتیک در پردازش شبکه ای10فصل 3:پیشینه تحقیق133-1- یک سیستم مبتنی بر عامل برای مدیریت منابع( ARMS)143-2- روش پیوندی مورچگان 153-3- در اختیار گرفتن منابع در پردازش شبکه ای به وسیله الگوریتم یادگیری تقویتی163-4- روشتجربی مورچگان به وسیله تخصیص منابع با روشاشتراکزمانی در پردازش شبکهای183-5- پیک روش حراج دو طرفه پیوست193-6- ترکیبی از الگوریتم های ژنتیک203-7- متا زمان بند ها به منظور زمان بندی برنامه های موازی213-8- یک روش بهبودسازی به وسیله کلونی مورچگان313-9- یک روش مبتنی بر عامل به منظور افزایش34 فصل 4: ارائه روش پیشنهادی و پیاده سازی374-1 پردازش در محیط های شبکه ای با مدل های تجاری384-2-روش حراج دو طرفه ای در پردازش شبکه ای404-3- نحوه پیاده سازی روش های ارایه شده474-4- کلاس حراج کننده504-5- کلاس مربوط به کاربر524-6- کلاس ExampleAuction.java544-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 چکيدهدراينپاياننامهبهارايهيکروشجديددرپردازششبکهايباالگوريتممورچگانپرداختهايم. مدلیكهدرفضايشبکهاياستفادهكرديمحراجدوطرفهپیوستهميباشد. این مدل ها به دلیل سادگی و پویایی خود امروزه در بسیاری از الگوریتم های مورد استفاده برای کنترل منابع و زمان بندی کارها مورد استفاده قرار می گیرند. بسیاری از این مدل ها در زمان پاسخ گویی خود هنگام مدیریت منابع دچار ضعف می باشند. در مدل حراج, حراج کنندگان قیمت های مورد نظر خریداران را اعلام می کنند و خریداری که قیمت مناسب را اعلام کرده باشد منبع را بدست می گیرد. این مساله خود باعث می شود که زمان پاسخ گویی به دلیل درخواست خریداران افزایش یابد. در این پایان نامه ما روش جدیدی را به وسیله الگوریتم ژنتیک در سناریو حراج دو طرفه ارایه کردیم. در این روش با هوشمند سازی منابع, بسته های درخواست پیشنهادی[1] را به سمتی سوق دادیم هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشندپیادهسازيهاي صورتگرفتهدرنرمافزارشبیهسازي GridSim موردبررسيقرارگرفتونتايجنشاندادكه اينروشجديدباعثبهبودزمانپردازشوكمشدنتعدادمراحلحراجميشود. واژه های کلیدی: الگوریتم، شبکه، نرم افزار،call for proposal 1-1- مقدمههدف اصلی این پایان نامه بهبود بازدهی در پردازش شبکه ای به وسیله الگوریتم مورچگان می باشد. این فصل با طرح مساله اصلی پردازش شبکه ای اغاز می شود و اهمیت آن شرح داده می شود. استفاده از الگوریتم مورچگان در بسیاری از مسایل باعث بهبود بازدهی و کاهش زمان پردازش شده است. این امر زمینه ای را فراهم می آورد تا از این الگوریتم در پردازشبکه ای نیز استفاده شود.1-2- پردازش شبکه ایپردازش شبکه ای به مجموعه ای از منابع که از چند نقطه مختلف برای انجام یک هدف اقدام به کار می کنند گویند. هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه ای های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. . با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشند . همچنین در این پردازش ها ممکن است از لحاظ سخت افزاری و نرم افزاری با هم تفاوت داشته باشند.پردازش شبکه ای دارای معماری های مختلفی می باشد که می توان به موارد زیر اشاره کرد : 1-3- الگوریتم مورچگانالگوریتم مورچگان یک الگوریتم هیوریستیک با یک جستجوی محلی بهینه می باشد که برای مسایل ترکیبی مورد استفاده می گیرد. این روش از رفتار طبیعی مورچگان الهام گرفته است. در طبیعت مورچگان با ماده ای که از خود ترشع می کنند راه را به بقیه مورچگان نشان می دهند. در بسیاری از پژوهش ها از روش کلونی مورچگان برای حل مسایل NPسخت استفاده می شود. از این روش برای حل مسایلی مانند فروشنده دوره گرد, رنگ امیزی گراف و مسیر یابی استفاده می شود. اجتماع مورچگان به مجموعه ای از مورچه های هوشمند گفته می شود که به صورت گروهی رفتار می کنند. این اجتماع در محیط جستجو می کنند تا جواب بهینه را پیدا کنند.در مساله زمان بندی در محیط های شبکه ای, هر کدام از این کارها به منزله یک مورچه در نظر گرفته می شود. هر کدام از این مورچه ها به دنبال منابع مورد نظر خود حرکت می کنند.در زیر شبه کد اجتماع مورچگان نشان داده شده است: Procedure ACObeginInitialize the pheromonewhilestopping criterion not satisfied do repeat foreach ant doChose next node by applying the state transition rate end for until every ant has build a solution Update the pheromone end while endروش های متفاوتی برای اجتماع مورچگان وجود دارد که می توان به موارد زیر اشاره کرد : 1-4- چالش های پردازش شبکه ایاز چالش مهم در پردازش های شبکه ای می توان به نحوه اولویت بندی و زمان بندی به پردازه ها اشاره کرد. مساله زمان بندی در پردازش های شبکه ای از سه بخش تشکیل می شود :مرحله پیدا کردن مجموعه بهترین منابع یکی از مسایل NP-Complete می باشد. در زمان بندی کارها دو هدف عمده وجود دارد :برای هدف اول, باید روشی ارایه شود که زمان پردازش را کاهش دهد و برای هدف دوم, باید روشی ارایه شود که زمان بندی را به مجموعه ای از کارهای مستقل از هم تقسیم کند. این کار باعث می شود که ظرفیت انجام کار سیستم در واحد زمان افزایش یابد.برای حل این مشکل روش های متفاوتی ارایه شده است. یکی از این روش ها نگاشت این مساله به مساله فروشنده دوره گرد می باشد.در این روش مسیر هایی که منابع نسبت به هم دارند مهم می باشد. در پردازش شبکه ای به دلیل اینکه منابع در فواصل متفاوت و غیر متقارن نسبت به هم قرار دارند به همین دلیل در مواردی این روش می تواند مفید عمل کند.در ادامه این پژوهش مطالب به صورت زیر ارائه گردیده است.در فصل دوم به پیش زمینه های مربوطه پرداخته ایم و کلیات روش های زمانبندی به مورچه، ژنتیک و حراج پرداخته شده است.در فصل سوم مهمترین الگوریتم ها و روشهای پیاده سازی شده در بسترۀ الگوریتم های زمان بندی ارائه گردیده است.در فصل چهارم به ارائه روش پیشنهادی می پردازیم و نتایج شبیه سازی روش پیشنهادی (Acdanp) با روش قبلی مورد ارزیابی و مقایسه قرار می گیرد.در فصل پنجم به ارائه پیشنهادات و کارهای آتی می پردازیم. ضمناً در پیوست الف کد سورس نوشته شده در محیطی Gridsim آورده شده است. فصل 2:پیش زمینه تحقیق 2-1- مروری بر الگوریتم های و روش هادر این بخش به مروری بر کارهای انجام شده در پردازش های شبکه ای می پردازیم. ابتدا به توضیح در مورد روش های اولیه مانند Dynamic level schedulingو سپس به روش های اخیر استفاده شده در این زمینه می پردازیم.2-2- زمان بندی چندسطحی پویادر این روش هدف انتخاب بهترین دوتایی زیرکار و ماشین برای زمان بندی می باشد[1]. برای انجام عمل بیان شده یک مدل خاص ارایه شده است. هدف کلی در این روش,کاهش زمان پردازش برنامه می باشد. در محیط های پردازش شبکه ای, الگوریتم های زمان بندی دیگر بر روی زیر کارهای یک برنامه که در میزبان محاسبه گر یا سازمان مجازی اجرا می شود تاکید ندارند . هدف اصلی, زمان بندی به صورتی است که تمامی برنامه های ورودی بتوانند از توان موجود استفاده کنند.در مقاله [2]با اضافه کردن هیوریستیک به روش ذکر شده,سعی در افزایش کارایی سیستم داشته اند.2-3- اختصاص سریعترین پردازنده به بزرگترین کارالگوریتم زمان بندی FPLTF[3]کارها را بر اساس منابعی که در سیستم برای انجام ان وجود تعیین می شود. این روش به دو پارامتر سرعت پردازنده و منابع و حجم کار بستگی دارد. در این روش بزرگترین کار به سریع ترین منبع تعلق می گیرد. اگر تعداد زیادی از کارهای با حجم زیاد وجود داشته باشد, انگاه این روش دارای کارایی بسیار پایین می باشد.روش FPLTF پویا[4] با توجه به روش استاتیک FPLTF توسعه یافته است. در این روش بالاترین اولویت را به بزرگترین کار داده می شود. در این روش باید داده هایی که برای پردازش لازم است تخمین زده شود.2-4- صف کارها با تکرار(WQR)این روش بر مبنای روش WQ می باشد. این روش پردازنده های سریع تر را به کارهایی که حجم زیادی دارند تعلق می گیرد[5]. روش زمان بندی که در این روش استفاده می شود FCFSو رندوم می باشد. WQRکارها را به منظور انتقال به منابع قابل دسترس تکرار می کند. میزان تکرار کارها می تواند توسط کاربر انتخاب شود. هنگامی که یکی از این تکرار ها تمام شد, الگوریتم زمان بندی تکرار بقیه کارها راقطع می کند. یکی از مشکلات این روش زمان زیادی است که برای اختصاص منابع برای عملیات تکرار صورت می گیرد.2-5- الگوریتم اجتماع مورچگان تعادلی(BACO)ایده اصلی این روش از روش اجتماع مورچگان گرفته شده است[3]. هدف اصلی این روش کاهش زمان پردازش و میزان بار هر کدام از منابع است. این روش میزان چگالی فرمون را بر اساس وضعیت منابع تغییر می دهد. این کار با به روز رسانی فرمون به صورت محلی و کلی انجام می شود. در این روش با کوتاه کردن زمان پایان کارها, در عین حال که سیستم را در حال تعادلی پردازش نگه می دارد. معماری این زمان بندی پردازش شبکه ای به صورت زیر می باشد. چهار مورد از اجزا به صورت زیر می باشد: پورتال, سرور اطلاعات, الگوریتم زمان بندی کارها و منابع مورد نیاز پردازش. این پورتال به منظور یک رابط برای انجام کارها برای کاربرها استفاده می شود. (در شکل 2-1- ساختار کلی سیستم آمده است) شکل2-1. ساختار کلی سیستم سرور اطلاعات به وسیله سرویس شبکه هواشناسی(NWS)[6]اطلاعات در مورد منابع را جمع اوری می کند. پردازهNWSدر بازه های زمانی معین داده ها را به سرور های داده بازمی گرداند. الگوریتم زمان بندی نیز به وسیله روش BACOانجام می شود. در روش BACOیک مورچه یک کار در پردازش شبکه ای می باشد.فرمون یک مسیر, هزینه استفاده از منبع در پردازش می باشد.شکل 2-2 نشان دهنده نگاشت انجام شده بین سیستم اجتماع مورچگان و پردازش شبکهای میباشد.
ارائه یک الگوریتم اجتماع مورچگان به منظور بهبود در زمان انجام کارها در محیط گرید word
فهرست مطالبچکيده1فصل 1: مقدمه21-1- مقدمه31-2- پردازش شبکه ای41-3- الگوریتم مورچگان41-4- چالش های پردازش شبکه ای5فصل 2:72-1- مروری بر الگوریتم های و روش ها82-2- زمان بندی چندسطحی پویا82-3- اختصاص سریعترین پردازنده به بزرگترین کار82-4- صف کارها با تکرار(WQR)82-5- الگوریتم اجتماع مورچگان تعادلی(BACO)92-6- روش الگوریتم ژنتیک در پردازش شبکه ای10فصل 3:پیشینه تحقیق133-1- یک سیستم مبتنی بر عامل برای مدیریت منابع( ARMS)143-2- روش پیوندی مورچگان 153-3- در اختیار گرفتن منابع در پردازش شبکه ای به وسیله الگوریتم یادگیری تقویتی163-4- روشتجربی مورچگان به وسیله تخصیص منابع با روشاشتراکزمانی در پردازش شبکهای183-5- پیک روش حراج دو طرفه پیوست193-6- ترکیبی از الگوریتم های ژنتیک203-7- متا زمان بند ها به منظور زمان بندی برنامه های موازی213-8- یک روش بهبودسازی به وسیله کلونی مورچگان313-9- یک روش مبتنی بر عامل به منظور افزایش34 فصل 4: ارائه روش پیشنهادی و پیاده سازی374-1 پردازش در محیط های شبکه ای با مدل های تجاری384-2-روش حراج دو طرفه ای در پردازش شبکه ای404-3- نحوه پیاده سازی روش های ارایه شده474-4- کلاس حراج کننده504-5- کلاس مربوط به کاربر524-6- کلاس ExampleAuction.java544-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 چکيدهدراينپاياننامهبهارايهيکروشجديددرپردازششبکهايباالگوريتممورچگانپرداختهايم. مدلیكهدرفضايشبکهاياستفادهكرديمحراجدوطرفهپیوستهميباشد. این مدل ها به دلیل سادگی و پویایی خود امروزه در بسیاری از الگوریتم های مورد استفاده برای کنترل منابع و زمان بندی کارها مورد استفاده قرار می گیرند. بسیاری از این مدل ها در زمان پاسخ گویی خود هنگام مدیریت منابع دچار ضعف می باشند. در مدل حراج, حراج کنندگان قیمت های مورد نظر خریداران را اعلام می کنند و خریداری که قیمت مناسب را اعلام کرده باشد منبع را بدست می گیرد. این مساله خود باعث می شود که زمان پاسخ گویی به دلیل درخواست خریداران افزایش یابد. در این پایان نامه ما روش جدیدی را به وسیله الگوریتم ژنتیک در سناریو حراج دو طرفه ارایه کردیم. در این روش با هوشمند سازی منابع, بسته های درخواست پیشنهادی[1] را به سمتی سوق دادیم هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشندپیادهسازيهاي صورتگرفتهدرنرمافزارشبیهسازي GridSim موردبررسيقرارگرفتونتايجنشاندادكه اينروشجديدباعثبهبودزمانپردازشوكمشدنتعدادمراحلحراجميشود. واژه های کلیدی: الگوریتم، شبکه، نرم افزار،call for proposal 1-1- مقدمههدف اصلی این پایان نامه بهبود بازدهی در پردازش شبکه ای به وسیله الگوریتم مورچگان می باشد. این فصل با طرح مساله اصلی پردازش شبکه ای اغاز می شود و اهمیت آن شرح داده می شود. استفاده از الگوریتم مورچگان در بسیاری از مسایل باعث بهبود بازدهی و کاهش زمان پردازش شده است. این امر زمینه ای را فراهم می آورد تا از این الگوریتم در پردازشبکه ای نیز استفاده شود.1-2- پردازش شبکه ایپردازش شبکه ای به مجموعه ای از منابع که از چند نقطه مختلف برای انجام یک هدف اقدام به کار می کنند گویند. هر کدام از این محیط های شبکه ای را می توان به صورت یک سیستم توزیع شده در نظر گرفت که با شبکه ای های دیگر تعامل ندارد و حجم زیادی از داده را پوشش می دهد. یکی از فواید این روش نسبت به روش کلاسترینگ این است که منابع می تواند از لحاظ جغرافیایی در نقاط پراکنده و به صورت غیر متقارن قرار گیرد. . با توجه به توزيع مجموعه هاي داده، انتخاب مجموعه منابع محاسباتي و منابع حاوي داده بايد بطور مناسب صورت پذيرفته به گونه اي كه سربار ناشي از انتقال اين مجموعه ها روي گريد كمينه شود. در اين تحقیق، مساله زمانبندي برنامه هاي نيازمند داده مورد توجه قرار مي گيرد. با توجه به اينكه زمانبندي بهينه مستلزم انتخاب مجموعه منابع مناسب مي باشد. در پردازش های شبکه ای ,محیط ها پویا می باشند به این معنا که ممکن است در یک زمان منابع روشن باشد و در زمانی دیگر همان منابع خاموش باشند . همچنین در این پردازش ها ممکن است از لحاظ سخت افزاری و نرم افزاری با هم تفاوت داشته باشند.پردازش شبکه ای دارای معماری های مختلفی می باشد که می توان به موارد زیر اشاره کرد : 1-3- الگوریتم مورچگانالگوریتم مورچگان یک الگوریتم هیوریستیک با یک جستجوی محلی بهینه می باشد که برای مسایل ترکیبی مورد استفاده می گیرد. این روش از رفتار طبیعی مورچگان الهام گرفته است. در طبیعت مورچگان با ماده ای که از خود ترشع می کنند راه را به بقیه مورچگان نشان می دهند. در بسیاری از پژوهش ها از روش کلونی مورچگان برای حل مسایل NPسخت استفاده می شود. از این روش برای حل مسایلی مانند فروشنده دوره گرد, رنگ امیزی گراف و مسیر یابی استفاده می شود. اجتماع مورچگان به مجموعه ای از مورچه های هوشمند گفته می شود که به صورت گروهی رفتار می کنند. این اجتماع در محیط جستجو می کنند تا جواب بهینه را پیدا کنند.در مساله زمان بندی در محیط های شبکه ای, هر کدام از این کارها به منزله یک مورچه در نظر گرفته می شود. هر کدام از این مورچه ها به دنبال منابع مورد نظر خود حرکت می کنند.در زیر شبه کد اجتماع مورچگان نشان داده شده است: Procedure ACObeginInitialize the pheromonewhilestopping criterion not satisfied do repeat foreach ant doChose next node by applying the state transition rate end for until every ant has build a solution Update the pheromone end while endروش های متفاوتی برای اجتماع مورچگان وجود دارد که می توان به موارد زیر اشاره کرد : 1-4- چالش های پردازش شبکه ایاز چالش مهم در پردازش های شبکه ای می توان به نحوه اولویت بندی و زمان بندی به پردازه ها اشاره کرد. مساله زمان بندی در پردازش های شبکه ای از سه بخش تشکیل می شود :مرحله پیدا کردن مجموعه بهترین منابع یکی از مسایل NP-Complete می باشد. در زمان بندی کارها دو هدف عمده وجود دارد :برای هدف اول, باید روشی ارایه شود که زمان پردازش را کاهش دهد و برای هدف دوم, باید روشی ارایه شود که زمان بندی را به مجموعه ای از کارهای مستقل از هم تقسیم کند. این کار باعث می شود که ظرفیت انجام کار سیستم در واحد زمان افزایش یابد.برای حل این مشکل روش های متفاوتی ارایه شده است. یکی از این روش ها نگاشت این مساله به مساله فروشنده دوره گرد می باشد.در این روش مسیر هایی که منابع نسبت به هم دارند مهم می باشد. در پردازش شبکه ای به دلیل اینکه منابع در فواصل متفاوت و غیر متقارن نسبت به هم قرار دارند به همین دلیل در مواردی این روش می تواند مفید عمل کند.در ادامه این پژوهش مطالب به صورت زیر ارائه گردیده است.در فصل دوم به پیش زمینه های مربوطه پرداخته ایم و کلیات روش های زمانبندی به مورچه، ژنتیک و حراج پرداخته شده است.در فصل سوم مهمترین الگوریتم ها و روشهای پیاده سازی شده در بسترۀ الگوریتم های زمان بندی ارائه گردیده است.در فصل چهارم به ارائه روش پیشنهادی می پردازیم و نتایج شبیه سازی روش پیشنهادی (Acdanp) با روش قبلی مورد ارزیابی و مقایسه قرار می گیرد.در فصل پنجم به ارائه پیشنهادات و کارهای آتی می پردازیم. ضمناً در پیوست الف کد سورس نوشته شده در محیطی Gridsim آورده شده است. فصل 2:پیش زمینه تحقیق 2-1- مروری بر الگوریتم های و روش هادر این بخش به مروری بر کارهای انجام شده در پردازش های شبکه ای می پردازیم. ابتدا به توضیح در مورد روش های اولیه مانند Dynamic level schedulingو سپس به روش های اخیر استفاده شده در این زمینه می پردازیم.2-2- زمان بندی چندسطحی پویادر این روش هدف انتخاب بهترین دوتایی زیرکار و ماشین برای زمان بندی می باشد[1]. برای انجام عمل بیان شده یک مدل خاص ارایه شده است. هدف کلی در این روش,کاهش زمان پردازش برنامه می باشد. در محیط های پردازش شبکه ای, الگوریتم های زمان بندی دیگر بر روی زیر کارهای یک برنامه که در میزبان محاسبه گر یا سازمان مجازی اجرا می شود تاکید ندارند . هدف اصلی, زمان بندی به صورتی است که تمامی برنامه های ورودی بتوانند از توان موجود استفاده کنند.در مقاله [2]با اضافه کردن هیوریستیک به روش ذکر شده,سعی در افزایش کارایی سیستم داشته اند.2-3- اختصاص سریعترین پردازنده به بزرگترین کارالگوریتم زمان بندی FPLTF[3]کارها را بر اساس منابعی که در سیستم برای انجام ان وجود تعیین می شود. این روش به دو پارامتر سرعت پردازنده و منابع و حجم کار بستگی دارد. در این روش بزرگترین کار به سریع ترین منبع تعلق می گیرد. اگر تعداد زیادی از کارهای با حجم زیاد وجود داشته باشد, انگاه این روش دارای کارایی بسیار پایین می باشد.روش FPLTF پویا[4] با توجه به روش استاتیک FPLTF توسعه یافته است. در این روش بالاترین اولویت را به بزرگترین کار داده می شود. در این روش باید داده هایی که برای پردازش لازم است تخمین زده شود.2-4- صف کارها با تکرار(WQR)این روش بر مبنای روش WQ می باشد. این روش پردازنده های سریع تر را به کارهایی که حجم زیادی دارند تعلق می گیرد[5]. روش زمان بندی که در این روش استفاده می شود FCFSو رندوم می باشد. WQRکارها را به منظور انتقال به منابع قابل دسترس تکرار می کند. میزان تکرار کارها می تواند توسط کاربر انتخاب شود. هنگامی که یکی از این تکرار ها تمام شد, الگوریتم زمان بندی تکرار بقیه کارها راقطع می کند. یکی از مشکلات این روش زمان زیادی است که برای اختصاص منابع برای عملیات تکرار صورت می گیرد.2-5- الگوریتم اجتماع مورچگان تعادلی(BACO)ایده اصلی این روش از روش اجتماع مورچگان گرفته شده است[3]. هدف اصلی این روش کاهش زمان پردازش و میزان بار هر کدام از منابع است. این روش میزان چگالی فرمون را بر اساس وضعیت منابع تغییر می دهد. این کار با به روز رسانی فرمون به صورت محلی و کلی انجام می شود. در این روش با کوتاه کردن زمان پایان کارها, در عین حال که سیستم را در حال تعادلی پردازش نگه می دارد. معماری این زمان بندی پردازش شبکه ای به صورت زیر می باشد. چهار مورد از اجزا به صورت زیر می باشد: پورتال, سرور اطلاعات, الگوریتم زمان بندی کارها و منابع مورد نیاز پردازش. این پورتال به منظور یک رابط برای انجام کارها برای کاربرها استفاده می شود. (در شکل 2-1- ساختار کلی سیستم آمده است) شکل2-1. ساختار کلی سیستم سرور اطلاعات به وسیله سرویس شبکه هواشناسی(NWS)[6]اطلاعات در مورد منابع را جمع اوری می کند. پردازهNWSدر بازه های زمانی معین داده ها را به سرور های داده بازمی گرداند. الگوریتم زمان بندی نیز به وسیله روش BACOانجام می شود. در روش BACOیک مورچه یک کار در پردازش شبکه ای می باشد.فرمون یک مسیر, هزینه استفاده از منبع در پردازش می باشد.شکل 2-2 نشان دهنده نگاشت انجام شده بین سیستم اجتماع مورچگان و پردازش شبکهای میباشد.