(۳)
ETC (i,j) نشاندهنده زمان مورد انتظار پردازش کار i روی ماشین j میباشد. نشاندهنده میزان حجم کار منبع j ، قبل از شروع پردازش کار i میباشد (زمانی که کار i بایستی روی منبع j منتظر بماند تا شروع به اجرا کند).
جهت ارزیابی کیفیت الگوریتمهای زمانبند معیارهای متفاوتی موجود است که متداول ترین معیارها عبارتند از :
زمان اتمام آخرین کار[۳۱]: محبوب ترین معیار بهینهسازی به حداقل رساندن زمان اتمام آخرین کار میباشد. زمان اتمام آخرین کار طبق فرمول (۴) محاسبه می شود.
(۴)
نرخ طول زمانبندی[۳۲](SLR) : برای زمان هایی که جریان کاری بسیار بزرگ است بهتر است زمان اتمام آخرین کار نرمال شود این مقدار طبق فرمول (۵) محاسبه می شود.
(۵) SLR =Makespan/CPL
CPL[33] نشان دهنده مسیر بحرانی از مبدا به گره مقصد می باشد.
سرعت[۳۴]: این معیار میزان بهبود اجرای ترتیبی جریان داده بر روی اجرای موازی و توزیع شده آن می باشد که طبق فرمول ۶ محاسبه می شود.
(۶) SpeedUp=Sequential Time/Makespan
Sequential Time نشان دهنده اجرای تمام کارها بروی یک منبع می باشد.
کارایی[۳۵]: این معیار میزان سرعت اجرایی برنامه براساس اجرای موازی را مورد بررسی قرار می دهد هرچه این میزان به ۱ نزدیک تر باشد دلیل بر کارایی بالاتر زمانبندی دارد. کارایی یک زمانبند براساس فرمول ۷ محاسبه می شود.
(۷) Efficiency=(Sequential Time/M)/Makespan
M تعداد منابع موجود می باشد.
بهرهوری منابع (سودمندی منابع): این معیار توازن بار سیستم گرید را نشان میدهد. بهره وری منابع طبق فرمول (۸) محاسبه می شود.
(۸)
نشان دهنده میزان حجم کار منبع j میباشد.
۳-۲ الگوریتم Asuffrage
در الگوریتم حق رای[۳۶] هزینه هر کار را براساس اختلاف مابین اولین و دومین کمترین زمان اتمام محاسبه می شود و کار با بالاترین هزینه انتخاب میگردد؛ در واقع الگوریتم حق رای فقط یک مرحله بعد را در انتخاب کار در نظر میگیرد و ضرری را که به واسطه انتخاب نشدن بهترین منبع برای کار متحمل میشویم را معیار ارزیابی قرارداده و با توجه به این فاکتور کارها را به منابع واگذار می کند.
در الگوریتم پیشنهادی (Asuffrage) سعیمی کنیم افق دید خود را گسترش داده و به جای ملاک قراردادن یک مرحله بعد، تعدادی از مراحل را در تصمیم گیری دخیل کنیم. در هر دور به جای زمان اتمام دومین کمترین زمان اتمام، میانگین زمان اتمام را برای کار i روی منابع موجود بدست میآوریم (فرمول (۱۰)) تا بتوانیم بازه تغییرات زمان اتمام را در تصمیم گیری دخالت دهیم. جهت اولویتدهی به کارهایی که سریعتر به مرز میانگین تغییرات خود نزدیک می شوند، تعداد منابعی که زمان اتمامشان کمتر از میانگین زمان اتمام برای کار i میباشد را شمارش مینمائیم (فرمول (۱۲)) و عدد بدست آمده را در اختلاف میانگین زمان اتمام (فرمول (۱۰)) و کمترین زمان اتمام (فرمول (۱۱)) ضرب میکنیم (فرمول (۹)) تا اولویت کارهایی که زودتر به مرز میانگین تغییرات میرسند بیشتر شود.
(۹)
(۱۰)
(۱۱)
(۱۲)
کار با بالاترین هزینه انتخاب، به منبعی که دارای کمترین زمان اتمام میباشد تخصیص داده می شود؛ این کار را از لیست کارهای نگاشت نشده حذف، ماتریس زمان اتمام کارها بروزرسانی و الگوریتم تکرار می شود تا زمانی که تمام کارها نگاشت داده شوند.
۳-۳ الگوریتم MaxSuffrage
الگوریتم MaxSuffrage حاصل ادغام الگوریتم بیشترین-کمترین و الگوریتم حق رای با اعمال یکسری تغییرات میباشد. در الگوریتم بیشترین-کمترین برای هر کار کمترین زمان اتمام را محاسبه و از بین این مقادیر کار با بیشترین زمان اتمام را انتخاب و به منبع با کمترین زمان اتمام واگذار مینماید. هدف الگوریتم بیشترین-کمترین اولویت دادن به کارهای بزرگ است. برای بهبود عملکرد الگوریتم بیشترین-کمترین بجای در نظر گرفتن کمترین زمان اتمام برای هر کار، k امین کمترین زمان اتمام را در نظر میگیریم (نزدیک ترین ستون به میانگین تغییرات). در ابتدای الگوریتم تنها یکبار مقدار k محاسبه شده و در ادامه الگوریتم از این مقدار استفاده میگردد. مقدار k با بهره گرفتن از فرمول (۱۳) و (۱۴) محاسبه می گردد. در ابتدا زمان اتمام کارها بر روی تمام منابع را محاسبه، درون یک ماتریس n*m ذخیره مینماییم که n تعداد کارها و m تعداد منابع میباشد(Mct). ماتریس زمان اتمام کار (Mct) قبل از هر واگذاری محاسبه شده و بصورت سطری و صعودی مرتب میگردد.
مقادیر مربوط به مجموع درصد تغییرات فرمول (۱۳) و میانگین کلی تغییرات فرمول (۱۴) به صورت زیر محاسبه میگردد.
(۱۳)
(۱۴)
بطور مثال Sum[j=2]برابر با مجموع دومین کمترین زمان اتمام کار، تقسیم بر اولین کمترین زمان اتمام کار، در تمام کارها میباشد. همانطور که در بالا ذکر شد هر سطر ماتریسMCT به صورت صعودی مرتب شده است به همین دلیل ستون j مقدار بیشتری را نسبت به ستون j-1 خواهد داشت.
حال با توجه به مقادیر آرایه Sum ستونی را که اختلافش با میانگین تغییرات (AvgCh) کمترین باشد به عنوان ستون اصلی تغییرات در نظر گرفته و آن را ستون k مینامیم. در واقع ستون k برای هر کار، زمان اتمامی را نشان میدهد که میانگین تغییرات را در خود جای داده است و از آنج
ایی که ماتریس MCT مرتب میباشد ستون k برابر با kامین کمترین زمان اتمام میباشد و در الگوریتم ارائه شده از همین ستون (k) در الگوریتم بیشترین-کمترین استفاده مینماییم. ادامه الگوریتم طبق روال زیر میباشد و تا زمانی که کلیه کارها به منابع واگذار گردند تکرار می شود.
برای کلیه کارهای واگذار نشده هزینه طبق فرمول (۱۵) محاسبه میگردد.
(۱۵)
، اختلاف دومین کمترین زمان اتمام و اولین کمترین زمان اتمام کار i (الگوریتم حقرای) و ، k امین کمترین زمان اتمام کار i (الگوریتم بیشترین-کمترین).
کار با بالاترین هزینه انتخاب و به منبعی که دارای کمترین زمان اتمام میباشد تخصیص داده می شود.
کار واگذار شده از لیست کارهای نگاشت نشده حذف، ماتریس زمان اتمام کارها بروز رسانی و بصورت سطری و صعودی مرتب میگردد.
با بهره گرفتن از روش فوق، سعی در استفاده از مزایای دو الگوریتم حق رای و بیشترین-کمترین داریم (دخالت دادن ضرر ناشی از واگذار نشدن کار به بهترین منبع در عملیات نگاشت- اولویت دهی به کارهای بزرگ).
۳-۴ الگوریتم DHLEFT
این الگوریتم جهت کارهای وابستگی دار (جریان کار) ارائه شده است. به صورت کلی روند اجرای الگوریتم بدین صورت است که (DAG) را به گروه منابع (کلاستر) ارسال می کنیم. تصمیمات زمانبندی توسط مدیریت کلاستر صورت می پذیرد؛ مکانیزم شناسایی خطا نیز، براساس بررسی دوره ای وضعیت کار و منابع، در کلاستر می باشد.
الگوریتم HLFET، در مرحله اول به تمام کارها یک رتبه طبق فرمول (۱۶) اختصاص می دهد و در مرحله دوم از بین کارها، کار با بالاترین رتبه را انتخاب و به منبع با کمترین زمان اتمام تخصیص می دهد. مرحله دوم تا اختصاص کلیه کارها (با توجه به رتبه) به منابع مناسب ادامه پیدا می کند. الگوریتم HLFET در هر مرحله بدون توجه به کارهای وابسته به کار جاری اقدام به انتخاب منبع می نماید بطور مثال: کار x بر روی منبع i اجرا می گردد و کار y نیاز به داده تولید شده توسط کار x دارد و هزینه انتقال داده تولید شده، زیاد می باشد. بهتر است کار y نیز بر روی منبع کار x زمانبندی شود. الگوریتم HLFET، به وابستگی شدید بین کارها توجهی نشده است.
(۱۶)
الگوریتم پیشنهادی افق دید خود را گسترش داده و به جای ملاک قرار دادن کار جاری، تعدادی از کارهای پیش رو که وابستگی شدیدی با این کار دارند (هزینه انتقال داده بالا) را، نیز در تصمیم گیری دخیل می کند. هنگام انتخاب منبع برای کار جاری، منبعی را انتخاب می کند که برای کارهای وابسته به کار جاری نیز بهینه باشد. گراف نشان داده شده در شکل (۲-۷) جریان کار را مشخص می کند. برای توضیح الگوریتم پیشنهادی نیز از همین گراف استفاده شده است. مراحل اجرایی الگوریتم پیشنهادی به شرح زیر می باشد:
۱- رتبه بندی هر کار براساس فرمول (۱۷) محاسبه می گردد.
فرمول(۱۷)
پژوهش های کارشناسی ارشد درباره بررسی الگوریتم های تخصیص مجدد در گریدهای محاسباتی و ارائه یک ...