مقدمه

1-1 مدیریت منابع و زمانبندی در گرید24

امروزه فن آوری محاسبات گرید،به عنوان مدل و رهیافتی نو جهت حل مسایل پیچیده و بزرگ در علوممهندسی،صنعت و تجارت مطرح شده است و هر روز بر تعداد برنامه های کاربردی متفاوتی که از زیر ساخت گرید به منظور تامین نیازهای محاسباتی،ذخیره سازی اطلاعات و سایر موارد بهره برداری می کنند،افزوده می شود.مسایلی که توسط گرید حل می شوند معمولاً مسایلی هستند که به نیاز به حجم محاسباتی بالا و یا حجم زیاد داده و ذخیره سازی دارند و ممکن است داده های ورودی مورد نیاز آنها،در میان سایتهای مختلف توزیع شده باشد.

جهت حل این مسایل،گرید یک بستر محاسباتی/ارتباطی ارائه می کند که در آن،قابلیت ها و امکانات و کیفیت سرویس کلیه منابع و بالاخص منابع محاسباتی در کنار یکدیگر مجتمع شده است و دیدی از یک ماشین مجازی بسیار قدرتمند در اختیار برنامه های کاربردی جهت اجرا قرار می گیرد.

ذکر شد که گرید طبق تعریف،هیچ محدودیتی از نظر محدوده جغرافیایی تحت پوشش ندارند بنابراین منابع در دسترس یک گرید،به لحاظ جغرافیایی توزیع شده هستند و حتی ممکن است ناهمگن نیز باشند.منابع در سایتهای مختلف قرار دارند و متعلق به سازمانها و نهادهای متفاوت هستند و هر سازمان ،سیاست های مدیریتی خود را بر نحوه به اشتراک گذاری و دسترسی به منابعش اعمال می کند.

از طرف دیگر،همانطوری که گفته شد،محیط گرید یک محیط اختیاری و پویاست،به این معنا که بر خلاف کلاسترها که معمولاً نرخ تعیین منابع در دسترس،در آنها کم است،در سیستمهای گرید،ماشینها و به طور کلی،کلیه منابع در دسترس گرید در طول زمان ممکن است تغییر کنند.

مشاهده می شود که محیط گرید،به لحاظ منابع تحت پوشش،محیطی بسیار پیچیده است.فاصله های جغرافیایی زیاد منابع توزیع شده،معماریها و سیستم عاملهای متفاوت ماشینهای مختلف،تفاوت ها در روشهای دستیابی به هر یک از منابع،متغیر بودن محیط به لحاظ منابع دردسترس و در نهایت وجود سیاست های مختلف در دسترسی به منابع،همه و همه مسائل پیچیده ای هستند که گرید باید با آنها دست و پنجه نرم کند.کاملاً واضح است مدیریت موثر منابع،امری حیاتی در سیستمهای گرید محسوب می شود و به علاوه،زمانبندی باید به نحو احسن در این سیستم ها انجام شود تا از یک طرف کاربران و برنامه های کاربردی به بهترین نحو سرویس دریافت کنند و از طرف دیگر از کلیه منابع گرید،بهره برداری بهینه و حداکثر صورت گیرد.در واقع می توان گفت،کارآمدی هر سیستم گرید،به میزان زیادی در گرو کارآیی و موثر بودن روشهای مدیریت منابع و نیز سیاست ها و مکانیزمهای مورد استفاده در اجرای وظایف در این محیط می باشد.زیرا عمل تقسیم بار در سیستم های گرید،تا چه حد حیاتی و بحرانی است،زیرا استفاده موثر از تقسیم بار در سیستم های گرید،تا حد زیادی حیاتی و بحرانی است،زیرا استفاده موثر از تقسیم بار،هم به نفع مالکان ماشینها خواهد بود و هم به نفع مشتریان منابع.

1-2کلیات مدیریت و زمانبندی در سیستم های گرید24

1-2-1 انواع منابع در محیط گرید

محیط گرید،مجموعه ای متشکل از ماشینهای محاسباتی است که گاهی عناوینی مانند،منبع،عضو،پردازشگر گرید،واگذار کننده(کارها)و میزبان به این ماشینها داده می شود.تمامی این ماشینها در واقع منابع گرید را تشکیل می دهند.دسترسی به برخی ماشینها ممکن است توسط همه کاربران امکانپذیر باشد،اما ممکن است ماشینهایی نیز وجود داشته باشند که دسترسی به  آنها،قیود و شرایط و محدودیت های خاص خود را داشته باشد.

 

 

 

 

1-2-1-1منابع محاسباتی24

مهمترین منبع در هر سیستم گرید،منابع محاسباتی هستند.استفاده از یک منبع محاسباتی،به معنای استفاده از سیکلهای پردازنده ماشینهای مختلف در گرید،جهت اجرای برنامه های کاربردی است.پردازنده های ماشینهای مختلف،ممکن است به لحاظ سرعت،معماری و فاکتورهای مرتبط دیگری مانند حافظه اصلی،نحوه اتصالات با یکدیگر(در کامپیوتر های چند پردازنده)و غیره با یکدیگر تفاوت داشته باشند.

1-2-1-2 منابع ذخیره سازی

بعد از منابع محاسباتی،پرکاربردترین منابع مورد استفاده در محیط گرید را منابع ذخیره سازی داده ها تشکیل می دهند.یک نوع خاص از گرید،اصطلاحاً گرید داده است که توسط آن،می توان انبار داده مجازی با ظرفیت بسیار بالا داشت(با استفاده از تجمیع منابع ذخیره سازی ماشینهای توزیع شده مختلف به صورت شفاف جهت ارائه یک انبار داده یکپارچه و منسجم و تکی مجازی).این انبار داده مجازی و غول پیکر،به صورت منطقی،کلیه داده های روی ماشینهای توزیع شده را مجتمع می کند و گرید داده،دسترسی یکسان(صرف نظر از معماری،سیستم عامل و سیستم مدیریت بانک اطلاعاتی ماشینهای توزیع شده)و کاملاً شفاف به داده و اطلاعات فراهم می کند.

1-2-1-3 منابع ارتباطی

در زمان مطرح شدن سیستمهای توزیع شده،پهنای باند ارتباطی در دسترس،بسیار محدود بود،اما امروز شاهد رشد سریع در ظرفیت ارتباطی میان ماشینهای مختلف هستیم و همین امر باعث شده  راه اندازی شبکه های گرید عملی تر شود،اما مشکل کمی پهنای باند ارتباطی و محدود بودن ظرفیت ارتباطی،هنوز هم به عنوان عاملی محدود کننده در پیاده سازی برنامه های کاربردی توزیع شده مطرح است،بنابراین،می توان گفت ظرفیت ارتباطات داده ای،به عنوان یکی از مهمترین منابع در گرید مطرح است.

 

1-3 نرم افزارها و مجوزهای نرم افزاری24

ممکن است بر روی برخی ماشینها در هر گرید،نرم افزارهای گرانی نصب شده باشند که نصب آنها بر روی تمامی ماشینهای گرید،به دلیل پر هزینه بودن،امکانپذیر نباشد.با استفاده از یک گرید،می توان کارهایی را که احتیاج به این نرم افزارها دارند را به سمت ماشینهای دارنده آنها ارسال کرد تا بر روی آن ماشین اجرا گردند.زمانی که هزینه محوزهای نرم افزارها،قابل توجه باشد،این رهیافت،می تواند به مقدار زیادی از مخارج سازمان بکاهد و در هزینه ها،صرفه جویی ایجاد کند.

برخی از مجوزهای نرم افزاری،به این صورت هستند که نرم افزار را بتوان بر روی تمامی ماشینهای گرید نصب کرد،اما تعداد محدود و تعریف شده ای از کاربران،امکان استفاده همزمان از آن(بر روی ماشینهای مختلف)را دارند.در این نرم افزارها،یک سیستم مدیریت مجوز وجود دارد که در طول زمان مانیتور می کند در هر لحظه چند کپی از برنامه در حال اجرا در شبکه هستند و از اینکه تعداد نسخه های در حال اجرا،از عدد تعریف شده در مجوز بیشتر شود،جلوگیری می کند.در چنین سناریویی،زمانبندهای گرید می توانند طوری تنظیم شوند که چنین مجوزهای نرم افزاری را در محاسبات خود لحاظ کند و با در نظر گرفتن اولویت برنامه های کاربردیکه نیاز به اجرای این برنامه های مجوز دار،دارندو با اعمال دیگر سیاست های لازم،امکان استفاده حساب شده از مجوز نرم افزارها و متعادل سازی اجرای برنامه ها فرآهم می گردد.

1-4سایر منابع:تجهیزات خاص،ظرفیت ها،سیستم عاملها،معماریها و منابع مصنوعی24

ماشینهای روی گرید،اعلب معماریها،سیستم عاملها،تجهیزات و ظرفیت های متفاوت دارند.هر کدام از این موارد در واقع بیانگر نوعی منبع در گرید هستند،زیرا ممکن است برنامه کاربردی،آنها را به عنوان یکی از ضوابطی ذکر کرده باشد که باید هنگام واگذاری کارها به ماشینهای گرید،جهت تعیین صلاحیت ماشین مقصد برای اجرای کار،بررسی شوند.

1-5 بررسی محیط گرید به لحاظ مدیریت و زمانبندی24

محیط گرید،محیط پیچیده ای است و انواع آن منابع با سیاست های مختلف و در فواصل جغرافیایی دور از یکدیگر ممکن است قرار داشته باشند.مدیریت منابع در چنین محیطی بسایر پیچیده و زمانبندی بهینه در آن کاری بسیار دشوار است.به همین دلیل است که تقریباً مهمترین بحث در سیستمهای گرید،مدیریت بهینه منابع تحت پوشش و زمانبندی کارها است.بسایری از مباحث تحقیقاتی در حوزه گرید،امروزه در زمینه سیستمها،روشها و الگوریتمهای مدیریت منابع و زمانبندی در شبکه های گرید ارائه می شوند.

برای اینکه تصویر دقیق تری از محیط یک گرید بدهیم،در ابتدا لازم است ماهیت خود برنامه های کاربردی و نیز کارهایی که در محیط گرید اجرا می شوند،شرح داده شود.تا زمانی که ماهیت برنامه های کاربردی توزیع شده و کارها در گرید بررسی نشوند،نمی توان درک درستی نسبت به محیط از دیدگاه مدیریت منابع و زمانبندی داشت.از سوی دیگر،در واقع درست است که می گوییم کاربران و برنامه های کاربردی از منابع گرید استفاده می کنند،اما در نهایت این برنامه های کاربردی هستند که از منابع گرید استفاده می کنند و کاربر از طریق این برنامه کاربردی است که منابع گرید را در اختیار می گیرد.نکته دیگری که باید ذکر کرد این است که،گاهاً دو کلمه برنامه کاربردی و کار اشتباهاً به جای یکدیگر به کار برده می شوند.اما خصوصاً در محیط گرید،باید تفاوت اساسی میان آنها قائل شد.

1-6 نگاهی دقیق به برنامه های کاربردی و کارها در محیط گرید24

اگرچه ممکن است طیف وسیعی از منابع مختلف در گرید میان کاربران به اشتراک گذارده شده باشد،اما دسترسی به این منابع از طریق اجرای یک برنامه کاربردی یا یک کار خواهد بود.گاهی دو اصطلاح برنامه کاربردی و کار اشتباهاً به جای یکدیگر به کار برده می شوند.در سیستمهای گرید

 

اصطلاح برنامه کاربردی به بالاترین واحد پردازشی گفته می شود که توسط کاربران جهت اجرا به گرید واگذار می گردد.هر برنامه کاربردی ممکن است به یک یا چند کار شکسته شود و سپس این کار(کارها)به روی ماشین(ماشینهای)پردازشگر توسط سرویس دهنده گرید جهت اجرا ارسال(واگذار)خواهد شد.پس در عمل برنامه کاربردی است که جهت اجرا توسط کاربر به گرید واگذار    می شود،اما با شکسته شدن یک برنامه کاربردی به یک یا چند کار،در عمل،کار است که توسط سرویس دهنده گرید به ماشین پردازشگر جهت اجرا واگذار می گردد و کار است که بر روی ماشین پردازشگر در عمل اجرا خواهد شد.زمانبندی نیز در مورد کارها صورت می گیرد.

برنامه کاربردی را بالاترین سطح یک برنامه در گرید می دانیم که ممکن است به تعدادی کار توزیع شده ویا موازی شکسته شود.بنابراین،هر برنامه کاربردی به صورت مجموعه ای از کارها طوری سازماندهی می شود که کارها بتوانند به صورت توزیع شده ویا موازی بر روی ماشینهای مختلف اجرا شوند.برخی سیستمهای گرید این امکان را می دهند که کارها بتوانند در طول اجرا با یکدیگر تعاملهای چند باره آسنکرون یا سنکرون داشته باشند و مرتباً میان یکدیگر در طول اجرا داده هایی را رد و بدل کنند،اما گاهی اوقات سیستم گرید صرفاً این امکان را دارد که خروجی نهایی یک کار از یک برنامه کاربردی،بتواند ورودی کاردیگری از همان برنامه کاربردی باشد(به نوعی تعامل یک باره آن هم صرفاًدر انتها و خاتمه اجرای یک کار)و سپس با بررسی وابستگی کارها به یکدیگر،آنها را به ترتیبی اجرا      می کنند که چنین اتفاقی بیافتد.با بررسی دقیق کارها،می توان کارهایی را که مستقل از یکدیگر هستند به صورت همزمان و موازی اجرا کرد ولی کارهایی که به نتایج یکدیگر نیازمندند،باید به ترتیب لازم،اجرا گردند.

واحد کاری را یک واحد اجرایی می دانیم که عملاً به یک ماشین پردازشگر جهت اجرا واگذار خواهد شد و همانطوری که گفتیم،یک واحد کاری تمامی اطلاعاتی را که جهت اجرای یک برنامه لازم است در بر  می گیرد:خود برنامه اجرایی(یا اشاره گری به محل نگهداری ان بر روی یک محل مشترک)،کلیه داده های ورودی مورد نیاز برنامه(یا اشاره گرهایی به محل داده های ورودی)،اطلاعاتی در مورد اینکه خروجیهای برنامه چگونه و کجا باید ذخیره شوند،لیست کلیه نیازمندیهایی(منابع)که برای اجرای برنامه لازم است(پارامترهایی مانند معماری،سیستم عامل،مولفه های نرم افزاری،پردازنده،حافظه اصلی،ظرفیت دیسک سخت،پهنای باند و…)،پارامترهای کیفیت سرویس،اولویت برنامه و…همه و همه مواردی هستند که در واحد کاری وجود دارند.گاهی اوقات یک برنامه کاربردی در واحد کاری قرار   می گیرد و توسط کاربر به زمانبند گرید ارسال می شود.در این حالت واحد کاری،حاوی اطلاعات کلیه زیربرنامه (کارها)و بیانگر نحوه ارتباط این کارها به یکدیگر و کلیه مواردی است که جهت اجرای توزیع شده تمامی کارها لازم است.گاهی منظور از واحد کاری،مفهومی سطح پایین تر از برنامه کاربردی است و در واقع یک کار به همراه کلیه اطلاعات مورد نیاز است که باید در نهایت بر روی ماشین پردازشگر اجرا شود و اسن واحد کاری،توسط زمانبند گرید به ماشین پردازشگر ارسال می شود.

کارها واحدهای اجرایی هستند که در نهایت بر روی یک ماشین پردازشگر گرید اجرا خواهند شد.آنها ممکن است محاسباتی انجام دهند،داده ها را از مکانی و شکلی به مکانی و شکل دیگر منتقل کنند،داده هایی را جمع آوری کنند،ارتباطاتی با سایر کارها در گرید یا با دنیای خارج گرید برقرار کنند،دستوراتی را بر روی سایر ماشینها اجرا و الی آخر.برخی از سیستمهای گرید،این امکان را می دهند که یک کار نیز بتواند به نوبه خود به چند زیر-کار(subjob)شکسته شود.به شکل زیر توجه کنید.

Application
job
subject
job
job
job
job
subject
subject
subject
subject
subject
subject
subject
subject
 

نمای یک برنامه کاربردی گرید که به صورت مجموعه ای از کارها و زیر کارها سازماندهی شده است.24

ذکر چند نکته در مورد برنامه های کاربردی گرید ضروری است:

1.برخی سیستمهای گرید،صرفاً از سازماندهی و شکستن دو سطحی پشتیبانی می کنند:برنامه کاربردی می تواند به تعدادی کار شکسته شود و هر کار نیز ممکن به تعدادی زیر-کار شکسته شود.اما برخی دیگر از سیستمها امکان شکستن در بیش از دو سطح را می دهند.به این طریق برنامه کاربردی می تواند به تعدادی کار شکسته شود(کار در این حالت موجودیت اجرایی نیست).هر کار ممکن است به تعدادی کار ویا task شکسته شود و در

موضوعات: بدون موضوع
[یکشنبه 1398-07-14] [ 05:45:00 ق.ظ ]