مهندسی نرم افزار
دانلود پایاننامه كارشناسی ارشد رشته مهندسی نرمافزار تخصیص منابع در رایانش ابری با الگوریتم ژنتیک و شبکه عصبی چکیده امروزه شبکه محاسبات ابری به عنوان یکی از مهم ترین ابزارهای توزیع شده برای انجام پردازش و ذخیره سازی داده ها در بستر اینترنت مطرح شده است تا جایی که سال 2010 را بعنوان سال محاسبات ابری نامیدند از جمله ویژگی های بارز این مدل توزیع شده می توان به کاهش چشمگیر هزینه ها و قابلیت اطمینان بالای آن و همچنین میزان پایین در آلودگی محیط زیست اشاره کرد.با رشد روز افزون این شبکه نیاز به زمان بندی کارها بمنظور استفاده ی بهینه از شبکه و پاسخگویی مناسب به کارها بشدت مورد توجه قرار گرفته است و در این زمینه تلاش های زیادی در حال انجام می باشد . به دلیل اینکه محیط محاسبات ابری محیطی بسیار بزرگ و دارای تعداد زیادی کارهای ورودی به شبکه می باشد الگوریتم های قطعی نتیجه ی مناسبی ندارند و بهترین گزینه برای این مدل از شبکه ، الگوریتم های اکتشافی می باشند ولی یکی از مشکلات اکثر روش های ارائه شده عدم جامعیت نسبی برای ارائه یک راهکار کلی در برقراری توازن در بین پارامترهای شبکه محاسبات ابری می باشد همچنین در اکثر کارهای ارائه شده بحث عدالت در اختصاص منابع به کارها نادیده گرفته شده است یعنی برای بسیاری از کارها امکان وقوع گرسنگی وجود دارد.ما برای بهینه سازی پارمترهای زمان اجرا و زمان پاسخگویی و هزینه و بهره وری سیستم الگوریتمی ترکیبی ارائه داده ایم که ما در راهکار ارائه شده برای بحث عدالت برای کارهای وارد شده به شبکه و جلوگیری از گرسنگی آنها چاره ای اندیشیده ایم. در N2TC(Neural Network Task Classification) که بر اساس شبکه عصبی می باشد کارهای جدید و کارهایی که در صف انتظار قرار دارند وارد شبکه شده و به آنها اولویت داده می شود کارهایی که دارای اولویت بالاتری می باشند به GaTa(Genetic Algorithm Task assignment) که مبتنی بر الگوریتم ژنتیک می باشد ارسال شده تا مجموعه ای بهینه از کارها به منابع موجود در شبکه اختصاص یابد. راهکار پیشنهادی بطور میانگین 10% بهبود در زمان اجرا و 25% در بخش بهره وری شبکه محاسبات ابری و 50% در بخش هزینه و 5% بهبود در زمینه زمان پاسخگویی را بیان می کند هم با توجه به سرعت بالا در همگرایی در GaTa باعث افزایش سرعت اجرای زمان بندی شده است. کلمات کلیدی: الگوریتم ژنتیک شبکه عصبی الگوریتم اکتشافی شبکه محاسبات ابری انتخاب و زمان بندی منابع مقدمه 1-2- بیان مساله یکی از مهم ترین چالش های شبکه محاسبات ابری بحث انتخاب منابع و زمان بندی کارها می باشد. حجم وسیع بار بر روی این شبکه و استقبال زیاد کاربران باعث شده است که کاربران زمان زیادی در انتظار بمانند تا بار شبکه کم شود و منابع مورد نیاز خود را در اختیار بگیرند حال ما قصد داریم با استفاده از الگوریتم های اکتشافی روشی نوین در این زمینه ارائه کنیم که زمانی که کارها به شبکه وارد می شوند منابع را به شیوه ای بهینه و مناسب به آنها اختصاص دهیم تا شبکه هم از نظر سرعت اجرای زمانبندی و هم از نظر دقت در انتخاب کارها به خوبی کار خود را انجام دهد. 1-3- اهمیت و ضرورت انجام تحقیق از آنجایی که روش های فعلی زمانبندی از قبیل Round –Robin و FiFo و ... که در شبکه محاسبات ابری استفاده می شود اگر چه دارای پیاده سازی راحت تری نسبت به راهکار پیشنهادی ما می باشند ولی در زمینه بهبود پارامترهای مهم در شبکه کار چندانی انجام نمی دهند و همچنین بعضی این الگوریتم ها دارای سرعت اجرایی مناسبی نیستند همچنین کاربران شبکه محاسبات ابری همواره بدنبال این هستند که کارهایشان در زمان کوتاه و با هزینه مناسب انجام گیرد از طرفی ارائه دهندگان سرویس نیز به بدنبال افزایش حداکثری بهره وری منابع خود می باشند تا بتوانند سودی بیشتر کسب کنند این در حالی است که در بین الگوریتم های موجود روشی وجود ندارد که بتواند این تعادل را تا حد ممکن در بین نیازهای مشتری و ارائه دهنده سرویس فراهم کند. 1-4- اهداف هدف از ارائه راهکار پیشنهادی که شامل الگوریتم های N2TC وGaTa می باشد بهینه سازی پارامترهایی است که در ادامه آنها را توضیح می دهیم.زمان اجرای کارها یکی از پارامترهای بسیار مهم در شبکه محاسبات ابری است.زمان پاسخگویی نیز پارامتری است که باید فاصله زمانی میان ارسال کار به شبکه و دریافت اولین پاسخ از شبکه به کاربر را کوتاه کنیم.هزینه یکی از مهمترین چالش ها در شبکه محاسبات ابری می باشد که باید تا حد ممکن کاهش یابد.بهره وری سیستم پارامتر بعدی می باشد که یکی از مسائل مهمی است که رائه دهندگان سرویس ها در شبکه محاسبات ابری با آن دست و پنجه نرم می کنند تا بتوانند بیشترین بهره وری را از منابع خود داشته و درآمد بیشتری کسب کنند.پارامتر آخر بحث عدالت برای کارهای ارائه شده است این پارامتر در اغلب -الگوریتم های پیشنهادی در نظر گرفته نشده است و به کارهایی که از نظر پارامتری در حد مطلوبی نمی باشند هیچگاه منابع اختصاص داده نمی شود همین امر باعث کاهش تعداد مشتریان شبکه می شود که در نهایت باعث کاهش درآمد ارائه دهندگان سرویس در شبکه محاسبات ابری می شود ولی با در نظر گرفتن عدالت امکان دریافت منابع توسط این کارها را فراهم می کنیم. فهرست مطالب فصل اول:کلیات مقدمه بیان مسئله اهمیت و ضرورت انجام تحقیق اهداف فرضیه جمع بندی فصل دوم:ادبیات و پیشینه تحقیق مقدمه محیط محاسبات ابری عناصر پایه ای معماری انواع ابر کاربردها چالش ها انتخاب منابع و زمان بندی انتخاب منابع زمان بندی الگوریتم ژنتیک کروموزم جمعیت تابع برازندگی عملگر انتخاب عملگر آمیزش عملگر تلفیق عملگر جهش شبکه عصبی پیشینه تحقیق کارهای مرتبط در محیط محاسبات ابری کارهای مرتبط در سایر محیط های توزیع شده فصل سوم روش تحقیق مقدمه مدل پیشنهادی شبکه عصبی الگوریتم ژنتیک معماری مدل پیشنهادی الگوریتم پیشنهادی فصل چهارم نتایج تحقیق مقدمه سناریو اجرا ارزیابی راهکار پیشنهادی فصل پنجم:نتیجه گیری و کارهای آینده مقدمه جمع بندی نتیجه گیری کارهای آینده مراجع پیوست ها