ایده توزیع کار به منظور دستیابی به سرعت و به عبارت دیگر یک صرفه جویی در زمان قرن هاست که مدنظر بوده است. تاریخ پر است از این مثالها - تفکر در ساخت هرم ها، چیدن کتان در کشتزار و یا یورش گردانهای نظامی در جنگ که میتوانند به شما ایده بدهند. این ایده به طور طبیعی حتی پیش تر نیز وجود داشته که کندوی عسل یک مثال بارز از آن است. بسیاری از تکنیکهای مدرن علمی از قبیل میکرو آرایهها و 98-well plate نیز کارها را برای دستیابی به سرعت، توزیع میکنند. در اوایل قرن بیستم، کامپیوتر مثل شخصی بود که کارهای محاسباتی را که به صورت توزیع شده نیز قابل انجام بودند، به تنهایی انجام میداد (کارهایی از قبیل جدول بندی دادههای سرشماری).
به طور خلاصه یک گرید عبارتست از: محاسبه توزیع شده قابل توسعه در مقابل Platformهای ناهمگن چندگانه، سازمانها و مکان ها. اصطلاح قابل توسعه یا همان Scalable، به نیاز عملیاتی و مدیریتی منابع توزیع شده به صورت امن، برمی گردد.
همانگونه که در شکل زیر نشان داده شده است، کنترل یک گرید توسط نرم افزار Middleware، مدیریت میشود که یک مجموعه استاندارد سازگار از سرویسهای گرید را برای Applicationها فراهم میکند تا با منابع شبکه ای، محاسبه ای، اطلاعات و ذخایر داده به صورت امن تعادل داشته باشند.
بود که Applicationها توسط مهندسان و محققان، روی کلاسترهای محاسباتی با کارایی بالا اجرا میشدند.
گریدهای امروزی میتوانند در سازمانهای گوناگون از قبیل تحقیقات علمی، کشف داروها، تجزیه و تحلیل ریسکهای مالی، پیش بینی آب و هوا، طراحی، شبیه سازی، هوش تجاری و محیطهای پردازش تراکنش، در سرتاسر جهان یافت شوند.
همچنین از مشخصههای معمول گرید میتوان به موارد زیر اشاره کرد:
* مجازی سازی
* اشتراک گذاری منابع
* فراهم آوردن منابع پویا
1-2 مسأله گرید:
محاسبات توری بدین وسیله جدا کردن خود از محاسبات توزیعی از طریق تمرکز روی اشتراک گذاری منابع، هماهنگی، قابلیت مدیریت و کارایی بالا، به یک عنصر مهم در صنعت کامپیوتر تبدیل شده است.
تمرکز روی «اشتراک گذاری منابع»، مسأله گرید نامیده میشود که میتواند به عنوان مجموعه از مسایل مرتبط به هم با اشتراک گذاری منابع بین مجموعهای از گروهها تعریف شود.
2-2 گرید و مفاهیم دیگر از محاسبات توزیعی:
یکی از مشخصههای اساسی گرید، توانایی آن در مجازی سازی application ها، اطلاعات و منابع دیگر IT مانند شبکه ها، سرویس دهندهها و غیره میباشد.
مجازی سازی عبارتست از یک نمایش منطقی از منابعی که از مکان فیزیکی خود جدا شده اند. در حقیقت مجازی سازی، applicationها و منابعا طلاعاتی مرتبط به زیربنای IT را مجازی سازی میکند. توجه به این نکته مهم است که بسیاری از گریدهای امروزی، اغلب از منابع IT غیرمجازی ساخته شده اند.
همچنین گرید، از یک نوع معماری مشهور به نام معماری سرویس گرا (Service-Oriented Architecture) یا SOA برای ساختن و مدیریت applicationها حمایت و بهره برداری میکند.
معماری سرویس گرا (SOA)، یک روش برای معماری نرم افزار جهت حمایت از کارها و سرویسهای تکراری میباشد.
3-2 محاسبات توری چیست؟
محاسبات توری، برای اشخاص مختلف معانی مختلفی میتواند داشته باشد. یک دیدگاه کلی که اغلب به عنوان یک مقیاس برای قدرت گریدها استفاده میشود جایی است که کاربران یا لوازم الکتریکی از طریق پریزهای دیوار به الکتریسیته دسترسی پیدا میکنند بدون در نظر گرفتن اینکه الکتریسیته دقیقاً کجا و چگونه تولید میشود.
اگر از این دید به محاسبات توری نگاه کنیم، فرآیندی منتشر شونده است و کاربران شخصی یا اپلیکیشنهای مشتری، به منابع محاسباتی (پردازنده ها، حافظه، دیتا، برنامههای کاربردی و امثال آن) که مورد نیازشان است دسترسی دارند با آگاهی کم و یا بدون آگاهی از اینکه آن منابع کجا واقع شده اند و یا از چه تکنولوژیهای زیرین سخت افزار، سیستم عامل و غیره استفاده میکنند.
اگر این دیدگاه را به عنوان یک هدف نهایی در نظر بگیریم، قدمهای کوچکتر بسیاری وجود دارند که برای رسیدن به این هدف باید برداشته شوند. این قدمهای کوچک هر یک فواید خاص خود را دارند. بنابراین محاسبات توری میتواند به عنوان سفر در امتداد مسیری دیده شود که در این مسیر تکنولوژیهای متنوع و راه حلهای متنوع با هم ادغام میشوند و ما را به هدف نهاییمان نزدیکتر میکند. محاسبات توزیع شده تکنولوژیهایی را بنا میکند که در پشتیبانی برنامههای کاربردی سازمان گذر در حال تکاملند و این به اشتراک گذاشتن منابع در یک کلمه به معنی مجازی سازی است.
مجازی سازی از میان تکنولوژیها، پلتفرمها و سازمانها.
این نوع مجازی سازی فقط از طریق به کارگیری استانداردهای باز قابل دستیابی است. استاندارهای باز اطمینان میدهند که برنامههای کاربردی هر آنچه را که منابع اختصاصی میتوانند در اختیار آنها قرار دهند را میتوانند استفاده کنند.
محیطی که بتواند توانایی دسترسی به منابع به طور اشتراکی و شفاف را از میان یک محیط توزیع شده نامتجانس ایجاد کند، نه تنها به تکنولوژی نیاز دارد که منابع معین را مجازی سازی کند بلکه به تکنولوژیها و استانداردهایی در زمینه زمانبندی، امنیت، حسابداری، مدیریت سیستم و مانند آن نیاز خواهد داشت.
محاسبات توری میتواند به عنوان هر تنوع از سطوح مجازی سازی در امتداد یک پیوستار تعریف شود. این پیوستار در شکل زیر شرح داده شده است.
با شروع از پایین ترین قسمت سمت چپ ملاحظه میکنید که سیستمهای واحدی که از یکدیگر جدا هستند. مجازی سازی با توانایی تکه تکه کردن یک ماشین به ماشینهای مجازی شروع میشود. همین طور که در این طیف حرکت میکند شروع میکنید به مجازی سازی منابع مشابه.
مجازی سازی نه تنها برای سرویس دهندهها و پردازندهها به کار میرود بلکه برای حافظه، شبکهها و حتی برنامههای کاربردی نیز به کار برده میشود. با حرکت در این طیف به مجازی سازی منابع نامتشابه میرسیم. قدم بعدی یک مجازی سازی جسورانه تر است که نه تنها در یک مرکز دادهای خاص یا در یک دپارتمان است بلکه در سرتاسر یک سازمان توزیع شده صورت میپذیرد و سپس در آخر مجازی سازی فوق العاده جسورانهای صورت میگیرد یعنی مجازی سازی در سطح اینترنت. جایی که شما میتوانید دقیقاً به منابع یک مجموعه از و تهیه کنندگانشان دسترسی داشته باشید و یا ممکن است اطلاعات را در سرتاسر یک شبکه از شرکاء، ادغام کنید.
محاسبات توری شامل یک مجموعه در حال تکامل از استانداردهای باز برای سرویسهای وب و واسطهایی است که سرویسها و یا منابع محاسبات در دسترس روی اینترنت را میسازند. اگر توجهمان را روی محاسبات توزیع شده متمرکز کنیم، میتوانیم یک تعریف برای محاسبات توری ارایه دهیم برای اینکه در سطح اینترنت به صورت محاسبات توزیع شده باشد. هدف این است که یک خطا ایجاد کنیم به این صورت که کاربر یک کامپیوتر مجازی ساده و بزرگ و قدرتمند را تصور کند در حالی که این کامپیوتر قدرتمند یک مجموعه از سیستمهای به هم متصل و به احتمال زیاد نامشابه است که منابع متنوعی را به اشتراک گذاشته است.
4-2 فواید محاسبات توری:
وقتی که یک گرید بر پا میشود با نیازهای یک مجموعه از مشاغل مواجه خواهد بود. برای سازگاری بهتر قابلیتهای محاسبات توری با آن نیازمندیها، بهتر آنست که تعدادی از انگیزههای مشترک برای استفاده از محاسبات توری را در ذهن داشته باشید.
1-4-2 بهره برداری از منابع مورد استفاده
یکی از کاربردهای اصلی محاسبات توری این است که یک برنامه کاربردی موجود را بر روی یک ماشین دیگر اجرا کنیم. ماشینی که برنامه کاربردی در حالت معمولی روی آن اجرا میشود ممکن است به طور غیرطبیعی مشغول باشد که jobهای مورد بحث میتوانند روی یک ماشین بیکار در جای دیگری از گرید اجرا شوند.
حداقل دو پیشنیاز برای این سناریو وجود دارد:
اول اینکه برنامههای کاربردی باید از راه دور قابل اجرا باشند و سر بار اضافی ایجاد نشود. دوم اینکه ماشین راه دور باید این قابلیت را داشته باشد که با هر سخت افزار، نرم افزار، یا هر منبع موردنیاز خاص که توسط برنامه کاربردی تحمیل شده، مواجه شود.
در اغلب سازمانها تعداد زیادی از منابع محاسباتی وجود دارد. اغلب ماشینهای desktop کمتر از 5% زمان در یک روز کاری مشغولند. در برخی از سازمانهای حتی ماشینهای سرور هم میتوانند نسبتاً بیکار باشند. محاسبات توری یک Framework برای بهره برداری از این منابع مورد استفاده را ایجاد میکند بنابراین امکان افزایش کارایی کاربرد منابع را ایجاد میکند.
منابع پردازشی فقط آنهایی نیستند که ممکن است مورد استفاده باشند. اغلب ماشینها ممکن است ظرفیت درایورهای دیسک بسیار بزرگ داشته باشند که مورد استفاده قرار نگرفته اند. محاسبات توری یا به طور خاص تر یک data گرید برای جمع کردن این حافظه استفاده نشده در یک مخزن دادهای مجازی بسیار بزرگ تر به کار رود. اگر یک دسته job به خواندن یک مقدار زیادی داده نیاز داشته باشند این دادهها میتواند به صورت خودکار روی نقاط استراتژیکی گوناگون روی گرید منعکس شود. بنابراین اگر job قرار باشد روی یک ماشین دور در گرید اجرا شود، بنابران دیتا الان آنجاست و نیازی به جا به جا شدن دیتا به آن نقطه دور نیست و این مسأله به وضوع باعث ایجاد کارایی میشود.
همچنین این کپیهای دیتا میتوانند در هنگام زیاد دیدن کپیهای اصلی و یا به هنگام عدم دسترسی به آنها مورد استفاده قرار گیرند.
از دیگر فواید گرید، کاربرد منابع به صورت متعادل تر است. ممکن است گاهی یک سازمان حداکثر فعالیت غیرمنتظرهای داشته باشد که به منابع بیشتری نیاز خواهد داشت.اگر برنامههای کاربردی قابل فعال شدن به وسیله گرید باشند، میتوانند به هنگام رخداد این حداکثرها، به ماشینهای مورد استفاده فرستاده شوند. در حقیقت برخی از پیاده سازیهای گرید قادرند که jobهای کامل شده را به صورت جزیی مهاجرت دهند.
به طور کلی یک گرید میتواند یک راه حل برای متعادل کردن سربارهای یک مجموعه وسیعتر از منابع باشد و این خاصیت برای پردازنده ها، حافظه و هر منبع دیگری که در یک گرید قرار دارد به کار میرود.
2-4-2 ظرفیت پردازنده موازی (parallel CPU capacity)
پتانسیل ظرفیت پردازنده موازی، یکی از معمول ترین دیدگاهها و ویژگیهای جذاب گرید محسوب میشود. به علاوه برای نیازهای علمی و نظری از قبیل قدرت محاسبات، در حال پیشبرد یک تکامل تدریجی در صنایعی از قبیل رشته بیوشیمی، مدلسازی مالی، اکتشاف نفت و غیره است.
صفت مشترک هر یک از این کاربردها این است که برنامههای کاربردی نوشته شده از الگوریتمهایی استفاده میکنند که میتوانند به قسمتهای در حال اجرای مستقل تقسیم شوند. اگر یک برنامه کاربردی گرید که شدیداً به پردازنده وابسته است را در نظر بگیریم میبینیم که بسیاری از زیر jobهای کوچکتر روی هر یک از ماشینهای مختلف گرید در حال اجرا هستند. در این حالت به عنوان مثال یک برنامه کاربردی در یک دهم زمانی به پایان میرسد که اگر 10 بار از پردازنده استفاده میکرد به پایان میرسید.
برای گرید enable کردن یک برنامه کاربردی فاکتورهای زیادی وجود دارد. یکی اینکه باید بدانیم همه برنامههای کاربردی نمی توانند به صورت موازی در یک گرید اجرا شوند. به علاوه هیچ ابزار عملی برای تبدیل برنامههای کاربردی دلخواه برای بهره برداری از قابلیتهای موازی یک گرید وجود ندارد. تعدادی ابزار عملی وجود دارد که به برنامه نویسان در نوشتن برنامههای کاربردی موازی گرید مهارت میبخشد. هر چند تبدیل برنامههای کاربردی، علمی است که دوران طفولیت خود را سپری میکند. این کار به نظر مشکل میرسد و حتی اگر در موقعیتی ممکن باشد، به ریاضیات و استعدادهای برنامه نویسی نیاز دارد. برنامههای کاربردی جدید که امروزه نوشته میشوند شدیداً وابسته به محاسباتند و میتوانند به صورت موازی قابل اجرا بر روی یک گرید باشند.
3-4-2 منابع مجازی و سازمانهای مجازی برای مشارکت:
قابلیت دیگری که به وسیله آن محاسبات توری آشکار میشود ایجاد یک محیط همکاری بین گروه بزرگتری از افراد است. در گذشته distributed computing قول این همکاری را داد و تا حدی هم به آن دست یافت. محاسبات توری میتواند این قابلیتها را برای گروه وسیعتر هم ایجاد میکند. زمانی که استانداردهای مهم عرضه میشوند، سیستمهای ناهمگن را قادر به همکاری با یکدیگر میکنند تا تصویر یک سیستم مجازی بزرگ را ایجاد کند که تنوع وسیعی از منابع را عرضه میکند. کاربران گرید میتوانند به صورت خودکار به یک تعداد سازمانهای مجازی سازماندهی شوند که هر یک دارای نیازها و سیاستهای متفاوتی هستند. این سازمانهای مجازی میتوانند منابع خود را به صورت جمعی به صورت یک گرید به اشتراک بگذارند. این به اشتراک گذاشتن منابع با دیتا به فرم فایلها و پایگاه دادهها آغاز میشود. یک data گرید میتواند قابلیتهای دیتا را به چندین روش توسعه دهد. فایلها و پایگاه دادهها میتوانند تعداد زیادی سیستم را به هم پل بزنند. بنابراین یک سیستم واحد با ظرفیت بالاتر خواهیم داشت. چنین پل زدنی میتواند نرخ انتقال دیتا را از طریق تکنیکهای انشعاب (striping)، بهبود بخشد. دیتا میتواند به صورت دونسخهای برای سرویس دهی به صورت پشتیبان، وجود داشته باشد و همچنین میتواند روی ماشینهایی که احتمال نیاز آنها به دیتا بیشتر است میزبان شوند. به انضمام تکنیکهای پیشرفته زمانبندی.
به اشتراک گذاشتن محدود به فایلها نیست و شامل منابع دیگری از قبیل منابع نرم افزاری، سرویس ها، مجوزها و مانند آن نیز میشود.
شرکاء و کاربران گرید میتوانند اعضای چندین سازمان واقعی و مجازی باشند. گرید میتواد به اعمال قوانین امنیتی بین آنها و انجام سیاستها که اولویتهایی را برای هم منابع و هم کاربران برقرار میکند، کمک کند.
4-4-2 دستیابی به منابع اضافی:
همان گونه بیان کردیم، به علاوه پردازنده و منابع ذخیره (حافظه ها) یک گرید میتواند دسترسی به منابع دیگری را نیز به خوبی فراهم کند. منابع اضافی میتوانند در تعداد و یا ظرفیت اضافی فراهم شوند. برای مثال اگر کاربری نیاز به افزایش کل پهنای باند برای انجام یک جستجو در موتور جستجوی معدن دیتا داشته باشد، این کار میتواند بین ماشینهای گرید که به طور مستقل به اینترنت متصلند شکسته شود. در این روش با توجه به اینکه هر ماشین یک اتصال جداگانه به اینترنت دارد، قابلیت جستجوی کلی چند برابر خواهد بود. اگر ماشنها اتصال به اینترنت را به اشتراک نمی گذاشتند، چنین افزایش مؤثری در پهنای باند پدید نمی آمد. برخی از ماشینها ممکن است نرم افزاری گران داشته باشند که کاربران به آن نیازمندند.
در چنین حالتی کارهای کاربران میتواند به چنین ماشینهایی فرستاده شود و یک بهره وری کاملتری از مجوزها نرم افزار صورت گیرد.
برخی از ماشینها ممکن است دستگاههای ویژهای داشته باشند. شاید اغلب ما از پرینترهای راه دور با قابلیتهای رنگ بهتر یا سرعت بالاتر استفاده کرده باشیم. به طور مشابه، یک گرید میتواد به منظور ساخت تجهیزات ویژه دیگر به کار رود.
به عنوان مثال یک گرید میتواند دارای سرعت بالا و یک DVD writer خود تغذیه باشد که برای انتشار سریع یک تعداد داده استفاده میشود. در گرید ممکن است تعدادی از ماشینها به یک میکروسکوپ الکترونی دقیق متصل باشند که میتوانند از راه دور با آن کار کنند. در این حالت زمانبندی و تخصیص مسایل مهمی هستند و یک نمونه میتواند پیشاپیش به دستگاهی که میکروسکوپ را میزبانی میکند فرستاده شود. سپس کاربر میتواند از راه دور از ماشین استفاده کند و دید مناظر را تغییر دهد تا زمانی که تصویر مطلوب گرفته شود.
گرید میتواند توانایی دسترسی پرکار را ایجاد کند و همچنین توانایی تشخیص پزشکی از راه دور و استفاده ابزار جراحی رباتیک با فعل و انفعال دو طرفه را از یک مسافت دور فراهم کند. امروزه ما راه اندازهای راه دور برای چاپگرها را داریم و سرانجام مااستانداردهای قابل فعال شدن با گرید را در بسیاری از دستگاهها و منابع نامتعارف خواهیم دید. همه اینها گرید را به یک سیستم بزرگ با یک مجموعه از منابع تبدیل خواهد کرد که چیزی فراتر از چیزی است که فقط روی یک ماشین قراردادی در دسترس است.
5-4-2 توازن منابع:
یک گرید تعداد زیادی از منابعی را که به وسیله ماشینهای شخصی شرکت میکنند را به شکل یک سیستم واحد بزرگ، هم پیمان میکند. گرید میتواند برای برنامههای کاربردیای که قابل فعال شدن در گرید هستند یک توازن منابع را به وسیله زمان بندی کارهای روی ماشینهای گرید که کاربرد کمی دارند، ایجاد کند به گونهای که در شکل زیر نمایش داده شده است.
این ویژگی ارزش اداره حداکثر بارهای فعالیتی را که گاهی در یک سازمان بزرگ رخ میدهد را ثابت میکند. این مسذله به دو طریق میتواند اتفاق بیفتد:
یک اوج غیرمنتظره میتواند در ماشینهای نسبتاً بیکار در گرید ریشه داشته باشد.
اگر در حال حاضر یک گرید کاملاً در حال استفاده باشد، کاری با کمترین اولویت که در حال انجام روی گرید است میتواند به صورت موقتی معلق شود و یا حتی لغو شود و بعداً دوباره انجام شود تا بدین طریق فرصتی را برای کاری با اولویت بالاتر ایجاد کند. بدون داشتن یک زیربنا برای گرید چنین تصمیمات هماهنگی به سختی اولویت بندی و اجرا میشوند.
گاهی یک پروژه ممکن است به طور ناگهانی اهمیتش افزایش یابد با یک مهلت خاص که به آن اختصاص داده شده. یک گرید اگر خیلی بسته باشد، نمی توانند معجزه کند و به پشتیبانی از مهلت زمانی توسعه یابد. هر چند اگر اندازه یک کار مشخص باشد، و اگر کاری باشد که قابل شکسته شدن به تعدادی کار کوچکتر باشد و منابع کافی نیز در دسترس باشند، پس از اینکه کار با اولویت کمتر قبضه شد، گرید میتواند قدرت پردازش بالایی را برای حل مسایل ایجاد کند.
6-4-2 قابلیت اطمینان
سیستمهای محاسبه قراردادی high-end سخت افزار گرانی را برای افزایش قابلیت اطمینان به کار میبرند. این سخت افزارها از چیپهای فراوانی که نتایج را ارایه میکنند تشکیل شده اند و شامل مناطقی که یک طبقه بندی از عیوب سخت افزار را ترمیم میدهند.
همچنین ماشینها از پردازندههای دوتایی با قابلیت hot plugability استفاده میکنند به گونهای که هنگامی که یکی از آنها از کار افتاد دیگری بتواند جایگزین آن شود. همچنین منابع برق و سیستمهای خنک کننده نیز به صورت دو نسخهای به کار میروند. سیستمهایی نیز روی منابع قدرت اعمال شده اند که میتوانند به هنگام توقف برق، ژنراتورها را روشن نگه دارند. همه اینها سیستمی مطمئن را برای ما ایجاد میکنند که به واسطه دو برابر کردن کامپیوننتها بسیار گران قیمت است.
در آینده یک دیدگاه مکمل که بر قابلیت اطمینان تکیه میکند خواهیم دید که بر نرم افزار و سخت افزار تکیه میکند. یک گرید فقط شروعی برای چنین تکنولوژیای است. در یک گرید سیستمها از نظر جغرافیایی به گونهای نسبتاً ارزان پراکنده شده اند.
بنابراین اگر یک خرابی در برق یا دیگر منابع پیش بیاید روی دیگر قسمتها گرید تأثیر نمی گذارد. هنگامی که یک نقص تشخیص داده میشود، نرم افزار مدیریت گرید به صورت خودکار میتواند کارها را به دیگر ماشینهای گرید منتقل کند. از طریق گرید همان گونه که در شکل زیر میبینید چند کپی از کارهای مهم میتوانند روی ماشینهای گرید اجرا شوند.
چنین سیستمهای گرید، از محاسبات خودگردان استفاده میکنند که نوعی نرم افزار است که به طور خودکار مشکلات گرید را شاید حتی قبل از اینکه یک اپراتور یا مدیر از آن آگاه شود، ترمیم میکند.
7-4-2 مدیریت:
هدف مجازی سازی منابع روی گرید و سیستمهای نامتجانس با قابلیت اطمینان بالاتر، موقعیتهای جدیدی برای مدیریت بهتر یک زیر بنای IT بزرگتر و توزیع شده تر ایجاد خواهد کرد. اگر ظرفیت و بهره وری را مجازی کنیم، کنترل هزینههای یک سازمان بزرگتر برای سازمانهای IT آسانتر خواهد بود.
در گذشته هر پروژ مسؤول تحقیقات و هزینههای مخصوص خودش بود. این منابع ممکن است تا زمانی استفاده شوند که پروژه دیگری با مشکل مواجه شود و به واسطه رخدادهای غیرمنتظره نیاز به منابع بیشتری داشته باشد. با یک دید کلی تر، یک گرید میتواند باعث شود که کنترل چنین موقعیتهایی آسان شود. همانطور که در شکل زیر میبینید مدیران میتوانند روی تعداد سیاستهای اشتراکی ساختن منابع و رقابت برای به دست آوردن منابع تأثیر بگذارند.
هنگامی که پشتیبانی موردنیاز باشد، کار گرید میتواند به ماشینهای دیگر مسیردهی شود بدون اینکه پروژه درگیر از کار بیفتد