بخشی از مقاله
خلاصه
جریان کاری علمی همچون سایر برنامههای کاربردی از رایانش ابری بهره میبرد که با آن دسترسی نامحدود مجازی به منابع تغییر پذیر میسر میشود. برای اینکه بتوان به نحوی موثر جریان کاری در ابر را اجرا نمود نیاز به زمانبندی است تا بتوان به جنبههای نوین ارائه شده توسط تامین منابع ابری دست یافت. در سالهای اخیر برخی شیوهها پیشنهاد شده که به محیطهای متفاوت ابری میپردازند که منتهی به روشهای طراحی متفاوت میگردند.
در این مقاله طبقه بندی روشهای زمانبندی جریان کار در محیطهای ابری پیشنهاد شده که براساس بازنگری تحلیلی میباشد. در این مقاله به بررسی و توضیح جنبهها و طبقهبندیهای منحصر به زمانبندی جریان کار در محیطهای ابر در قالب سه مقوله فرآیند زمانبندی، کار و منابع پرداخته و در نهایت نتایج بررسی این تکنیکها بصورت یک طبقهبندی مناسب ارائه خواهد شد.
.1 مقدمه
از جریان های کاری علمی برای بالا بردن کارآیی تجربیات رایانشی استفاده میشود تا دانشمندان به یمن آن از شر موانع و مشکلات تکنیکی خلاص شوند. جهت برآورده ساختن نیروی رایانشی لازم برای اجرای آزمایشات در مقیاس بزرگ از این جریان کاری با موفقیت در محیط محاسباتی توری استفاده میشود. این محیط محاسباتی توری، سیستمی توزیع شده بر اساس تقسیم منابع و هماهنگی میباشد. این اجرا معمولا برای استفاده بهینه بر روی منابع توری استفاده میشود.
به همین خاطر است که روشهای زمانبندی برای جریانات کاری توری علمی طی سالهای زیادی بررسی شده و توسعه یافته است. با ظهور رایانش ابری که دسترسی به منابع رایانش تغییر پذیر را میسر میسازد، جریانات کاری علمی همچون برنامههای کاربردی، میتوانند بصورت مجازی از منابع نامحدود با حداقل سرمایه گذاری سخت افزاری استفاده نمایند.[1] رایانش ابری با دارابودن چنین مزیتهایی توانسته توجهات بسیاری را در حوزه برنامه ریزی جریان کار به خود جلب نماید.
برخلاف منابع توری که اغلب با توجه به قراردادهای شراکتی مجانی میباشند، منابع ابری همچون ماشینهای مجازی بنا به استفادهشان به صورت پولی میباشند. همچنین منابع در ابر از طرق مختلف فراهم میشوند بنابراین اجرای جریان کار در ابر نیاز به یک روش زمانبندی متفاوت آنچه در جریان کاری توری استفاده می شود، دارد.[2]
از زمان تولد رایانش ابری تاکنون چندین تکنیک زمانبندی جریان کار پیشنهاد شده که این روشها بسیار به جنبه های محیط ابر پرداختهاند و نشان از انعطاف پذیری رایانش ابری دارد. هدف این مقاله تعیین این جنبهها در قالبی طبقه بندی شده است. در گذشته نویسندگان مراجع [4] و [3] به معرفی طبقهبندی برنامهریزی جریان کار در حیطه رایانش توری پرداختهاند. گرچه بسیاری از جنبهها و طبقهبندیها در هر دو متن ابر و شبکه توری مشترک میباشند، با این حال ملاحظات جدیدی از زمانبندی جریان کار ابری بوجود آمده است.
در مرجع [5] برخی نکات مربوط به این مقوله را شناسایی نمودهاند اما آنها تنها تمرکزشان بر روی ویژگیهای منابع و اجرای ابر ترکیبی بوده است. برخی دیگر از جمله [6] پیشنهاد یک طبقهبندی در رابطه با چالشها در زمانبندی جریان کار را ارائه نمودهاند که در آن بیشتر تمرکز بر روی اهداف زمانبندی و جنبههای کاربردی معماری سیستم جریان کار بوده است.
در این مقاله، طبقهبندی ارائه میکنیم که میتواند مکمل زمانبندی توری بوده و در آن به جنبههای نوین پرداخته شود. در ادامه در بخش 2 طبقهبندی فرآیند زمانبندی، در بخش3 طبقهبندی وظایف و در بخش 4 طبقهبندی منابع را بیان کرده، در بخش 5 مقایسه تکنیکهای زمانبندی ذکر شده و در بخش 6 نتیجهگیری را بیان میکنیم.
.2 طبقهبندی فرآیند زمانبندی
این گروه شامل جنبههای مربوط به الگوریتمهای فرآیند زمانبندی است که طبقهبندی را بسط میدهد. این جنبهها در شکل 1 نشان داده شده است، ضمنا در مرجع [7] نشان داده شده که آیا نمونههای ماشین مجازی بصورت استاتیک یا دینامیکی در فرآیند زمانبندی فراهم شده اند یا نه. در ادامه به بررسی این دستهبندی میپردازیم.
.2,1 معیارهای زمانبندی
معیارهای زمانبندی بر روی طراحی و رویکرد تکنیک های زمانبندی تاثیر میگذارند برخلاف زمانبندی جریان کار توری که در آن حداقل کردن زمان غالب است، اغلب تکنیکهای زمانبندی جریان کار ابری چند هدفه در نظر گرفته شده ودر آنها زمان و هزینه باهم در زمانبندی در نظر گرفته می شوند. با این حال سایر اهداف نیز در نظر گرفته شده اند.[8] این معیارها عبارتند از:
· زمان : زمان کلی اجرای یک جریان کار هدفی است غالب در اکثر تکنیکهای زمانبندی و این به آغاز رایانش توری برمیگردد. هدف زمان را میتوان هم محدودیت سخت مانند سررسید در نظر گرفته شود و هم به عنوان یک محدودیت نرم.
· هزینه : هزینه یکی از اهداف مهم در پژوهشهای مربوط به زمانبندی جریان کار ابری شده است که شامل هزینههای رایانش و انتقال دادهها میشود و در بخشهای بعدی بدان پرداخته میشود. هزینه میتواند هم به صورت سخت باشد هم به صورت نرم و همچنین می تواند تعاملی میان این دو در نظر داشت.[9]
· قابلیت اطمینان : در بحث اجرای جریان کار علاوه بر زمان و هزینه ها که خود بعنوان معیار به حساب می آیند، به قابلیت اطمینان نیز پرداخته میشود. این هدف تضمین میکند که منابع منتخب برای یک برنامه جهت تکمیل وظایف زمانبندی شده تامین گردد که برای اینکار در مقابل شکست در اجرای کار معمولا از شروع مجدد و یا تکرار استفاده میشود. با این حال هر دو مکانیزم به ترتیب ممکن است باعث اتلاف زمان و منابع رایانش شوند.[10]
· مصرف انرژی : با افزایش دغدغههای زیست محیطی، محدود کردن مصرف سوخت و انرژی یا ردپای کربن توجهات را به خود جلب نمود. گرچه این موضوع منحصر به رایانش ابری نمی شود با اینحال توجه پژوهشگران در این زمینه را به خود جلب نمود. به عنوان مثال این هدف یکی از برنامهریزیهای هدف، بصورت بهینه درآمده است. این مدل برای تخمین زدن انرژی مصرف توسط خدمات ابری استفاده میشود.[24]
· امنیت : امنیت اطلاعات، پوشیدگی و نظارت از زمانی که یک سازمان تصمیم به اتخاذ راه حل رایانشی ابری مینماید دارای اهمیت شدهاند. اگر چه مکانیزمهای امنیتی میتوانند در مورد نمونههای ماشین مجازی و شبکه ها اجراشوند، نظارت دادهها میتواند مشخص کننده مقررات باشند یا از ترک داده ها از زیرساختهای وعده داده شده جلوگیری نماید. این امنیت و پوشیدگی دادهها میبایست توسط جریان کار پردازش شده و تعریف شوند. این نیازها معمولا محدودیتهایی سخت بر انتخاب منبع ابری اعمال میکنند.
در نظر داشتن امنیت و پوشیدگی ممکن است دارای سطوح وظیفه و جریان کار باشند. محدودیتهای امنیتی را می توان به دو دسته کوچکتر تکی و چندتایی تقسیم بندی کرد. محدودیت سطح تکی فقط مشخص میکند که آیا مجموعه دادهها نیاز به امنیت دارند یا خیر و این توسط الگوریتم [9] SABA فرض میشود که در آن بین مجموعه دادههای قابل تغییر و غیر قابل تغییر تفاوت وجود دارد.
اغلب سایر تکنیکهای زمانبندی جریان کار معمولا فرض را بر این میگذارند که دادههای مربوط به نوع قبلی بوده و انتقال دادهها الزامی است. از طرف دیگر دادههای نوع بعدی از طرف دیگر را نمیتوان انتقال یا کپی کرد. وظایف غیر قابل حرکت که داده های غیر قابل حرکت را پردازش میکنند میبایست بر روی منابع میزبان در همان مراکز داده اجرا شوند. از طرف دیگر، در مدل امنیت چند سطحی فرض بر این است که نیازهای امنیتی را می توان در چند سطح تعیین کرد.[2]
.2,2 ایجاد زمانبندی
این بخش به جنبههای ایجاد یک برنامه توسط تکنیک های زمانبندی میپردازد. عموما یک زمانبندی را میتوان به دو شیوه متفاوت ایجاد نمود: روش مکاشفهای و براساس تکنیکهای متکی بر فرامکاشفهای در دامنه زمانبندی جریان کار توری که قبلا در مرجع [1] معرفی شده است.