تبليغاتX
click
شبکه های grid. Wed 3 Dec 2008 6:11 AM

 

شبکه های Grid

 

مقدمه

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

 

 استفاده از این ابر رایانه ها از دو حیث محدود می باشد:

 

-    قدرت پردازنده: هرچقدر هم یک کامپیوتر قوی باشد باز به علت محدودیت های تکنلوژیکی سرعت آن از یک حدی بالا نمی رود

-         محدودیت مالی: قیمت این ابر رایانه ها بسیار بالا است و قابل خریداری و استفاده توسط بسیاری ازارگان ها نیست

 

اینجا بود که پیشروان امر علوم کامپیوتر به دنبال چاره ای برای این مشکلات افتادند که نمود یکی از این مشکلات راه اندازی شبکه های محاسباتی گرید بود.

 

شبكه‌هاي گريد محاسباتي در اواخر دهه 1990 به عنوان جايگزيني پيشنهادي براي سوپركامپيوترهاي متداول پديدار شدند تا به حل مسائل خاصي بپردازند كه مستلزم محاسبات عددي انبوه و دسترسي به حجم بيشتري از داده‌هاي توزيع‌يافته بودند.
ايده اصلي اين بود كه با شبكه‌هايي كه به قدر كافي سريع باشند و با بهره‌گيري از نرم‌افزار مناسب، گروه‌هاي تحقيقاتي متعدد كه از لحاظ جغرافيايي نيز پراكنده بودند، مي‌توانستند منابع پردازشي و منابع مديريت داده‌هاي خود را در قالب سيستمي واحد به اشتراك بگذارند و بدين ‌صورت اين سيستم توانايي درگير شدن با مسائلي را داشته‌ باشد كه از عهده هر يك از اين گروه‌ها به تنهايي، خارج بود.

 

پژوهشگران اميد داشتند چنين گريدهايي همان كاري را براي توان محاسباتي انجام دهند كه شبكه‌هاي توزيع برق براي الكتريسيته انجام مي‌دهند: توان محاسباتي را همه جا در دسترس قرار دهند؛ فقط كامپيوتر شخصي خود را به يك شبكه گريد متصل كنيد و به صورت بي‌درنگ به قدرت پردازشي عظيمي با بهايي قابل قبول دسترسي داشته‌ باشيد.هنوز به‌طور كامل به آن هدف نرسيده‌ايم. امروزه، اگرچه گريدها در همه جا گسترده شده‌اند، اغلب آن‌ها سيستم‌هايي تخصصي هستند كه فقط براي گروه‌هاي خاصي از پژوهشگران در شاخه‌هايي مانند فيزيك انرژ‌ي‌هاي بالا، تحقيقات ژنتيكي و مانيتورينگ زمين‌لرزه قابل دسترسي هستند. به اين ترتيب، چگونه مي‌توانيم گريدها را به ابزارهاي روزمره پژوهشي تبديل كنيم كه در شاخه‌هاي علمي و فني متنوع‌‌تري از آن‌ها بهره‌برداري گردد؟

 

 

 

 

گرید (Grid):

 

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

 

Grid ها شبیه به هم نیستند و اندازه و شکل های متفاوتی دارند. در زیر 3 تقسیم بندی یا کلاس Grid  های فعلی را که رایانه های فردی را تبدیل به یک مزرعه ابر رایانه با هزاران پردازنده را کرده است فهرست شده است:

 

خوشه ای :  ساده ترین توع این سیستم هستند. از مجموعه ای از رایانه ها که با هم کار می کنند تشکیل شده اند و یک نقطه دسترسی یه سیستم برای کاربران یک پروژه یا بخش سازمانی خاص ایجاد می کند.

 

پردیزه :  به پروژه ها و بخش های سازمانی متعدد اجازه می دهد که منابع رایانه ای خود را با هم به اشتراک گذارند. سازمانها می توانند از این توع سیستم برای مدیریت کارهای زیاد، ازفرآیند های تجاری سازمان تا داده کاوی استفاده کنند.

 

 Gridجهانی :  مجموعه ای از چندینGrid پردیزه می باشند که پا بر فرآی مرزهای سازمانی گذاشته اند ویک سیستم مجازی بسیار بزرگ را ایجاد کرده اند . کاربران می توانند به منابع رانه ای بیش از آنچه که در سازمان دارند دسترسی داشته باشند .

 

 

 

ارتباط رایانه های کاربران با مدیریت گرید :

 

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

 

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

 

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

 

 

 

 

 

 

انواع Grid  

 

سيستم‌هاي Grid با توجه به‌ نيازهاي كاربران مي‌توانند در انواع مختلف مورداستفاده قرار گيرند. اغلب اين سيستم‌ها بر اساس نوع كاري كه انجام مي‌دهند، طبقه بندي مي‌شوند. از سه نوع اصلي اين سيستم مي‌توان از Gridهاي اطلاعاتي، Gridهاي جوينده منابع و Grid‌هاي محاسباتي نام برد.

 

 

Data Grid

Gridهاي اطلاعاتي يا Data Grid موظفند اطلا‌عات را ذخيره كنند و آن‌ها را در اختيار كاربران قرار دهند. كاربران اين سيستم‌ها بدون آن‌كه از موقعيت جغرافيايي و مكاني اين اطلاعات آگاه باشند، به ‌اطلاعات دسترسي دارند. مثلاً تصور كنيد كه دو دانشگاه در دو سوي دنيا يكي در ايران و ديگري در انگلستان روي يك مطلب علمي‌مشترك تحقيق مي‌كنند و هر يك از آن‌ها اطلاعات خاص خود را ذخيره مي‌كند و مي‌خواهد دانشگاه ديگر نيز به ‌برخي از ‌اين اطلاعات (نه تمامي‌آن) دسترسي داشته باشد. اين دانشگاه‌ها مي‌توانند از يك Data Grid استفاده كنند و اطلاعات خود را با ضريب امنيتي بالايي با هم به‌اشتراك بگذارند.
در اين نوع Grid دستگاه‌هاي متصل به‌سيستم نياز به‌قدرت زياد ندارند و فقط مسئول به ‌اشتراك گذاشتن اطلاعات هستند. از طرف ديگر Grid ‌هاي محاسباتي يا Computational Grid از آن جا كه نياز زيادي به ‌قدرت پردازنده‌ها دارند، بايد از ماشين‌هايي با قدرت بسيار بالا استفاده نمايند.

 

 

Scavenging Grid

يكي ديگر از انواع Gridها، سيستم‌هاي جوينده منابع يا Scavenging Grid است. اين سيستم‌ها از تعداد زيادي كامپيوتر شخصي استفاده مي‌كنند و به‌صورت مداوم به‌دنبال ظرفيت‌ها، منابع آزاد  و چرخه پردازنده (CPU cycle)   كامپيوتر‌هاي  متصل به ‌Grid هستند و از اين منابع استفاده مي‌نمايند. البته صاحبان اين كامپيوترهاي شخصي بايد قبلا‌ً اجازه استفاده از منابع بدون استفاده خود را بدهند

 

 

Grid Computing

Grid Computing يا شبكه‌هاي متصل كامپيوتري مدل شبكه‌اي جديدي است كه با استفاده از پردازشگرهاي متصل به هم امكان انجام‌دادن عمليات‌ حجيم محاسباتي را ميسر مي‌سازد. Gridها در واقع از منابع كامپيوترهاي متصل به‌شبكه استفاده مي‌كنند و مي‌توانند با استفاده از برآيند نيروي اين منابع، محاسبات بسيار پيچيده را به‌راحتي انجام دهند. آن‌ها اين كار را با قطعه قطعه كردن اين عمليات و سپردن هر قطعه به‌كامپيوتري در شبكه انجام مي‌دهند. به عنوان مثال وقتي شما از كامپيوترتان براي مدتي استفاده نمي‌كنيد و كامپيوتر شما به‌ اصطلاح به‌وضعيت محافظ نمايشگر يا Screensaver مي‌رود، از پردازشگر كامپيوتر شما هيچ استفاده‌اي نمي‌شود. اما با استفاده از شبكه‌هاي Grid مي‌توان از حداكثر توانايي‌هاي پردازشگر‌ها استفاده نمود و برنامه‌اي را در كامپيوتر قرار داد كه وقتي از سيستم استفاده‌اي نمي‌شود، اين برنامه بتواند از نيروي بلااستفاده دستگاه بهره بگيرد و قسمتي از محاسبات بزرگ عملياتي را انجام دهد

 

با دانلودكردن يك محافظ نمايشگر مخصوص مي‌توانيم به‌كامپيوترهاي شخصي خود اجازه دهيم كه وقتي از آن استفاده نمي‌كنيم، به ‌شبكه جهاني متصل شوند و به ‌سيستم‌هاي بزرگ تحقيقاتي اجازه دهند از منابع آزاد و بلااستفاده سيستم ما استفاده نمايد. كامپيوترهاي امروزي مانند مغز انسان معمولا از بخش كوچكي از توانايي‌هاي خود استفاده مي‌كنند و اغلب به‌ صورت غيرفعالند و منتظر اطلاعات ورودي مي‌مانند. تصور كنيد كه اگر از منابع سخت‌افزاري اين همه كامپيوتر غيرفعال استفاده شود و همه در يك كامپيوتر جمع شود، چه دستگاه پرقدرتي خواهيم داشت. Grid Computing با ‌كمك به اينترنت زمينه‌اي را فراهم آورده است كه بتوان با استفاده از آن، از منابع سخت‌افزاري سيستم‌هاي ديگر نيز استفاده نماييم.

ممكن است Grid براي افراد مختلف معاني متفاوتي داشته باشد، اما اگر بخواهيم تعريف ساده‌اي از آن داشته باشيم، مي‌توانيم بگوييم Grid Computing در واقع به‌شما اجازه مي‌دهد با استفاده از منابع سيستم‌هاي متصل به‌ شبكه و  ايجاد يك منبع بزرگ از سرويس‌ها و امكانات اين سيستم‌ها، مركزي بزرگ و قدرتمند به‌ وجود آوريم كه توانايي انجام‌دادن عمليات بسيار پيچيده‌اي را داشته باشد كه يك سيستم به‌تنهايي نمي‌تواند انجام دهد. به‌نحوي كه از ديد استفاده‌كنندگان اين سيستم‌هاي بزرگ، اين عمليات تنها از طريق يك سيستم انجام مي‌شود.

 

 

مزیتهای Grid computing

 

·        استفاده ی موثر از منابع

 

یکی از کاربردهای ابتدایی Grid computing  این است که برنامه ای که معمولا روی ماشین خاصی اجرا می شود ، در شرایطی خاص به خاطر این که آن ماشین مشغول است ، در ماشین دیگری که کمتر مشغول است اجرا گردد.

 

برای این چنین سناریویی دو پیش نیاز وجود دارد  :

 

1.   اول این که برنامه باید قابلیت اجرا در ماشین راه دور را داشته باشد . به عنوان مثال نباید به داده های روی ماشین اصلی وابسته باشد .

2.      دوم اینکه ماشین دوم باید ویژگی های سخت افزاری ونرم افزاری که مورد نیاز آن برنامه است را داشته باشد.

 

برای مثال در بیشتر سازمانها تعداد بسیار زیادی منابع محاسباتی وجود دارد که از توان آنها به درستی استفاده نمی شود . معمولا بیشتر ماشین های رومیزی در یک روز کاری ، کمتر از 5 درصد مشغول هستند . در برخی از سازمانها ماشین های سرور نیز در بیشتر اوقات بی کار هستند که Grid Computing  بستری برای استفاده  ی موثر از این منابع به وجود می آورد .

 

·        قابلیت محاسبه موازی

 

محاسبات بزرگ که قابلیت موازی سازی دارند یکی از مواردی است که Grid  کاربرد گستردهای دارد . علاوه بر کارهای تحقیقاتی و علمی این دید از Grid Computing در بیولوژی ، در مدل سازی اقتصادی ، یافتن نفت ، انیمیشن سازی و غیره نیز کاربرد دارد.

ویژگی مشترک این کاردبر ها این است که برنامه را می توان به صورت موازی بر روی CPU  های مختلف اجرا کرد.یک برنامه ای که می تواند تحت Grid  اجرا شود و مقدار زیادی  CPU  یناز دارد را می توان به عنوان چندین ریز کار کوچک دید.

و باید به نکته توجه کرد که هر برنامه ای را نمی توان موازی سازی کرد و آنرا بر روی Grid  اجرا کرد.

 

·        متعادل سازی استفاده از منابع

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

1.      قسمت پرکار میتواند به ماشینهای تقریبا بی کار تبدیل شود .

2.   اگر تمام امکانات Grid  مشغول باشد ، کارهای با اولویت پایینتر می توانند متوقف شوند تا فضا و امکانات کافی برای کارهای با اولویت بالاتر بوجود آید.

 

·        دسترسی به منابع اضافه

همانطور که اشاره شد به غیر از CPU  و حافظه ، Grid  می تواند امکان استفاده از منابع دیگر را نیز فراهم کند . به ممکن است بعضی از ماشینها دارای نرم افزار های گران قیمتی باشند ، اگر کاربران به آنها نیاز داشته باشند ، Grid  میتواند به آنها کمک کند تا کار خود را بر روی آن ماشین اجرا کند.

 

 

 

اهميت Grid Computing 

تقريبا در همه سازمان‌ها و شركت‌هاي بزرگ تعدادي كامپيوتر بدون استفاده وجود دارد. مثلاً سرورهاي يونيكس از تقريباً ده تا بيست درصد از ظرفيت حقيقي خود استفاده مي‌كنند و كامپيوترهاي شخصي حدوداً از 95 درصد از ظرفيت خود اصلاً استفاده نمي‌كنند.  با استفاده از Grid Computing در يك سازمان يا شركت بزرگ مي‌توان از منابع بلا‌استفاده كامپيوترهاي سازمان  كمال استفاده را برد و سرعت پردازش اطلاعات در سيستم‌هايي كه با كمبود حافظه مواجهند را جبران نمود. از طرف ديگر، سرعت نرم‌افزارهايي كه از اين منبع بزرگ سخت‌افزاري استفاده مي‌كنند، بسيار بالاتر خواهد بود و در نتيجه مي‌توانيم به ‌فكر درست كردن نرم‌افزارهايي با قابليت‌هاي بالاتر باشيم و منابع بيشتري را در اختيار استفاده‌كنندگان قرار دهيم.

Grid Computing مي‌تواند مزاياي زيادي براي مديران و برنامه‌نويسان داشته باشد. مثلاً با آن مي‌توان  برنامه‌هايي كه نياز به‌حافظه زيادي دارند را اجرا نمود و به ‌اطلاعات، دسترسي آسان‌تري پيدا كرد. اصولا ًGrid Computingمي‌تواند به‌سازمان‌ها و شركت‌هاي بزرگي كه سرمايه هنگفتي را در IT هزينه كرده‌اند، كمك كند از سيستم‌هاي خود حداكثر استفاده را ببرند.

فناوري‌هاي Grid در واقع مي‌توانند از منابع و سيستم‌هاي غيرمتمركز پشتيباني كنند و امكان ارتباط سيستم‌ها را با هم فراهم ‌سازند. وقتي براي اولين بار فناوري Grid ابداع شد، هدف آن تنها  به‌اشتراك گذاشتن منابع سيستم و در اختيارداشتن سيستمي‌قدرتمند بود و به‌طور كلي بيشتر در اختيار مؤسسات تحقيقاتي قرار داشت. اما امروزه از Grid توقع بيش‌تري مي‌رود و اهميت بيشتري پيدا كرده است؛ به‌ويژه در تجارت الكترونيك و سيستم‌هاي تجاري غيرمتمركز و توزيع‌يافته. به‌ عنوان نمونه، مدل تجارت الكترونيك B2B را در نظر بگيريد كه دو مؤسسه تجاري اطلاعات خود را از طريق اينترنت با هم مبادله مي‌كنند. Grid نيز مي‌تواند كاري مشابه ‌را انجام دهد و دو يا چند سيستم تجاري را به‌هم مرتبط سازد. به‌طوري كه  بتوانند اطلاعات خود را به‌اشتراك بگذارند. فناوري Grid همچنين مي‌تواند راه‌حل مناسبي براي افزايش دسترسي، قابليت اطمينان و امنيت سيستم‌هاي غيرمتمركز نيز باشد.  

 

 

ابزارهای مدیریتی

 

Globus 

 يكي از قدرتمند‌ترين ابزارهاي ايجاد، كنترل و مديريت سيستم‌هاي Grid، ابزار Globus است. پروژه Globus حدود سال 2003 به‌صورت عملي درآمد. اين پروژه حاصل تلاش مشترك محققان و برنامه‌نويسان Grid در سرتاسر دنياست كه بر حول چهار محور بنا شده است: تحقيق، ابزارهاي نرم‌افزاري، آزمون و نرم‌افزار‌ها. اين ابزار در نسخه 2.2 خود خدمات بسياري به‌مديران سيستم‌هاي Grid ارائه مي‌كند كه   مي‌توان به امنيت، مديريت منابع و مديريت دقيق  اطلاعات اشاره كرد. Globus با در اختيار گذاشتن APIها و فايل‌هاي Header زبان C براي ساختن و كامپايل برنامه‌ها به ‌برنامه‌نويسان اجازه مي‌دهد سيستم‌هاي خود را به Grid متصل نمايند و به ‌مديران امكان مي‌دهد منابع متصل به Grid را به‌راحتي مديريت كنند.

اضافه براين، Globus با در اختيار گذاشتن Componentهايي مخصوص، كار مديران Grid را آسان‌تر مي‌كند. مثلاًGlobus يك ابزار بسيار كارا به‌نام Commodity Grid) COG) كه زبان‌هاي برنامه‌نويسي مانند Python، جاوا و فناوري‌هاي روز مانند سرويس‌هاي وب، كوربا و RMI را مي‌شناسد و مي‌تواند در دو بخش تهيه نرم‌افزارهاي سازگار با Grid و مديريت سيستم‌هاي Grid به ‌ما كمك كند. البته نسخه 2.2 ابزار Globus در برخي موارد ضعف‌هايي نيز دارد. اين نسخه از سرويس‌هايي مثل مديريت Life-Cycle يا چرخه زندگي نرم‌افزار و سيستم‌هاي ذخيره و بازيابي پشتيباني نمي‌كند. البته نسخه جديد Globus يعني نسخه 3 از آن جا كه سعي داشته است با معماري بازرويس‌هاي Grid يا همان the Open Grid Services Architecture) OGSA) هم‌خواني داشته باشد، توانسته‌است بسياري از نقاط ضعف نسخه قبلي را رفع كند.

 

 

نگاهي به‌اجزاي Grid


اجزاي تشكيل دهنده grid عبارتند از:

- رابط كاربر

- اجزاي امنيت‌

- مديريت كنترل كار سيستم (Workload management)

 - زمانبند (Scheduler)

- مديريت اطلاعات (Data Management)

- مديريت منابع (Resource management)

 

در اين قسمت به‌صورت مختصر در مورد هر يك از اين اجزا توضيح داده مي‌شود.

 

رابط كاربر

دسترسي به ‌اطلاعات در Grid   اهميت شاياني دارد و رابط كاربر يا User Interface اين مسئوليت مهم را عهده‌دار است. رابط كاربر مي‌تواند يا در برنامه‌اي كه كاربر از آن مستقيما استفاده مي‌كند يا در ابزارهاي  مديريتي Grid كه مورد استفاده مدير سيستم است، نقش ايفا كند. همانطور كه شما براي استفاده از برق فقط وسيله برقي خود را به ‌پريز برق متصل مي‌كنيد و لازم نيست از مكان منبع يا منابع اصلي اين قدرت اطلاعي داشته باشيد، استفاده كننده سيستم Grid نيز الزاماً نبايد از پيچيدگي‌هاي داخل اين سيستم‌ها مطلع باشد.  مثال ديگر اين‌كه، شما از مرورگر وب جهت استفاده از اينترنت استفاده مي‌كنيد؛ بدون اين‌كه از مكان سرور وب سايت اطلاعي داشته باشيد و تنها با وارد كردن آدرس سايت موردنظر، وب سايت آن در مرورگر نمايش داده مي‌شود. اينترفيس Grid نيز بايد مانند مرورگر باشد. يعني استفاده‌كننده Grid نيز از پيچيدگي‌هاي اين سيستم اطلاعاتي ندارد و فقط با ورود يك پارامتر ورودي، يك خروجي دريافت مي‌كند.  (شكل 1)

 

 

 

شکل1- سيستم‌هاي Gird از ديد استفاده کنندگان

 

امنیت

كامپيوترها در Grid به ‌شبكه متصلند. اين سيستم‌ها همچنين مي‌توانند حاوي اطلاعات بسيار مهم و حساسي باشند. در نتيجه امنيت را مي‌توان يكي از مهم‌ترين اجزايي اين سيستم‌ها دانست كه خود حاوي اجزاي فرعي مانند احراز هويت (authentication)، اختيارات (authorization) و رمزدهي (encryption) است.

امنیت گرید بر پایه PKI استوار است و طراحان شبکه های  گرید PKI را هدفی برای پیاده سازی گرید در نظر می گیرند. اولین گام برای استفاده از گرید اخذ و فراگیری گواهینامه ای به عنوان X.509  میباشد. این گواهینامه به صورت دیجیتالی از سرویس CERTIFICATE AUTHORITY درخواست و اخذ می شود. هر گواهینامه داری یک کلید شخصی میباشد که مجوز استفاده ار محیط گرید را فراهم می آورد. در سیستم های مبتنی بر PKI نکته ای حیاتی وجود دارد که کلید شخصی فقط نزد مالک حقیقی شناخته شود و در حقیقت مالک حقیقی تنها باید از کلید شخصی گواهینامه با خبر باشد. چرا که افشا شدن این کلید باعث میشود که امتیاز کاربر جعل شود. افشای کلید شخصی معادل با بی اعتبار شدن گواهینامه میباشد. Public Key)) Infrastracture شیوه ای است که در آن از کلید ها برای رمز نگاری استفاده می شود.))

 

 

دو روش برای جلوگیری از افشا شدن کلید شخصی وجود دارد:

 

1- رمزگذاری گواهینامه توسط کاربر

 2- نگهداری گواهینامه بر روی یک سیستم فایل محلی که فقط مالک آن گواهینامه مجوز دسترسی به آنرا داشته باشد.

 

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

 

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

برای دریافت گواهینامه جدید دوباره باید درخواستی به CA ارسال شود و منتظر پاسخ و دریافت گواهینامه جدید شد. دریافت گواهینامه نیز متحمل هزینه هایی میباشد.

بنابراین مدیریت و نگهداری گواهینامه ها دارای اهمیت خاصی میباشد.

در حقیقت برای رهایی از چنین مشکلاتیPLUG & PLAY PKI  مطرح شد. امروزه در سطح وسیع تر با به حد کمال رسیدن طراحان معماری و استفاده از پتانسیل هایی چون پروتکل BOOTP و DHCP پیکربندی اتوماتیک بر روی یک Client به واقعیت نزدیک تر شده است.

در اینصورت پیکربندی فنی محیط گرید که مستلزم دقت خاص و رویه عملیاتی صحیح میباشد از حوزه کاربران نهایی حذف میشود و این چیزی است که PKI به دنبال آن است و هدف PLUG & PLAY PKI  تبدیل مراحل پیکربندی گواهینامه ها و مدیریت محیط گرید به فرایندی ساده و USER FRIENDLY است

شركت هایی مانند IBM,SUN ,HP,ORACLE در حال سرمايه گذاري بر روي نرم افزار اين شبكه و استانداردهاي لازم براي به صرفه نمودن پردازش شبكه اي از نظر تجاري و افزايش فروش خدمات نرم افزاري ، سخت افزاري و مشاوره آن هستند.

 


مثلاً ابزار Globus حاوي يك Component به‌ نام Grid Security Infrastructure) GSI) يا ساختار زير بنايي امنيت Grid است كه مسئوليت امنيت در محيط را برعهده دارد. GSI حاوي يك SSL باز است. در نتيجه وقتي يك استفاده كننده يك بار به‌صورت مجاز به‌ سيستم راه پيدا كرد، يك Proxy Certificate براي كاربر به‌ وجود مي‌آيد و براي آن كاربر در نظر گرفته مي‌شود. GSI در درگاه Grid قرار دارد. (شكل 2)

 

شكل2-  GSI در Gird



استفاده كننده از يك سيستم Grid بايد از منابع موجود و قابل دسترس  در سيستم اطلاع داشته باشد. مديريت كنترل كار سيستم يا Workload Management مي‌تواند اين كار را به‌ راحتي انجام دهد. درخواست‌كننده سرويس مي‌تواند با ارتباط با اين قسمت از منابع آزاد سيستم، ظرفيت هر منبع و موقعيت آن‌ها اطلاع حاصل نمايد.  در سيستم‌هاي Grid كه توسط Globus هدايت مي‌شوند، زماني كه يك استفاده كننده شناسايي شد و برنامه موردنظر آن كاربر اجرا گرديد، با توجه به ‌نوع نرم‌افزار و پارامترهاي ورودي كاربر، سيستم Grid به‌دنبال منابع آزاد موجود در شبكه مي‌گردد. اين وظيفه اغلب  به‌ عهده Broker ها است. Globus به‌صورت عادي، ‌Broker ندارند، اما از سرويس‌هايي مانند Grid Information Service) GIS) و Monitoring and Discovery Service) MDS) را پشتيباني مي‌كنند كه به‌سيستم اطلاع مي‌دهند كدام منبع يا منابع قادرند منابع خود را در اختيار بگذارند. شكل 3 موقعيت اين سرويس‌ها را نمايش مي‌دهد.

 يكي ديگر از اجزايي كه در سيستم‌هاي Grid بسيار اهميت دارد، زمانبند يا Scheduler است. در اين سيستم‌ها از آن جايي كه بايد هر كاري را كامپيوتر مشخصي به‌عهده بگيرد و هر كامپيوتر بايد مدت زماني را در اختيار Grid قرار دهد، سيستم نياز به‌ يك زمانبند دارد. اين زمانبند مي‌تواند بسيار ساده باشد، اما اكثر زمانبند‌ها بايد بتوانند كارها را اولويت‌بندي كنند و سيستم را كنترل نمايند. در ابزار Globus زمانبند‌هايي با قابليت بالا  وجود ندارند، اما تعدادي سازوكار زمانبند وجود دارد كه كار زمانبندهاي دقيق را تا حدي انجام مي‌دهد. شكل 4 موقعيت زمانبند‌ها را در Grid  نشان مي‌دهد.

 جزء ديگر Grid‌ها، مديريت اطلاعات اين سيستم‌ها است كه وظيفه ذخيره‌سازي اطلاعات را در سيستم  به عهده‌ دارد.  اين بخش وظيفه محافظت از اطلاعات و جابه‌جايي اين اطلاعات در تمامي‌دستگاه‌هاي متصل به ‌Grid را عهده‌دار است. جابه‌جايي و انتقال اطلاعات كار بسيار مشكلي است و اطلاعات بايد از كانالي مطمئن منتقل شود.

با استفاده از ابزار Globus و بخش مديريت اطلاعات اين ابزار، مي‌توان محيطي امن براي انتقال اين اطلاعات به ‌وجود آورد. اين قسمت از Globus به Grid Access to Secondary Storage) GASS) معروف است كه امكاناتي مانندGridFTP را دربردارد كه مانند FTP است، اما امكانات امنيتي مانند GSI را نيز دربرمي‌گيرد. در نتيجه وقتي يك كاربرProxy Certificate را داشته‌باشد، مي‌تواند از GridFTP جهت انتقال فايل‌ها استفاده كند؛ بدون آن كه نياز داشته باشد دوباره به‌ سيستم وارد شود. شكل 5 موقعيت GASS را در Grid نشان مي‌دهد.

از ديگر بخش‌هاي مهم Grid، بخش مديريت منابع است كه به‌ Grid Resource Allocation Manager) GRAM) شهرت دارد. اين بخش وظايف هر دستگاه را مشخص مي‌كند و باعث هماهنگي دستگاه‌هاي متصل به ‌شبكه در انجام‌دادن امور محوله است. شكل 6 محل قرار گرفتن GRAM را نشان مي‌دهد.

 

Grid از ديد برنامه نويسان

از ديد برنامه‌نويسان، Grid از سازمان‌هاي مجازي‌اي تشكيل شده است كه از پروتكل‌هاي مخصوصي براي ارتباط با هم استفاده مي‌كنند. اين پروتكل‌ها به ‌استفاده‌كنندگان Grid و برنامه‌ها اجازه مي‌دهند سرويس‌هاي خود را در محيطي كنترل شده و امن اجرا كنند. اين سازمان‌هاي مجازي مي‌توانند يك كامپيوتر شخصي، سروري قدرتمند يا كامپيوترهاي متصل به‌ شبكه باشند كه از آن جا كه پروتكل يكساني دارند، مي‌توانند با هم متصل باشند و از منابع يكديگر استفاده نمايند.

گروه جهاني Grid با ارائه معماري باز سرويس‌هاي Grid يا Open Grid Services Architecture) OGSA) و جمعآوري استانداردهاي باز، مانند زبان تعريف سرويس‌هاي وب يا Web Services Description Language) WSDL) توانسته است استانداردي آسان و در عين حال دقيق براي سيستم‌هاي Grid تعريف كند. از آن گذشته، OGSA از تجربيات به‌ دست آمده از پروژه‌هاي بزرگي مانند Globus نيز بهره‌مند است. شكل 7 ساختار معماري اين استاندارد را نشان مي‌دهد.

 

شکل 7- ساختار معماري باز سرويس هاي Grid


استانداردهاي باز و پروتكل‌هاي اين معماري راه توليد سرويس‌ها را نشان مي‌دهند. اين سرويس‌ها قلب Grid هستند و در واقع به ‌استفاده‌كننده اجازه مي‌دهند با Grid كار كند.

اين سرويس‌ها عبارتند از:

- سرويس درخواست‌هاي پردازنده مركزي

- سرويس مديريت كنترل كار سيستم و sessionها

- سرويس جست‌وجوي اطلاعات

- سرويس تعيين پهناي باند شبكه‌

- سرويس مديريت اطلاعات‌

وقتي متخصصان Grid درباره شروع شدن يك سرويس صحبت مي‌كنند، مثلاً شروع شدن سرويس جست‌وجوي اطلاعات، منظور يك نمونه يا Instance سرويس است كه مي‌تواند تكاليف بلند مدت يا موقتي داشته باشد. اين سرويس‌ها مي‌توانند به‌صورت فعال يا غير فعال باشند و زمان فعاليت را مي‌توان با زمانبند يا به‌صورت اختياري تعيين نمود. ‌سرويسي خوب است كه بتواند به‌راحتي امكانات خود را در اختيار استفاده كننده قرار دهد. مثلاً وقتي يك وسيله الكترونيكي را به ‌پريز برق متصل مي‌كنيد، براي شما هيچ اهميتي ندارد كه برق مورد نيازتان از كجا مي‌آيد؛ فقط مي‌خواهيد از برق استفاده كنيد.


سرويس خوب Grid نيز سرويسي است كه بتواند سرويس موردنظر ‌استفاده‌كننده  را به‌راحتي دراختيار او قرار دهد و استفاده‌كننده بتواند به ‌سادگي از آن استفاده كند. مثلا سرويس بانك‌اطلاعاتي در Grid بايد به‌صورتي عمل كند كه استفاده كننده فقط يك جست‌وجو وارد كند و  جواب جست‌وجوي خود را بگيرد؛ بدون اين‌كه از جايگاه و عمليات بانك‌اطلاعاتي خبر داشته باشد.

 ­­­­

پيچيدگي‌ها


اگر تصور مي‌كنيد سيستم‌هاي Grid پيچيده‌اند و ممكن است كار با آن‌ها مشكل باشد، كاملاً درست فكر مي‌كنيد. مثلاً سيستم‌هاي Grid بايد به‌سرعت قادر باشند منابع سيستم‌هاي متصل به‌آن‌ها را شناسايي كنند و در عين حال نبايد از سرعت و كارايي اين سيستم‌ها بكاهند. نكته بسيار مهم ديگري كه مشخصاً ارتباطي به ‌Grid ندارد ولي در اين سيستم‌ها تأثير‌گذار است، ساختن نرم‌افزارهايي است كه بتوانند با سيستم‌هاي Gird كار كنند.

امروزه بيشتر نرم‌افزارها مي‌توانند روي كامپيوتر‌هاي شخصي يا حتي سرور‌ها كار كنند.  يعني در واقع اين نرم‌افزارها از يك پردازنده مركزي استفاده مي‌كنند، اما در سيستم‌هاي Gird، ممكن است چند  پردازنده اين كار را به‌عهده بگيرند و چند سيستم با هم كار كنند. البته هر سيستم يك كار را انجام مي‌دهد. سپس نتايج محاسبات جمع مي‌شود و به ‌درخواست كننده سرويس برگشت داده مي‌شود.


وقتي يك نرم‌افزار يا مجموعه‌اي از نرم‌افزارها بخواهند از Grid استفاده كنند، مسئله به‌اشتراك گذاشتن اطلاعات، تكه تكه كردن اين اطلاعات، ‌انتقال آن با امنيت كامل و مديريت اين اطلاعات كار دشواري است و كاربر Grid فقط اطلاعاتي را وارد مي‌كند و نمي‌داند در داخل سيستم چه مي‌گذرد. در نتيجه اين سيستم‌ها بايد طوري اين كار را انجام دهند كه كاربران Grid بدون نگراني از انتشار اطلاعات سري خود يا بروز اشتباه در محاسبات، به ‌Grid اطمينان كنند.

امنيت سيستم‌هاي Grid نيز بسيار حائز اهميت است. كاربران اين سيستم‌ها بايد از دسترسي به‌منابع ايشان در سيستم اطلاع حاصل كنند و بدانند كدام كاربر به‌اطلاعات آن‌ها دسترسي دارد. اضافه بر اين، قابليت اطمينان و سرعت اين سيستم‌ها بسيار اهميت دارد. اگر سيستم‌هاي Grid از سرعت كافي برخوردار نباشد، كاربران Grid از استفاده از اين سيستم‌ها دلسرد مي‌شوند.

 

 

 

پروژه های امروز گرید:

  Search for Extra Terrestrial Intelligence: SETI (جستجو براي يافتن هوش فرازميني) است كه هدف از آن يافتن پاسخ سؤالاتي مانند اين‌كه "آيا ما تنها هستيم" مي‌باشد.

 

تلسكوپ راديويي Are Ibo  به قطر 300 متر در پورتوريكو مي‌باشد. براي پردازش و تحليل يافته‌ها نيز از قوي‌ترين ابركامپيوتر دنيا استفاده میکند.

در حال حاضر حدود 4/5 ميليون كامپيوتر در سراسر دنيا به SETI@Home  پيوسته‌اند و بزرگ‌ترين ابركامپيوتر روي زمين را تشكيل داده‌اند. سرعت كاري اين ابركامپيوتر در حدود 70 ترافلاپس (70 ميليارد عمليات مميز شناور در ثانيه)  است. اين رقم يعني اين‌كه يك كامپيوتر منفرد به مدت دو هزارسال به طور مداوم و هر روز كار كند. اين 4/5 ميليون كامپيوتر در حال حاضر در 226 كشور جهان پراكنده هستند و مي‌توان گفت كه در ضمن بزرگ‌ترين پروژه Grid Computing جهان را نيز شكل داده‌اند.

پروژه ملي ژاپن به اسم NAREGI (National Research Grid Initiative) مي باشد

 

هدف اصلي پروژه NAREGI اين است که به قدرت محاسباتي پتا(10 به توان 15) فلاپ بر ثانيه دست بيابند. اين ميزان قدرت محاسباتي معادل يک ميليون پينتيوم 4 است  

 

براي مشاركت در پروژه و يافتن موجودات هوشمند فرازميني، كافي است كه يك كامپيوتر در خانه، محل كار يا مدرسه داشته باشيد كه به اينترنت هم متصل باشد. با دريافت برنامه محافظ صفحه نمايش مخصوص پروژه كه از نشاني http://seti.berkeley.edu قابل دانلود است، به خيل عظيم پردازش‌كنندگان اطلاعات پروژه  SETI   خواهيد پيوست.


 

 



 

نوشته شده توسط مجتبی موسوی  | لینک ثابت |