شکل ۲-۵ جریان کار
ترتیب اجرا کارها و با توجه به خطاهای قابل رخداد در محیط گرید اعمال زمانبندی مجدد الزامی می باشد چرا که در صورت اضافه شده منابع و عدم بهره وری از آن ها، باعث ایجاد تاخیر در اجرا کارهای پیشنیاز می شود و در نتیجه کارایی زمانبند کاهش می یابد[۱۴, ۱۵]. گذشته از کارائی، در یک جریان کار، مقاومت در برابر خطا نیز باید در نظر گرفته شود. مطمئنا اگر یک جریان کار گرید برای یک دوره زمانی زیاد اجرا شود، احتمال خطا در فرایند را افزایش میدهد. در نتیجه باعث خطا در کل جریان کار می شود. بنابراین در چنین مواردی باید حتما از زمانبندی مجدد جهت رفع خطا و همچنین قطعیت در اجرا کارها استفاده گردد.
۲-۷ نحوه زمانبندی (ایستا و پویا)
ایستا: در این حالت اطلاعات کامل منابع و کارها، هنگامی که زمانبندی انجام می شود در دسترس است (کارها به صورت دستهای میباشند). یکی از مزایای زمانبندی ایستا برنامهی ساده آن از دید زمانبندها میباشد. در زمان شروع تمام منابع و کارها جهت پردازش در دسترس میباشند. زمان مورد انتظار پردازش برای هر کار روی هر منبع، در ماتریس ETC قرار دارد. ماتریس ETC یک ماتریس n*m میباشد که n تعداد کارها و m تعداد ماشینها میباشد. شکل ۲-۶ یک نمونه از ماتریس ETC را نشان میدهد.
کار اول | کار دوم | کار سوم | کار چهارم | |
منبع اول | ۱۰ | ۵ | ۲ | ۷ |
منبع دوم | ۶ | ۳ | ۵ | ۴ |
منبع سوم | ۹ | ۴ | ۸ | ۶ |
شکل ۲‑۶ نمونه ماتریس ETC
پویا: در زمانبندی پویا تخصیص کارها به صورت برخط[۱۴] انجام می شود و در همان لحظه کار برای اجرا به یک منبع فرستاده می شود. این زمانبندی معمولا زمانی استفاده می شود که تخمین هزینه ی کارها سخت است و یا کارها به صورت برخط فرستاده میشوند [۱۶[.
۲-۸ وظایف فرازمانبند
فرا زمانبندها در سطح گرید دو نقش اساسی ایفا می کنند: نگاشت (انتساب) کارها به گره های محاسباتی و انتقال کار به منظور بهبود توازن بار بین گره های محاسباتی و کاهش زمان تکمیل کارها.
۲-۸-۱ نگاشت کار
در محیط گرید درخواست اجرای کار کاربران همراه با پارامترهای لازم به فرازمانبند ارسال می شود. فرازمانبند بر اساس تابع هدف الگوریتمی را برای مشخص کردن ماشین مناسب اجرا می کند و گره مناسب را انتخاب می کند. در چنین مواردی اگر اطلاعاتی از گره محاسباتی موجود نباشد از الگوریتم تصادفی[۱۵] (انتخاب ماشین به صورت تصادفی) و چرخشی (ماشین ها یکی پس از دیگری انتخاب می شوند) می توان استفاده کرد، و در صورتی که نظارت بر ماشین های موجود امکان پذیر باشد می توان از الگوریتم های حریصانه بر خط و برون خط استفاده کرد که در این حالت معمولا ماشینی انتخاب می شود که در کمترین زمان، کار را به پایان می رساند. در زیر نمونه ای از الگوریتم های برخط و برون خط آورده شده است.
الگوریتم بر خط
حداقل زمان اجرا [۱۶]: در این مکانیزم کار به ترتیب ورود به ماشینی ارسال می شود که کمترین زمان اجرا را برای کار ایجاد کند. این روش ممکن است باعث طولانی شدن برخی از صف ها و عدم توازن بار در ماشین ها شود.
حداقل زمان اتمام[۱۷]: در این مکانیزم کار به ترتیب ورود به ماشینی ارسال می شود که کمترین زمان تکمیل را برای آن ایجاد کند. در این روش ممکن است ماشینی انتخاب شود که بهترین زمان اجرا را نداشته باشد.
الگوریتم برون خط