گريدهای محاسباتی
1-1-1- مقدمه
گريدهای محاسباتی[1] به عنوان يک رويکرد جديد برای حل مسائل در مقياس بزرگ در زمينههای علمی، مهندسی و تجاری بوجود آمدهاند [65-68]. آنها اين قابليت را بوجود میآورند که بتوان بنگاههای مجازی[2] (VE) را به منظور اشتراک و يکپارچهسازی ميليونها منبع که از نظر جغرافيايي در سطح سازمانها و حوزههای مديريتی پراکندهاند، ايجاد کرد (مانند SETI@Home [69]). آنها از يک سری منابع ناهمگون (کامپيوترهای شخصی، ايستگاههای کاری[3]، کلاسترها و ابرکامپيوترها)، سيستمهای مديريت زيربنايي (سيستم عامل واحد، سيستمهای صف و غيره)، سياستها و برنامههای کاربردی (علمی، مهندسی و تجاری) با نيازمندیهای مختلف (پردازنده، ورودی و خروجی، حافظه و شبکه) تشکيل شدهاند. منابع، متعلق به سازمانهای مختلف میباشد که دارای سياستهای مديريتی و مدلهای استفاده و هزينهای مخصوص به خود برای کاربران مختلف در زمانهای گوناگون میباشند. همچنين فراهم بودن منابع و ميزان بار بر روی آنها در طول زمان تغيير میکند.
محاسبات گريدی[4] در اوايل دههی 90 در انجمن ابرمحاسبات[5] مطرح شد و هدف آن به کار گرفتن منابع محاسباتی موجود به شکلي آسان براي محاسبات پيچيده توسط سايتهايي بود كه به صورت جغرافيايي توزيع شده ميباشند. ايدهی اصلي گريد اين است که منابع ماشينهاي شركتكننده، از طريق يك لايهی نرمافزاري به صورت شفاف[6] و مطمئن مورد استفاده قرار بگيرد. اين لايهی نرمافزاري، وظايفي همچون مجازيسازي[7] منابع، يافتن و جستجوي منابع، و مديريت برنامههاي درحال اجرا را بر عهده دارد. محاسبات گريدی، در سادهترين بيان، محاسبات توزيع شدهای است که به سطح تکامل بالاتری رسيده است. هدف اين است که تصوری از يک کامپيوتر مجازی ساده و در عين حال بزرگ و پرقدرت که توانايي مديريت خودش را دارا میباشد از يک مجموعهی وسيعی از کامپيوترها بوجود بيايد. اين مجموعه از يک سری سيستمهای ناهمگون متصل به هم که ترکيبات مختلفی از منابع را به اشتراک گذاشتهاند، تشکيل شده است.
دانشمندان در اواسط دههی 90 تحقيقاتی را بر روی طراحی و پيادهسازی گريدهای محاسباتی آغاز کردند تا امکان انجام محاسبات موازی و توزيع شده در يک ناحيهی گسترده فراهم شود. انگيزهی رويکرد گريدهای محاسباتی در ابتدا وجود برنامههای کاربردی علمی در مقياس بزرگ بود که منابع (محاسباتی و دادهای) زيادی را بيشتر از آنچه که میتوانست در يک کامپيوتر (کامپيوتر شخصی، ايستگاه کاری، ابرکامپيوتر يا کلاستر) قرار بگيرد، نياز داشتند. يک گريد محاسباتی میتواند منابع مورد نياز برای اين برنامههای کاربردی را در يک حوزهی مديريتی واحد فراهم کند. محاسبات گريدی به عنوان يک روش کارآمد برای نسل جديد محاسبات مطرح شده است. اين روش امکان به اشتراک گذاشتن، انتخاب و مجتمع کردن منابع ناهمگونی را میدهد که از نظر جغرافيايي توزيع شده هستند. به اين ترتيب، مسائل علمی، مهندسی و تجاری در مقياس بزرگ، اکنون با استفاده از گريدهای محاسباتی قابل حل هستند. تلاشهای زيادی در قالب پروژههای گوناگون در زمينهی گريد (سيستمهای گريد يکپارچه، ميانافزارهای درونی و در سطح کاربر، و برنامههای کاربردی) تاکنون انجام شده است که در شکل 2-23 طبقهبندی شده و اطلاعات مربوط به کشور و سازمان انجام دهنده و کاربردهای آنها آورده شده است.
معمولاً اصطلاحاتي مانند محاسبات توزيع شده، محاسبات سراسري[8]، فرامحاسبات[9] و محاسبات کلاستري[10] با محاسبات گريدی اشتباه ميشوند. اگر چه همهی اينها شباهتهايي با هم دارند، ولی متفاوت هستند. محاسبات توزيع شده يک اصطلاح عام است که همهی موارد ذکر شده را شامل ميشود؛ در حالي که محاسبات گريدی يا کلاستري و سايرين، زيرمجموعهاي از آن هستند.
در محاسبات کلاستري تأکيد بر بسترهايي متشکل از گرههاي همگون متصل به هم است و معمولاً در يک حوزهی مديريتی[11] قرار دارند. کلاسترها عموماً از کامپيوترهاي شخصي و ايستگاههاي کاري[12] و شبکههاي پرسرعت و مطمئن تشکيل شدهاند. تأکيد برنامهها روي محاسبات حلقه ربایی[13]، محاسبات با توان عملياتی[14] بالا و محاسبات توزيع شده میباشد. محاسبات گريدی بر مجموعهاي از منابع ناهمگون توزيع شده تأکيد دارد که از آنها به منظور ايجاد يک بستر براي محاسبات با کارايي بالا استفاده ميشود. بستر ارتباطي و محاسباتی به صورت نامطمئن و پويا ميباشد و منابع به شدت ناهمگون ميباشند.
1-1-2- طبقهبندي سيستمهاي گريد
اهداف مورد نظر در طراحی سيستم گريد و همچنين کاربردهايي که برای آن در نظر گرفته شده است، از عوامل تعيينکننده در نوع کاربری گريد میباشند. اهداف طراحي را میتوان به سه گروه عمده تقسيمبندي کرد که عبارتند از: افزايش کارايي برنامهی کاربردي، دسترسي به دادهها، و افزايش و بهبود سرويسها. با توجه به اين اهداف میتوان طبقهبندی شکل 2-23 را برای سيستمهای گريد ارائه کرد.
شکل 2‑23: طبقهبندي سيستمهاي گريد
گريدهاي محاسباتی به دو دستهی عمده تقسيم ميشوند: 1- ابرمحاسبات توزيع شده و 2- گريد داراي توان عملياتي بالا. گريد ابرمحاسبات توزيع شده، برنامه را به صورت موازي روي چندين ماشين اجرا ميکند و هدفش کاهش زمان اتمام[15] يک کار است. نمونهی برنامههايي که نياز به ابرمحاسبات توزيع شده دارند، مسائل بزرگ و پرچالشي مانند شبيهسازي هستهاي يا مدلسازي آب و هوا ميباشد. گريد با توان عملياتي بالا، نرخ اتمام يک جريان از کارها را افزايش ميدهد و براي کاربردهاي پارامترروب[16] مانند شبيهسازي مونت کارلو مناسب است. برنامههای کاربردی پارامترروب از تعداد زيادی کار مستقل از هم تشکيل شدهاند که برای آنها پارامترهای يکسان و مشخصی وجود دارد. هر کدام از کارها تنها در مورد مقادير اين پارامترها با کارهای ديگر متفاوت است. در دنيای واقعی، از برنامههای کاربردی پارامترروب که با استفاده از گريدهای محاسباتی به نتيجه رسيدهاند، میتوان به مدلسازی مولکولها برای طراحی دارو [71] و تشخيص بيماریها از روی پرتونگاری اشعهی X [72] اشاره کرد.
گريدهاي دادهاي[17] [73]، يک بستر براي ساختن اطلاعات جديد از منابع دادهاي توزيع شده همچون کتابخانههاي ديجيتال يا انبارهی داده[18] را فراهم میکنند. البته گريدهاي محاسباتی نيز به فراهم نمودن خدمات دادهاي نياز دارند، ولی عمده تفاوت يک گريد دادهاي و گريد محاسباتی، بستر ويژهاي است که براي کاربردهاي مديريت ذخيرهسازي و دستيابي داده، فراهم شده است. در گريد محاسباتی، برنامهی کاربردي، خود، شِماي مديريت ذخيرهسازي را پيادهسازي ميکند. نمونهاي از کاربردهاي اين سيستمها (گريد دادهاي) دادهکاوی[19]برای اهداف خاص است که اطلاعات را از منابع دادهاي متفاوت به هم مربوط ميسازد. پروژههاي گرید داده ای اروپایی[20] و گلوباس[21] نمونههايي هستند که در حال کار بر روي توسعه دادن سازمانهاي دادهاي با مقياس بزرگ هستند.
سيستمهايي که در يک گريد خدماتي[22] [74] حضور دارند، خدماتي را فراهم ميکنند كه توسط يک ماشين واحد قابل ارائه نيست. گريدهاي خدماتي به سه دسته تقسيم ميشوند:
1. سيستمهاي گريد on-demand: منابع مختلف را به صورت پويا با يکديگر ترکيب ميکنند تا يک سرويس جديد ارائه دهند.
2. سيستمهاي گريد همکاريکننده[23]: کاربران و برنامههاي کاربردي را به گروههاي کاري همکاريکننده متصل ميکنند. اين سيستمها امکان تعامل بلادرنگ بين کاربران و برنامههاي کاربردي را از طريق يک فضاي کاري مجازي فراهم ميکنند.
3. سيستمهاي گريد چندرسانهاي[24]: يک بستر براي برنامههاي بلادرنگ چندرسانهاي فراهم ميکنند.
اکثر پژوهشهاي فعال در توسعهی سيستمهاي گريد، در يکي از دستهبنديهاي فوق قرار ميگيرد. برای توضيحات بيشتر میتوان به [75] مراجعه کرد.
1-1-3- توانمندیهای گريد محاسباتی
هنگامی که يک گريد محاسباتی سازماندهی میشود، بايد يک سری از نيازمنديهای کاربران را برطرف کند. برای اينکه نيازهای موجود به طور بهتری با توانمنديهای يک گريد منطبق گردد، بايد دلايل استفاده از محاسبات گريدی را در نظر داشته باشيم. در اين بخش به بررسی توانمنديهای مهم محاسبات گريدی میپردازيم.
1-1-3-1- بهرهبرداری از منابع بدون استفاده
سادهترين راه استفاده از محاسبات گريدی اين است که يک برنامهی کاربردی موجود در يک ماشين را بر روی ماشين ديگری اجرا کنيم. ماشينی که برنامهی کاربردی در حالت عادی بر روی آن در حال اجرا میباشد، ممکن است به علت مواجه شدن با تعداد زيادی فعاليت، به طور غيرعادی درگير محاسبات شود. اين برنامهی کاربردی میتواند بر روی يک ماشين بدون استفاده که در جای ديگری در گريد موجود است، اجرا شود.
حداقل دو پيشنياز برای اين مسأله وجود دارد: اول اينکه برنامهی کاربردی بايد بتواند بدون ايجاد کردن سربار[25] غيرضروری، در يک ماشين غير از ماشينی که در آن قرار دارد، اجرا شود. ثانياً، ماشين مقصد بايد سختافزار و نرمافزار و منابع مورد نياز برنامه را دارا باشد.
برای مثال يک برنامهی دستهای[26] که زمان قابل ملاحظهای را صرف پردازش يک مجموعه از دادههای ورودی میکند تا يک سری خروجی را توليد کند، ممکن است ايدهآلترين و سادهترين کاربرد برای يک گريد محاسباتی باشد. اگر تعداد وروديها و خروجيها زياد باشد، طراحی و تفکر بيشتری برای استفادهی بهينه از گريد برای اين کار مورد نياز است. معمولاً اجرای يک برنامهی پردازش کلمه[27] بر روی يک ماشين ديگر در گريد بیمعنی است؛ زيرا باعث بوجود آمدن تأخيرها و خطاهای بالقوهی زيادی میشود. در بيشتر سازمانها، تعداد زيادی منابع پردازشی بدون استفاده وجود دارد. بيشتر کامپيوترهای روميزی، کمتر از پنج درصد زمان، فعاليت میکنند. در بعضی از سازمانها حتی ماشين سرور نيز نسبتاً بيکار است. محاسبات گريدی چارچوبی را برای بهرهبرداری از اين منابع بيکار فراهم میکند و بنابراين اين امکان را بوجود میآورد که به مقدار زيادی، استفاده از منابع افزايش پيدا کند.
منابع پردازشی تنها منابعی نيستند که ممکن است بدون استفاده باشند. بعضی اوقات، ماشينها دارای فضای ذخيرهسازی زيادی هستند که استفاده نمیشود. محاسبات گريدی و به طور خاص يک گريد دادهای میتواند امکان جمع نمودن اين فضاها و تبديل آن به يک انبار دادهی مجازی بسيار بزرگتر را فراهم کند. به اين ترتيب، موجب میشود که کارايي و قابليت اطمينان نسبت به يک ماشين واحد بهبود يابد. اگر يک کار دستهای بخواهد مقدار زيادی داده را از ورودی دريافت کند، میتوان نسخههای يکسانی از اين دادهها را در نقاط مهم گريد قرار داد. بنابراين اگر يک برنامه بخواهد بر روی يک ماشين دور[28] اجرا شود، لازم نيست دادههای مورد نياز آن نيز جابجا شوند، بلکه دادهها در نزديکی و يا در خود آن ماشين موجود خواهند بود.
وظيفهی ديگر گريد محاسباتی بهبود توازن در استفاده از منابع میباشد. در يک سازمان ممکن است در زمانهايي مقدار فعاليتها به اوج خود برسد که باعث افزايش تقاضای منابع میشود. اگر برنامههای کاربردی، قابليت اجرا در گريد را داشته باشند، در چنين مواقعی میتوان آنها را برای اجرا به ماشينهاي بدون استفاده منتقل نمود. در واقع، بعضی از پيادهسازیهای گريد محاسباتی میتوانند کارهای نيمهتمام را بين ماشينها جابجا کنند. در حالت کلی، يک گريد میتواند توازن بار محاسباتی را در مجموعههای گستردهتری از منابع انجام دهد. اين منابع میتواند شامل پردازنده، حافظهی جانبی و انواع ديگری از منابع موجود در گريد باشد.
1-1-3-2- موازیسازی پردازندهها
ظرفيت انبوه پردازندههای موازی يکی از ويژگيهای جذاب گريدهای محاسباتی میباشد. علاوه بر نيازهای کاملاً علمی، اين قدرت محاسباتی میتواند باعث بوجود آمدن تحول بزرگی در صنايعی مانند حوزهی پزشکی و زيستشناسی، مدلسازی مالی، اکتشاف نفت، متحرکسازی تصاوير و بسياری ديگر شود.
ويژگی مشترک چنين استفادههايي، استفاده از الگوريتمهايي برای تقسيم برنامههای کاربردی به بخشهای اجرايي مستقل میباشد. يک برنامهی کاربردی قابل اجرا در گريد که کار محاسباتی دارد را میتوان به صورت تعداد زيادی کارهای کوچک در نظر گرفت که هر کدام بر روی ماشين متفاوتی در گريد اجرا میشوند. هر اندازه که اين کارها به ارتباط با يکديگر نياز نداشته باشند، برنامهی کاربردی قابليت مقياسپذيری[29] بيشتری خواهد داشت. يک برنامهی کاربردی کاملاً مقياسپذير، اگر از ده پردازنده برای کارهای خود استفاده کند، اجرای آن ده برابر زودتر تمام میشود.
موانعی در برابر مقياسپذيری کامل وجود دارد. اولين مانع، الگوريتمهايي هستند که برای تقسيم برنامههای کاربردی بين تعداد زيادی پردازنده استفاده میشوند. اگر الگوريتم فقط به تعداد محدودی بخشهای مستقل اجرايي قابل تقسيم باشد، مانعی در برابر مقياسپذيری خواهد بود. دومين مانع هنگامی بوجود میآيد که بخشهای اجرايي کاملاً مستقل از هم نباشند. اين باعث درگيری کارها با هم میشود و مقياسپذيری را محدود میکند. برای مثال، اگر لازم باشد همهی کارها عمل نوشتن و خواندن از يک فايل يا پايگاه دادهی مشترک را انجام دهند، محدوديتهای دسترسی به آن فايل يا پايگاه داده، يک عامل محدودکننده برای مقياسپذيری برنامهی کاربردی خواهد بود. دلايل ديگر ايجاد درگيری بين کارها عبارتند از: تأخير در تبادل پيام بين کارها، ظرفيت ارتباطات در شبکه، پروتکلهای همزمانسازی، پهنای باند ارتباط با حافظههای جانبی و وسايل ديگر، و تأخيرهايي که با نيازهای بلادرنگ تداخل پيدا میکند.
1-1-3-3- برنامههای کاربردی
برای اينکه يک برنامهی کاربردی بتواند بر روی گريد اجرا شود، عوامل زيادی را بايد در نظر گرفت. يکی از آنها اين است که بايد قبول کرد که همهی برنامههای کاربردی اين قابليت را ندارند که به صورت موازی بر روی گريد محاسباتی اجرا شوند و در عين حال، مقياسپذيری قابل توجهی نيز بدست بيايد. علاوه بر آن، در عمل، هيچ ابزار خودکاری وجود ندارد که برنامههای کاربردی را طوری تغيير دهد تا بتوانند از قابليتهای موازی گريدهای محاسباتی استفاده کنند. ابزارهايي وجود دارند که اين مهارت را به طراحان برنامههای کاربردی میدهند که بتوانند برنامههای موازی را به مرحلهی پيادهسازی برسانند. البته دانش تبديل خودکار برنامههای کاربردی در مراحل ابتدايي قرار دارد. اين کار واقعاً مشکل است و حتی در شرايطی که امکانپذير باشد به دانش رياضيات و مهارتهای بالای برنامهنويسی نياز دارد. اغلب برنامههای کاربردی دارای محاسبات زياد که امروزه پيادهسازی میشوند، دارای ساختار موازی هستند و اگر استانداردها و پروتکلهای جديد گريد را در خود نداشته باشند، به راحتی میتوان قابليت اجرا بر روی گريدهای محاسباتی را در آنها بوجود آورد.
1-1-3-4- منابع مجازی و سازمانهای مجازی برای ايجاد همکاری
کمک مهم ديگری که يک گريد محاسباتی به ما میکند اين است که همکاری بين تعداد زيادی سيستمهای متصل به هم در يک محدودهی وسيع را امکانپذير و ساده میسازد. در گذشته، محاسبات توزيع شده در حال رسيدن به اين مرحله از همکاريها بود و تا حدی نيز به آن دست يافته بود. اکنون محاسبات گريدی اين تواناييها را حتی در مقياس وسيعتری نسبت به آنچه تصور میشد در اختيار قرار میدهد. همچنين همراه با آن، استانداردهای مهمی را ارائه میکند که سيستمهای بسيار ناهمگون را قادر میسازد تا با يکديگر همکاری کنند و به اين ترتيب، تصويری از يک سيستم محاسباتی مجازی بزرگ که منابع مجازی بسياری را فراهم میکند ايجاد شود. اين ديد يکپارچه در شکل 2-24 نشان داده شده است.
شکل 2‑24: بازنمايي منابع ناهمگون و پراکنده به صورت يک سازمان مجازی واحد توسط گريد
1-1-3-5- دسترسی به منابع اضافی
علاوه بر منابع پردازشی و ذخيرهسازی اطلاعات، يک گريد میتواند دسترسی به تعداد زيادی از منابع ديگر و همچنين به تجهيزات، نرمافزارها، جوازهای[30]استفاده و خدمات خاص ديگر را فراهم کند. منابع اضافی میتواند در تعداد و يا در ظرفيتهای اضافی فراهم شود.
برای مثال، اگر يک کاربر نياز داشته باشد که به منظور پيادهسازی يک سيستم جستجوی دادهکاوی، پهنای باند ارتباط خود با شبکهی جهانی اينترنت را افزايش دهد، کار او میتواند بين چندين ماشين موجود در گريد که هرکدام ارتباط مستقلی با شبکهی جهانی برقرار کرده است تقسيم شود. در اين صورت، مجموع تواناييهای جستجو در اينترنت چند برابر میشود؛ زيرا هر ماشين ارتباط جداگانهای با اينترنت دارد. اگر اين ماشينها مجراهای ارتباطی خود را در گذشته به اشتراک گذاشته بودند، افزايش چندانی برای پهنای باند دسترسی به اينترنت بوجود نمیآمد. بعضی از ماشينها ممکن است جواز استفاده از يک نرمافزار گرانقيمتی را که بر روی آنها نصب شده است در اختيار داشته باشند. کارهای مورد نظر يک کاربر که به چنين نرمافزاری نياز دارد میتواند به ماشين مربوطه فرستاده شود تا از جواز استفاده از نرمافزار موجود بر روی آن ماشين بهره ببرد.
بعضی از ماشينها در گريد ممکن است دارای وسايل جانبی خاصی باشند. بسياری از ما از چاپگرهای دور استفاده کردهايم تا از توانمنديهای چاپ تصادفی پيشرفته و يا سرعت بالای آنها استفاده کنيم. به طور مشابه، میتوان از يک گريد برای استفاده از تجهيزات ويژهی ديگر استفاده کرد. برای نمونه، يک ماشين ممکن است دارای يک دستگاه ذخيرهسازی داده بر روی لوح دی وی دی[31] باشد و ديگران میتوانند از طريق گريد، برای انتشار سريع اطلاعات از آن استفاده کنند. همچنين بعضی از ماشينها در گريد میتوانند به يک ميکروسکوپ الکترونی متصل باشند که قابليت کار از راه دور را داراست و کاربران گريد در ساير نقاط میتوانند از آن استفاده کنند.
1-1-4- مديريت منابع در گريد
در ادامه، مدیریت منابع در سیستم های گرید توضیح داده خواهد شد.
1-1-4-1- تعاريف و نيازمنديها
در گريدها، منبع[32] عبارت است از يک نهاد[33] با قابليت استفادهی مجدد[34] که برای برآورده کردن يک کار يا تقاضا به خدمت گرفته میشود. منبع ميتواند يک ماشين، شبکه يا هر سرويس ديگر (ترکيبي از ماشينها، شبکهها و نرمافزار) باشد.
فراهمکنندهی منبع [35]، به عنوان يک عامل[36] که منبع را کنترل ميکند، تعريف ميگردد. براي مثال، يک واسطهگر[37] منبع میتواند به عنوان يک فراهمکنندهی منبع عمل کند. به همين صورت، مصرفکنندهی منبع[38]، عاملي است که مصرفکننده را کنترل ميکند.
سيستم مديريت منبع[39] (RMS)، سرويسي است که توسط يک شبکهی محاسباتی[40] فراهم ميگردد تا مجموعهی وسيعي از منابع داراي نام که براي شبکهی محاسباتی موجود ميباشند را مديريت کند، به طوری که شاخص کارايي (سيستم محور[41] يا کار محور[42]) بهينه گردد[77] .
به علت مواردي چون توسعهپذيري[43]، سازگارپذيري[44]، خودمختاري سايت[45] و کيفيت سرويس، مديريت منبع در سيستمهاي گريد بسيار پرچالشتر از محيطهاي محاسباتی توزيع شدهی[46] قديمی است.
1-1-4-2- مدل انتزاعي سيستم مديريت منبع
تجربهی كار با سيستمهاي محاسباتی شبكهاي نشان داده است كه برنامهی كارا و كارايي سيستم، الزاماً يكي نيستند. به عبارت ديگر، يك زمانبند ممكن است نتواند هم برنامه را بهينه كند و هم كارايي سيستم را. يك راهحل استفاده از سيستم چندلايه است. علاوه بر اين، از آنجايي كه مقياس مورد انتظار در سيستمهاي گريد، بزرگ است لذا يك سیستم مدیریت منابع معمولاً از اتصال سیستم مدیریت منابعهای متعددي تشكيل شده است كه با يكديگر همكاري مي كنند. شکل 2-25 يك نمودار بلوكي براي يك سيستم همراه با سیستم مدیریت منابعهاي متعدد به هم متصل را نشان ميدهد كه هر سیستم مدیریت منابع داراي چندين سطح ميباشد. برنامههای کاربردی از سرويسهاي جعبهابزارهاي[47] گريد استفاده ميكنند.
شکل 2-26 يک مدل انتزاعي از توابع اصلي که توسط يک سيستم مديريت گريد پشتيباني ميشود را نشان ميدهد. اين مدل داراي واحدهاي عملياتي متعدد و چهار رابط[48] ميباشد: رابط مصرفكنندهی منبع، رابط فراهمکنندهی منبع، رابط پشتيباني مدير منبع[49] و رابط همتاي مدير منبع[50].
شکل 2‑25: زمينهی سيستم سیستم مدیریت منابع
شکل 2‑26: ساختار انتزاعي سيستم مديريت منابع
1-1-4-3- سازماندهي ماشين
سازماندهي ماشينها در گريد، الگوي ارتباطي سیستم مدیریت منابع را تحت تاثير قرار ميدهد و لذا نقش تعيينکنندهاي در توسعهپذيري معماري حاصل دارد. شکل 2-27 طبقهبندي سازماندهي ماشينها را نشان ميدهد.
شکل 2‑27: طبقهبندي سازماندهي ماشينها در گريد
سازماندهي براي ماشينهاي درگير در مديريت منابع، در واقع، چگونگي اقدام به زمانبندي، ساختار ارتباطي بين ماشينها و نقشهاي متفاوتي که ماشينها در جهت زمانبندي ايفا ميکنند را روشن ميسازد.
در سازماندهي مسطح[51]، همهی ماشينها ميتوانند بدون نياز به يک رابط، مستقيماً با يکديگر ارتباط داشته باشند. در سازماندهي سلسلهمراتبي[52]، ماشينهاي واقع در يک سطح ميتوانند با ماشينهايي که مستقيماً در بالا يا پايين آنها قرار دارند و همچنين با همتاهای خود در همان سطح، ارتباط مستقيم داشته باشند.
در ساختار سلولي، ماشينهاي واقع در يک سلول ميتوانند با يکديگر از طريق سازماندهي مسطح، ارتباط داشته باشند. در هر سلول، ماشينهايي تعيين ميشوند که وظيفهی ارتباط با ماشينهاي خارج از سلول را بر عهده دارند. ساختار دروني يک سلول از سايرين پنهان است. سلولها خود ميتوانند بصورت سلسلهمراتبي يا مسطح سازماندهي شوند.
1-1-4-4- منابع
در اين بخش، جنبههاي مختلف سيستمهاي مديريت منبع را بررسي خواهيم کرد که رابط بين منابعي که توسط سیستم مدیریت منابع اداره ميشود را فراهم ميسازند. برای توضيحات بيشتر میتوان به [78,79]مراجعه کرد.
مدل منبع
مدل منبع، چگونگي توصيف منابع گريد توسط برنامهها و سیستم مدیریت منابع را تعيين ميکند. شکل 2-28 طبقهبندي مدل منابع را نشان ميدهد.
شکل 2‑28: طبقهبندي مدل منابع
در روش مبتني بر شِما[53]، دادهاي که يک منبع را شامل ميشود، توسط يک زبان، همراه با تعدادي محدوديتهاي جامعيت[54] توصيف ميشود. در شِماي توسعهپذير، بر خلاف نوع ثابت، انواع جديد شِما براي توصيف منابع را ميتوان اضافه نمود. در يک مدل شيء[55]، عمليات روي منابع به عنوان بخشي از مدل منبع تعريف گرديده است. همانطور که در مورد شِماها گفته شد، مدل شيء نيز میتواند دو شکل داشته باشد: از پيش تعيين شده و تثبيت شده به عنوان بخشي از تعريف (مدل ثابت[56]) و يا اينکه مکانيزمهايي براي توسعه در آن پيشبيني شده باشد (مدل توسعهپذير).
سازماندهي فضاي نام منابع
يک سيستم مديريت منبع گريد، بر روي انبوهي از منابع نامگذاری شدهی سراسري عمل ميکند؛ لذا سازماندهي فضاي نام[57] تأثير عمدهاي بر پروتکلها و متدهاي يافتن منابع ميگذارد. شکل 2-29 طبقهبندي سازماندهي فضاي نام را نشان ميدهد. فضای نام رابطهای، منابع را به شکل رابطه تقسيم میکند و از مفاهيم موجود در پايگاه دادهی رابطهای برای اين کار استفاده میکند. فضای نام سلسلهمراتبی، منابع گريد را در سلسلهمراتبهايي پخش میکند؛ و در نهايت فضای نام مبتنی بر گراف از گرهها و اشارهگرها برای تقسيم منابع استفاده میکند.
شکل 2‑29: طبقهبندي سازماندهي فضاي نام
يافتن و انتشار منبع
يافتن و انتشار منبع[58] را ميتوان به عنوان توابع تکميلي لحاظ كرد. يافتن، توسط يک برنامهی كاربردي شبکهاي[59]، براي پيدا کردن منابع مناسب در گريد صورت ميگيرد. انتشار، توسط يک منبع به منظور يافتن برنامههاي مناسب که ميتوانند از آن منبع استفاده کنند، انجام میشود. يافتن و انتشار منابع بايد بر اساس معيارهای مشخصی انجام گيرد (مانند کيفيت سرويس [92]). شکل 2-30 طبقهبندي يافتن منابع و شکل 2-31 طبقهبندي انتشار آنها را نشان ميدهد.
شکل 2‑30: طبقهبندي يافتن منبع
شکل 2‑31: طبقهبندي انتشار منبع
1-1-4-5- زمانبندي
در اين بخش طبقهبنديهايي را که وظايف زمانبندي و تخصيص منابع را در سیستم مدیریت منابع توصيف ميکنند، مورد بررسي قرار ميدهيم.
سازماندهي زمانبند
مؤلفههاي زمانبندي در سیستم مدیریت منابع را ميتوان به سه شکل، سازماندهی کرد (شکل 2-32). در سازماندهي متمرکز فقط يک کنترلکنندهی زمانبندي وجود دارد که در سطح سيستم تصميمگيری میکند. در سازماندهي سلسلهمراتبي، کنترلکنندههاي زمانبندي در يک سلسلهمراتب قرار دارند؛ به طوری که هر چه به سطوح بالاتر برويم، کنترلکنندهها میتوانند بر مجموعهی بزرگتری از منابع نظارت کنند. سازماندهي غيرمتمرکز، حالتي غير از دو حالت فوقالذكر است که در آن کنترلکنندهها در سطح گريد به صورت توزيع شده قرار میگيرند. هر کدام از اين سه حالت داراي مزايا و معايبي هستند. (براي اطلاعات بيشتر به[76,77] مراجعه کنيد)
شکل 2‑32: طبقهبندي سازماندهي زمانبند
برآورد وضعيت[60]
به علت تأخير انتشار اطلاعات در سيستمهاي توزيعي مانند سيستمهاي گريد، برآورد وضعيت هميشه برحسب اطلاعات جزئي و کهنه صورت ميگيرد. تأکيد طبقهبندي ارائه شده در اين بخش روي مکانيزمهاي به کار گرفته شده براي برآورد وضعيتهايي است که پيادهسازي مدل انتزاعي را تحت تأثير خود قرار ميدهند. شکل 2-33 طبقهبندي برآورد وضعيت را نشان ميدهد.
شکل 2‑33: طبقهبندي برآورد وضعيت
برآورد وضعيت غيرپيشگويانه[61] فقط از اطلاعات وضعيت کار و منبع موجود استفاده ميکند؛ زيرا نيازي به در نظر گرفتن اطلاعات گذشته ندارد. روشهاي غيرپيشگويانه يا از مکاشفه[62] بر اساس مشخصات کار و منبع استفاده میکنند و يا يک مدل توزيع احتمالي بر اساس تحليل آماري غيربرخط[63] مشخصات کار مورد انتظار، را به کار میگيرند. يک روش پيشگويانه، اطلاعات کنوني و سوابق را براي برآورد وضعيت لحاظ ميکند. مدلهاي پيشگويانه از يکي از روشهاي مکاشفهای، مدلهاي قيمتگذاري و يا يادگيري ماشين استفاده ميکنند. در روش مکاشفهای، از قوانين از پيش تعيين شده براي هدايت برآورد وضعيت استفاده ميشود. اين قوانين، بر اساس رفتار مورد انتظار گريد براي برنامهها استخراج ميشوند. در روش مدل قيمتگذاري، با استفاده از پوياييهاي بازار، منابع خريد و فروش ميشوند. در يادگيري ماشين، با استفاده از توزيعهاي ناشناختهی بالقوه، از شِماي برخط[64] يا غيربرخط براي برآورد وضعيت استفاده ميشود.
زمانبندي مجدد[65]
ويژگيهاي زمانبندي مجدد در يک سیستم مدیریت منابع مشخص ميکند كه چه هنگام، زمانبندي موجود، مورد بررسي مجدد قرار بگيرد و چه هنگام، اجراي کارها دوباره منظم شود. نظمبخشي مجدد به کارها برای اين منظور انجام میگيرد که بهرهوري منابع، توان عملياتي، يا ساير معيارها بسته به سياست زمانبندي، ماکزيمم شود. روش به کار گرفته شده براي زمانبندي مجدد، مناسب بودن يک سيستم مديريت منبع را براي يک کاربرد خاص مشخص ميکند. شکل 2-34 طبقهبندي زمانبندي مجدد را نشان ميدهد.
شکل 2‑34: طبقهبندي زمانبندي مجدد
سياست زمانبندي
سيستم مديريت منبع از يک سياست زمانبندي[66] استفاده ميکند تا ترتيب جزئي تقاضاها و کارها را هنگام زمانبندي تعيين کند. شکل 2-35 طبقهبندي سياستهاي زمانبندي را نشان ميدهد. در اين طبقهبندي، تأكيد بر ميزان متأثر بودن سياست زمانبندي از نهادهاي خارجي ميباشد. سيستمهاي گريد بزرگ با حوزههای مديريتی مختلف، معمولاً داراي سياستهاي به كارگيري منابع متعددي ميباشند. در روش ثابت، سياست پيادهسازي شده توسط مديريت منبع، از پيش تعيين شده است؛ در حالی که سياست زمانبندي توسعهپذير به نهادهاي خارجي اين امكان را ميدهد كه سياست زمانبندي را عوض كنند.
شکل 2‑35: طبقهبندي سياستهاي زمانبندي
1-1-5- خلاصه و نتيجهگيری
محيط گريد يک زيربنای سختافزاری و نرمافزاری را فراهم میکند تا در يک شبکه از ماشينهای توزيعشده و ناهمگون، منابع محلی هر ماشين برای ديگران قابل استفاده باشد. در واقع، يک گريد با مجموعهای از منابع در مقياس وسيع در ارتباط است که به صورت مشترک مورد استفاده قرار میگيرند. درطبقهبندی سيستمهای گريد میتوان سه نوع گريد را در نظر گرفت: محاسباتی، دادهای و خدماتی. گريدهای محاسباتی توانمندیهای مختلفی دارند؛ از جمله استفاده از منابع بيکار، به کار گرفتن منابع اضافه و موازیسازی پردازندهها برای افزايش کارايي. سيستم مديريت منبع به عنوان مهمترين بخش يک گريد محاسباتی نقش مهمی در کنترل و نظارت بر استفاده از منابع دارد. مهمترين وظيفهی اين سيستم، زمانبندی کارها بر روی منابع میباشد. اين عمل میتوان به صورت متمرکز، سلسلهمراتبی و غيرمتمرکز انجام شود. با توجه به شرايط حاکم بر گريدهای محاسباتی، زمانبندی غيرمتمرکز و توزيع شده از بقيه موفقتر خواهد بود.
[1]Computational Grids
[2]Virtual Enterprises (VE)
[3]Workstations
[4]Grid Computing
[5]Supercomputing
[6]Transparent
[7]Virtualization
[8]Global Computing
[9]Meta Computing
[10]cluster Computing
[11]Administrative Domain
[12]Workstations
[13] Cycle-Stealing
[14]Throughput
[15]Completion Time
[16]Parameter Sweep
[17]Data Grids
[18]Data Warehouse
[19]Data Mining
[20] European DataGrid
[21] Globus
[22]Service grid
[23]Collaborative
[24]Multimedia
[25]Overhead
[26]Batch Application
[27]Word Processing
[28]Remote
[29]Scalability
[30]License
[31] DVD
[32] Resource
[33]Entity
[34]Reusability
[35] Resource Provider
[36]Agent
[37] Broker
[38] Resource Consumer
[39]Resource Management System (RMS)
[40] Computational Network
[41] System Centric
[42] Job Centric
[43]Extensibility
[44]Adaptability
[45]Site Autonomy
[46] Distributed Computing Environments(DCE)
[47] Toolkits
[48]Interface
[49]Resource Manager Support Interface (RMSI)
[50]Resource Manager Peer Interface (RMPI)
[51]Flat
[52]Hierarchical
[53]Schema
[54] Integrity Constraints
[55]Object Model
[56]Fixed
[57]NameSpace
[58] Resource Discovery and Dissemination
[59] Network Application
[60]State Estimation
[61] Non-predictive
[62]Heuristic
[63] Off-line
[64] On-line
[65]Rescheduling
[66] Scheduling Policy
برگرفته از پایان نامه کارشناسی ارشد آقای محمد شجاعی فر