Transcript مقدمه

grid computing
‫فهرست مطالب‬
‫قسمت های‬
‫مختلف ‪OGSI‬‬
‫مزیت های‬
‫‪grid‬‬
‫‪computing‬‬
‫معماری ‪grid‬‬
‫معماری‬
‫سرویس گرای‬
‫‪grid‬‬
‫‪1‬‬
‫سیر تکامل‬
‫تکنولوژی ‪grid‬‬
‫مقدمه‬
‫‪Grid‬‬
‫‪computing‬‬
‫چیست‬
‫‪grid computing‬‬
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫‪3‬‬
‫واژه ی ‪ grid computing‬در اواخر دهه ی نود در مورد ایجاد قابلیت دسترسی‬
‫ساده به منابع محاسباتی بیان شد ‪.‬‬
‫‪ Grid‬محاسباتی یک زیر ساخت نرم افزاری و سخت افزاری است که قابلیت‬
‫استفاده از تجهیزات محاسباتی را با قابلیت اطمینان ‪ ,‬به صورت کم خرج ‪ ,‬فراگیر و‬
‫سازگار فراهم می اورد ‪.‬‬
‫‪grid computing‬‬
‫‪ Grid computing‬چیست‬
‫‪4‬‬
‫‪ Grid computing ‬می تواند معنی های مختلفی برای افراد مختلف داشته باشد ‪.‬‬
‫تصور مشهور در مورد ‪ grid‬چیزی شبیه شبکه ی برق )‪ )power grid‬است که کاربران‬
‫(استفاده کنندگان از وسایل برقی) بدون توجه به اینکه این برق از کجا می اید ‪ ,‬الکتریسیته‬
‫را از پریز می گیرند‪.‬‬
‫با این دید در مورد ‪ , grid computing‬می توان ‪ computing‬را به عنوان قدرت (انرژی برق)‬
‫در نظر گرفت و کاربران (یا برنامه ها) به منابع محاسباتی (پردازنده ها ‪ ,‬ذخیره کننده ها ‪ ,‬داده‬
‫ها ‪ ,‬برنامه ها و غیره) دسترسی پیدا کند و اهمیتی ندارد که این منابع از نظر فیزیکی کجا قرار‬
‫گرفته اند و یا تکنولوژی مورد استفاده در انها ‪ ,‬سخت افزار و نرم افزار انها چیست ‪.‬‬
‫‪grid computing‬‬
‫ادامه‬
‫‪5‬‬
‫‪ ‬پس ‪ grid computing‬را می توان مانند یک مسیر جذاب از تکنولوژی ها و راهکارهای‬
‫مختلف دید که طی کردن این مسیر ما را به هدف نهایی نزدیکتر می کند ‪.‬‬
‫قسمت مهم این پیشرفت در محاسبات توزیع شده است که امکان پیاده سازی برنامه ها در‬
‫سیستمی که از سازمان های مختلف تشکیل شده است برای به اشتراک گذاشتن منابع را‬
‫فراهم می اورد ‪.‬‬
‫به طور خالصه امکان «مجازی سازی» را فراهم می اورد ‪.‬‬
‫‪grid computing‬‬
‫مزیت های ‪grid computing‬‬
‫مدیریت‬
‫قابلیت‬
‫اطمینان‬
‫متعادل‬
‫سازی‬
‫استفاده از‬
‫منابع‬
‫دسترسی‬
‫به منابع‬
‫اضافه‬
‫منابع‬
‫مجازی و‬
‫سازمان‬
‫های‬
‫مجازی‬
‫‪6‬‬
‫قابلیت‬
‫محاسبه‬
‫ی موازی‬
‫استفاده‬
‫موثر از‬
‫منابع‬
‫‪grid computing‬‬
‫‪7‬‬
‫مزیت های ‪grid computing‬‬
‫‪ ‬استفاده موثر از منابع‬
‫یعنی برنامه ای که معموال روی ماشین خاصی اجرا می شود ‪ ,‬در شرایطی خاص به خاطر این‬
‫که ان ماشین مشغول است ‪ ,‬در ماشین دیگری که کمتر مشغول است اجرا گردد ‪.‬‬
‫ممکن است برای سازمانی یک پردازش غیر منتظره پیش اید و ماشینی که قرار است پردازش‬
‫را انجام دهد بسیار مشغول باشد ‪ ,‬اگر این پردازش بتواند در بستر ‪ grid‬اجرا شود می توان‬
‫انرا به ماشین دیگری انتقال داد تا استفاده از منابع به صورت متعادل انجام گیرد ‪.‬‬
‫این متعادل سازی استفاده از منابع می تواند برای ‪ , cpu‬حافظه و یا هر منبع دیگر موجود در‬
‫‪ grid‬استفاده می شود ‪.‬‬
‫‪grid computing‬‬
‫مزیت های ‪grid computing‬‬
‫‪8‬‬
‫‪ ‬قابلیت محاسبه ی موازی‬
‫برنامه را میتوان به صورت موازی بر روی ‪ cpu‬های مختلف اجرا کرد ‪ .‬یک برنامه ای که‬
‫می تواند تحت ‪ grid‬اجرا شود و مقدار زیادی ‪ cpu‬نیاز دارد را می تواند به عنوان چندین‬
‫ریز کار کوچک دید ‪.‬‬
‫اگر این ریز کارها نیازی به مبادله ی اطالعات با هم نداشته باشند و در واقع با هم‬
‫وابستگی نداشته باشند در بهترین حالت به وسیله ی ‪ n‬پردازنده با سرعت ‪ n‬برابر بیشتر‬
‫از حالتی که به وسیله یک پردازنده پردازش می شود اجرا می گردد ‪ .‬به این نوع پردازش ها‬
‫‪ ,‬پردازش های قابل رشد گفته می شود ‪.‬‬
‫‪grid computing‬‬
‫مزیت های ‪grid computing‬‬
‫‪9‬‬
‫‪ ‬منابع مجازی و سازمان های مجازی‬
‫چون ‪ grid‬استاندارهایی را برای به اشتراک گذاشتن منابع در یک محیط نامتجانس فراهم‬
‫فراهم می اورد ‪.‬‬
‫با استفاده از ‪ grid‬یک سیستم محاسباتی بزرگ مجازی ‪ ,‬با منابع گوناگون تولید‬
‫می شود ‪.‬‬
‫‪ Grid ‬منابع نا متجانس و ار نظر جغرافیایی از هم جدا را مجازی سازی می کند ‪.‬‬
‫‪grid computing‬‬
grid computing ‫مزیت های‬
10
grid computing
‫مزیت های ‪grid computing‬‬
‫‪11‬‬
‫‪ ‬دسترسی به منابع اضافه‬
‫همانطور که اشاره شد به غیر از ‪ cpu‬و حافظه ‪ grid ,‬می تواند امکان استفاده از منابع‬
‫دیگر را نیز فراهم کند ‪.‬‬
‫بعضی از ماشین های ‪ grid‬ممکن است دستگاه خاصی داشته باشند‪ .‬خیلی از ما از‬
‫چاپگرهای به اشتراک گذاشته شده استفاده می کنیم ؛ به روشی مشابه ‪grid ,‬‬
‫می تواند استفاده از دیگر دستگاه ها را برای کاربران ممکن کند ‪.‬‬
‫‪grid computing‬‬
‫مزیت های ‪grid computing‬‬
‫‪12‬‬
‫‪ ‬متعادل سازی استفاده از منابع‬
‫یک ‪ grid‬منابع توزیع شده زیادی را که بر روی ماشین های جداگانه قرار گرفته اند متحد‬
‫می کند تا یک سیستم یکپارچه بوجود اورد ‪.‬‬
‫مکانیزمی برای متعادل سازی استفاده از این منابع در ‪ grid‬وجود دارد ‪ .‬این مکانیزم‬
‫زمانبندی است که ریز کارها را بر روی منابع بصورت متعادل توزیع می کند که به دو روش‬
‫انجام می شود ‪:‬‬
‫‪ .1‬قسمت پر کار می تواند به ماشین های تقریبا بیکار هدایت شود ‪.‬‬
‫‪ .2‬اگر تمام امکانات ‪ grid‬مشغول باشد کارهای با اولویت پایین تر می توانند متوقف شوند‬
‫تا فضا و امکانات کافی برای کارهای با اولویت باالتر بوجود اید ‪.‬‬
‫‪grid computing‬‬
13
grid computing
‫مزیت های ‪grid computing‬‬
‫‪14‬‬
‫‪ ‬قابلیت اطمینان‬
‫سیستم های محاسباتی پیشرفته از سخت افزار های گران قیمت بهره می برند تا بتوانند‬
‫قابلیت اطمینان باالیی ارائه دهند ‪.‬‬
‫انها با استفاده از سخت افزار ها و مدارهای منطقی ساخته می شوند که در صورت بروز خطا‬
‫و از کار افتادن قابلیت بازیابی دارند و دارای چند پردازنده هستند که در صورت بروز خطا جایگزین‬
‫می شوند برق برخی از سیستم ها با اشتفاده از دستگاه های خاصی کنترل می شود و در‬
‫صورت بروز مشکل ژنراتوری برای برق رسانی فعال می شود ‪.‬‬
‫‪grid computing‬‬
‫‪15‬‬
‫در شرایط بحرانی چندین نسخه از یک کار می تواند در ماشین های مختلف اجرا شود‬
‫‪grid computing‬‬
‫مزیت های ‪grid computing‬‬
‫‪16‬‬
‫‪ ‬مدیریت‬
‫مجازی سازی منابع در ‪ grid‬و کنترل یک سیستم نا همگن بزرگ ‪ ,‬موقعیت بهتری برای‬
‫مدیریت زیر ساخت های ‪ IT‬فراهم می اورد ‪.‬‬
‫در گذشته سازمان ها مسئول زیر ساخت های ‪ it‬خود بودند و انها را کنترل می کردند ولی‬
‫با بوجود امدن سازمانهای مجازی و ترکیب شدن ‪ grid‬های سازمان های مختلف‬
‫کنترل و مدیریت منابع سادتر می گردد ‪.‬‬
‫‪grid computing‬‬
17
grid computing
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪18‬‬
‫‪Grid ‬‬
‫مکانیزم هایی برای به اشتراک گذاشتن منابع و هماهنگ کردن استفاده از منابع مختلف‬
‫فراهم می اورد ‪.‬‬
‫باعث می شود که سازمان هایی که از نظر جغرافیایی و ساختار سازمانی از هم جدا‬
‫هستند با هم یک سازمان مجازی بوجود اورند تا کیفیت سرویس خاصی را ارائه دهند ‪.‬‬
‫‪grid computing‬‬
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪19‬‬
‫تکنولوژی های‬
‫‪ grid‬شامل‬
‫راهکارهای امنیتی‬
‫مدیریت منابع‬
‫پروتکل ها‬
‫سرویس هایی‬
‫برای مشخص‬
‫شدن وضعیت منابع‬
‫و جابجایی داده ها‬
‫‪grid computing‬‬
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪20‬‬
‫‪ ‬تکنولوژی ‪ grid‬طی ده ها سال تحقیق و توسعه هم در قسمت های تحقیقاتی و علمی و‬
‫هم در زمینه صنعتی پدیدار شده است و اکنون نیز ادامه می یابد ‪.‬‬
‫چهار فاز را برای این تکامل در نظر می توان گرفت که در شکل مشاهده می کنید ‪.‬‬
‫‪grid computing‬‬
21
grid computing
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪22‬‬
‫‪ : Globus toolkit ‬نرم افزاری متن باز بود که به عنوان استانداردی برای‬
‫‪ grid computing‬مورد استفاده قرار گرفت ‪.‬‬
‫در این راستا ‪ GT2‬پروتکل ها ‪API ,‬ها و سرویس هایی که در اکثر پروژه ها مورد استفاده‬
‫قرار می گیرد را پیاده سازی کرد ‪.‬‬
‫بعضی از سرویس ها هم وجود دارند که توسط ‪ GT‬بوجود امده اند که به ‪ GRID FTP‬برای‬
‫جابجایی داده استفاده می شود اشاره کرد ‪.‬‬
‫‪grid computing‬‬
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪23‬‬
‫‪ : Open grid service architecture ‬در سال ‪ 2002‬معماری سرویس گرای ‪OGSA‬‬
‫استاندارد سازی شد و پیاده سازی هایی از ان انجام شد که از ان جمله می توان به‬
‫‪ GT3‬اشاره کرد که در سال ‪ 2003‬به وجود امد ‪.‬‬
‫‪ ‬ما ‪ GRID‬را به عنوان یک سیستم شامل منابع توزیع شده ی هماهنگ که می توان توسط‬
‫پروتکل های استاندارد ‪ ,‬باز و عام _منظوره با ان ارتباط برقرار کرد و کیفیت سرویس خاصی‬
‫را دریافت کرد تعریف می کنیم ‪.‬‬
‫در پایین المان های کلیدی را توضیح می دهیم ‪.‬‬
‫‪grid computing‬‬
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪24‬‬
‫‪ ‬منابع توزیع شده ی هماهنگ ‪:‬‬
‫یک ‪ Grid‬از منابعی هماهنگ و کاربرانی که در دامنه های مختلف با کنترل های مختلف‬
‫زندگی می کنند تشکیل شده است ‪.‬‬
‫‪ ‬استفاده از پروتکل ها و ‪ interface‬های باز ‪ ,‬استاندارد و عام _منظوره ‪:‬‬
‫یک ‪ grid‬ار پروتکل ها و ‪ interface‬های چند منظوره تشکیل شده که می توانند مسائل‬
‫بنیادی شناسایی و تصدیق کاربر ‪ ,‬پیدا کردن منبع و دسترسی به منابع را حل کنند ‪.‬‬
‫‪grid computing‬‬
‫سیر تکامل تکنولوژی ‪grid‬‬
‫‪25‬‬
‫‪ ‬کیفیت سرویس ‪:‬‬
‫‪ grid‬اجازه می دهد که منابع به صورت هماهنگ با هم کار کنند تا بتوانند کیفیت سرویس‬
‫مختلفی را ارائه دهند ‪.‬‬
‫به عنوان مثال این کیفیت سرویس ها می توانند مربوط به زمان پاسخ ‪ ,‬توان عملیاتی ‪,‬‬
‫موجود بودن سرویس و امنیت ان باشد ‪.‬‬
‫‪grid computing‬‬
grid ‫معماری‬
26
Fabric
Resource and
connectivity
Collective
services
User
application
grid computing
‫معماری ‪grid‬‬
‫‪27‬‬
‫‪ : Fabric ‬رابط هایی برای کنترل های محلی‬
‫در این الیه منابعی که می توانند به اشتراک گذاشته شوند وجود دارند ‪.‬‬
‫این قسمت عمل های خاصی برای هر منبع بصورت محلی پیاده سازی می کنند ‪ .‬این‬
‫منابع می تواند فیزیکی یا منطقی باشد ‪.‬‬
‫توانایی بیشتر الیه ی ‪ fabric‬باعث پیچیده و قوی تر شدن اعمالی که به اشتراک گذاشته‬
‫می شود می گردد در عین حال اگر شرط هایی را بر روی منابعی که در این الیه قرار دارند‬
‫اعمال کنیم ‪ ,‬استفاده از ان زیرساخت ساده تر می شود ‪.‬‬
‫‪grid computing‬‬
‫معماری ‪grid‬‬
‫‪28‬‬
‫‪ : Connectivity ‬برقراری ارتباط ساده و امن‬
‫پروتکل های اصلی برای مبادله ی داده و همچنین تصدیق فرستنده و گیرنده را فراهم‬
‫می اورد ‪.‬‬
‫پروتکل های تصدیق که بر روی سرویس های انتقال قرار گرفته اند مکانیزمی امن مبتنی بر‬
‫الگوریتم های رمزنگاری برای شناسایی و تصدیق کاربران و منابع را فراهم می اورند ‪.‬‬
‫‪grid computing‬‬
‫معماری ‪grid‬‬
‫‪29‬‬
‫‪ : Resource ‬به اشتراک گذاشتن یک منبع‬
‫این الیه از اتصال امن با منبع ‪ ,‬راه اندازی ‪ ,‬نظارت و کنترل بر منبع را بر عهده دارد ‪ .‬که از‬
‫طریق الیه ‪ connectivity‬با منابع ارتباط برقرار می کند ‪.‬‬
‫پروتکل هایی که در این الیه وجود دارند ‪ )1 :‬اطالعاتی ‪ )2‬مدیریتی‬
‫اطالعاتی ‪ :‬برای گرفتن اطالعات در مورد ساختار و حالت کنونی منبع استفاده می شود ‪.‬‬
‫مدیریتی ‪ :‬مشخص کردن نوع دسترسی به منابع استفاده می شود که ممکن است دارای‬
‫پروتکل های نظارتی بر روی عمل انجام شده ‪ ,‬داشته باشند ‪.‬‬
‫‪grid computing‬‬
‫معماری ‪grid‬‬
‫‪30‬‬
‫‪ : Collective ‬هماهنگی چندین منبع‬
‫شامل پروتکل هایی که مربوط به یک منبع مشخص نمی شود ‪ ,‬بلکه مربوط به مجموعه ای‬
‫از منابع است‪.‬‬
‫مدل ها و ابزار های برنامه نویسی از توابع این الیه استفاده می کنند و همچنین سرویس‬
‫های این الیه باید به مسائل امنیت و سیاست ها نیز بپردازند ‪.‬‬
‫قسمت هایی که در این الیه وجود دارد خیلی خاص _منظوره هستند و به کاربرد خاص‬
‫مربوط می شوند و با توجه به نیازهای سازمان مجازی تولید می شوند اما بعضی عمومی‬
‫بوده و در همه کاربرد ها دیده می شوند ‪.‬‬
‫خیلی مهم است که این توابع بصورت استاندارد پیاده سازی شوند ‪.‬‬
‫‪grid computing‬‬
‫‪31‬‬
‫معماری ‪grid‬‬
‫‪Application ‬‬
‫کاربر با ان در تماس است ‪ .‬برنامه های کاربردی که در سازمان مجازی کار می کند در این‬
‫الیه می باشد ‪.‬‬
‫برنامه ها می توانند هر سرویسی که در هر الیه قرار گرفته استفاده کنند ‪.‬‬
‫الزم به ذکر است که الیه ‪ application‬می تواند بسیاربزرگ باشد و همچنین می تواند‬
‫‪ framework‬ای در این الیه پیاده سازی کرد که برنامه های اصلی روی ان اجرا شوند ‪.‬‬
‫‪grid computing‬‬
grid ‫معماری سرویس گرای‬
32
grid computing
‫معماری سرویس گرای ‪grid‬‬
‫‪33‬‬
‫‪ OGSA ‬بر روی ‪ web service‬ساخته شده است که چیز های اصلی برای استفاده ی‬
‫‪ grid service‬را فراهم می کند ‪.‬‬
‫‪ Web service‬ای که با استاندارد های ‪ OGSA‬همخوانی داشته باشد ‪grid service ,‬‬
‫نامیده می شود ‪.‬‬
‫‪ OGSA‬ساختار های الزم برای ساخت سیستم های توزیع شده را فراهم می اورند و‬
‫شامل ‪ interface‬های استاندارد و ‪ behavior‬های الزم برای ساخت یک نمونه از‬
‫سرویس خاص ‪ ,‬مدیدیت طول عمر سرویس و مدیریت گروهی سرویس ها می باشد ‪.‬‬
‫‪grid computing‬‬
‫معماری سرویس گرای ‪grid‬‬
‫‪34‬‬
‫‪: Open grid service infrastructure ‬‬
‫برای ساخت یک سرویس تنها یک زبان توصیف ‪ WSDL‬کافی نیست ‪ .‬ما همچنین به یک‬
‫استاندارد برای ‪ interface‬ها نیاز داریم ‪.‬‬
‫برای نمونه مکانیزم گزارش خطا باید سرویس های مختلف یکسان باشد تا سرویس کنترل‬
‫خطا بتواند کار خود را به درستی انجام دهد ‪ .‬این استاندارد در ‪ OGSA‬به وسیله ی ‪OGSI‬‬
‫فراهم می شود ‪.‬‬
‫با استفاده از ترکیبی از ‪ WSDL‬و ویژگی های قابل خواندن توسط انسان ‪OGSI ,‬‬
‫مکانیزم هایی برای نامیدن ‪ ,‬مدیریت طول عمر ‪ ,‬مانیتورینگ ‪ ,‬گروه بندی و مبادله ی‬
‫اطالعات بین قسمت ها که ‪ grid service‬نامیده می شود ؛ فراهم می کند ‪.‬‬
‫‪grid computing‬‬
grid ‫معماری سرویس گرای‬
35
grid computing
‫قسمت های مختلف ‪OGSI‬‬
‫‪36‬‬
‫‪: Grid service ‬‬
‫در سیستمی که سرویس ها می توانند بصورت پویا ایجاد شوند ‪ ,‬باید بین تعریف یک‬
‫سیستم و نمونه های ان تفاوت قائل شد ‪.‬‬
‫‪ OGSI‬این مفاهیم را به صورت ‪ Grid service description‬و ‪grid service instance‬‬
‫معرفی می کند و قابلیت مدیریت انها را دارد ‪.‬‬
‫‪grid computing‬‬
‫قسمت های مختلف ‪OGSI‬‬
‫‪37‬‬
‫‪ Service state metadata ‬و اطالعات داخلی ‪:‬‬
‫‪ OGSI‬مکانیزمی به نام ‪ Service data‬برای ارائه ‪ metadata‬و داده های مربوط به‬
‫حالت سرویس معرفی می کند ‪.‬‬
‫‪ Client‬میتواند از نمونه ی سرویس اطالعاتی بخواهد ‪ .‬به عنوان نمونه می تواند در‬
‫خواست کند که سرویس ‪ ,‬خودش را توصیف کند یا اطالعاتی در مورد ‪ interface‬ان ‪ ,‬از‬
‫او بخواهد ‪.‬‬
‫‪grid computing‬‬
‫قسمت های مختلف ‪OGSI‬‬
‫‪38‬‬
‫‪ ‬نامیدن و تحلیل نام ‪:‬‬
‫‪ OGSI‬یک الگوی نامیدن دو سطحی برای نمونه ی سرویس ها فراهم می کند ‪.‬‬
‫یک نمونه می تواند یکی یا بیشتر ‪ Grid service handle‬داشته باشد که در واقع یک نام‬
‫ساده با طول عمر زیاد برای ان نمونه است ‪.‬‬
‫این اسم در فرم )‪ Uniform Resource Identifier (URI‬خواهد بود ‪.‬‬
‫‪grid computing‬‬
‫قسمت های مختلف ‪OGSI‬‬
‫‪39‬‬
‫‪ ‬مدل خطا ‪:‬‬
‫‪ OGSI‬یک مدل استاندارد برای خطاهایی که یک سرویس ممکن است صادر کند ‪ ,‬تعریف‬
‫می کند ‪.‬‬
‫این خطا ها شامل تولیدکننده و زمان خطا ‪ ,‬یک توضیح اختیاری در مورد خطا و همچنین‬
‫عوامل خطا است ‪.‬‬
‫‪grid computing‬‬
‫قسمت های مختلف ‪OGSI‬‬
‫‪40‬‬
‫‪ ‬سرویس گروه ها ‪:‬‬
‫‪ OGSI‬ابزار هایی برای مدیریت گروهی از سرویس ها دارد ‪.‬‬
‫این گروه بندی می تواند برای مقاصد گوناگونی استفاده شود ‪ .‬به عنوان مثال برای انجام‬
‫یک ‪ Operation‬خاص بر روی کل اعضای گروه ‪.‬‬
‫‪ Interface , OGSI‬های مختلفی را تعریف می کند که در جدول زیر خالصه شده است ‪.‬‬
‫‪grid computing‬‬
41
grid computing
42
THE END
grid computing