محاسبات شبکهای (Grid Computing) چیست؟
محاسبات شبکهای یک زیرساخت محاسباتی است که منابع رایانهای پراکنده در مکانهای جغرافیایی مختلف را برای دستیابی به یک هدف مشترک ترکیب میکند. تمام منابع استفاده نشده در چندین رایانه با هم جمعآوری میشوند و برای یک وظیفه واحد در دسترس قرار میگیرند. سازمانها از محاسبات شبکهای برای انجام وظایف بزرگ یا حل مسائل پیچیدهای که انجام آنها با یک رایانه واحد دشوار است، استفاده میکنند.
به عنوان مثال، هواشناسان از محاسبات شبکهای برای مدلسازی آب و هوا استفاده میکنند. مدلسازی آب و هوا یک مسئله محاسباتی فشرده است که نیاز به مدیریت و تجزیه و تحلیل دادههای پیچیده دارد. پردازش حجم عظیمی از دادههای آب و هوا در یک رایانه واحد کند و زمانبر است. به همین دلیل هواشناسان تجزیه و تحلیل را بر روی زیرساخت محاسبات شبکهای پراکنده جغرافیایی اجرا میکنند و نتایج را با هم ترکیب میکنند.
چرا محاسبات شبکهای مهم است؟
سازمانها به دلایل مختلفی از محاسبات شبکهای استفاده میکنند.
- کارایی:
- با محاسبات شبکهای، میتوانید یک وظیفه عظیم و پیچیده را به چندین زیروظیفه تقسیم کنید. چندین رایانه میتوانند به طور همزمان روی زیروظایف کار کنند و محاسبات شبکهای را به یک راه حل محاسباتی کارآمد تبدیل کنند.
- هزینه:
- محاسبات شبکهای با سختافزار موجود کار میکند، به این معنی که میتوانید رایانههای موجود را مجدداً استفاده کنید. میتوانید ضمن دسترسی به منابع محاسباتی اضافی خود، در هزینهها صرفهجویی کنید. همچنین میتوانید به طور مقرون به صرفه از منابع موجود در ابر (Cloud) استفاده کنید.
- انعطافپذیری:
- محاسبات شبکهای به یک ساختمان یا مکان خاص محدود نمیشود. میتوانید یک شبکه محاسبات شبکهای را راهاندازی کنید که چندین منطقه را در بر میگیرد. این امر به محققان در کشورهای مختلف اجازه میدهد تا به طور مشترک با همان قدرت ابررایانه کار کنند.
موارد استفاده از محاسبات شبکهای چیست؟
موارد زیر برخی از کاربردهای رایج محاسبات شبکهای هستند:
- خدمات مالی:
- مؤسسات مالی عمدتاً از محاسبات شبکهای برای حل مسائلی که شامل مدیریت ریسک است، استفاده میکنند. با استفاده از قدرت محاسباتی ترکیبی در شبکه، میتوانند مدت زمان پیشبینی تغییرات سبد سهام در بازارهای بیثبات را کوتاه کنند.
- بازی:
- صنعت بازی از محاسبات شبکهای برای ارائه منابع محاسباتی اضافی برای توسعهدهندگان بازی استفاده میکند. سیستم محاسبات شبکهای وظایف بزرگ مانند ایجاد طرحهای درون بازی را تقسیم میکند و آنها را به چندین ماشین اختصاص میدهد. این امر منجر به زمان پاسخگویی سریعتر برای توسعهدهندگان بازی میشود.
- سرگرمی:
- برخی از فیلمها جلوههای ویژه پیچیدهای دارند که برای ایجاد آنها به یک رایانه قدرتمند نیاز است. طراحان جلوههای ویژه از محاسبات شبکهای برای تسریع جدول زمانی تولید استفاده میکنند. آنها نرمافزارهای پشتیبانی شده توسط شبکه دارند که منابع محاسباتی را برای رندر کردن گرافیکهای جلوههای ویژه به اشتراک میگذارند.
- مهندسی:
- مهندسان از محاسبات شبکهای برای انجام شبیهسازیها، ایجاد مدلها و تجزیه و تحلیل طرحها استفاده میکنند. آنها برنامههای تخصصی را به طور همزمان بر روی چندین ماشین اجرا میکنند تا حجم عظیمی از دادهها را پردازش کنند. به عنوان مثال، مهندسان از محاسبات شبکهای برای کاهش مدت زمان شبیهسازی مونت کارلو، یک فرآیند نرمافزاری که از دادههای گذشته برای پیشبینیهای آینده استفاده میکند، استفاده میکنند.
اجزای محاسبات شبکهای چیست؟
در محاسبات شبکهای، شبکهای از رایانهها برای انجام یک وظیفه مشابه با هم کار میکنند. اجزای یک شبکه محاسبات شبکهای به شرح زیر است:
- گرهها (Nodes):
- رایانهها یا سرورهای موجود در یک شبکه محاسبات شبکهای گره نامیده میشوند. هر گره منابع محاسباتی استفاده نشده مانند CPU، حافظه و فضای ذخیرهسازی را به شبکه شبکه ارائه میدهد. در عین حال، میتوانید از گرهها برای انجام وظایف غیرمرتبط دیگر نیز استفاده کنید. محدودیتی در تعداد گرهها در محاسبات شبکهای وجود ندارد. سه نوع اصلی گره وجود دارد: گرههای کنترل، ارائه دهنده و کاربر.
- میانافزار شبکه (Grid Middleware):
- میانافزار شبکه یک برنامه نرمافزاری تخصصی است که منابع محاسباتی در عملیات شبکه را با برنامههای کاربردی سطح بالا متصل میکند. به عنوان مثال، درخواست شما برای قدرت پردازش اضافی از سیستم محاسبات شبکهای را مدیریت میکند.
- این نرم افزار اشتراک منابع موجود توسط کاربر را کنترل میکند تا از تحت فشار قرار دادن رایانههای شبکه جلوگیری کند. میانافزار شبکه همچنین امنیت را برای جلوگیری از سوء استفاده از منابع در محاسبات شبکهای فراهم میکند.
- معماری محاسبات شبکهای:
- معماری شبکه نشان دهنده ساختار داخلی رایانههای شبکه است. لایههای زیر به طور کلی در یک گره شبکه وجود دارند:
- لایه بالایی شامل برنامههای کاربردی سطح بالا مانند یک برنامه کاربردی برای انجام مدلسازی پیشبینی است.
- لایه دوم، که به عنوان میانافزار نیز شناخته میشود، منابع درخواستی توسط برنامههای کاربردی را مدیریت و تخصیص میدهد.
- لایه سوم شامل منابع رایانهای موجود مانند CPU، حافظه و فضای ذخیرهسازی است.
- لایه پایین به رایانه اجازه میدهد به یک شبکه محاسبات شبکهای متصل شود.
- معماری شبکه نشان دهنده ساختار داخلی رایانههای شبکه است. لایههای زیر به طور کلی در یک گره شبکه وجود دارند:
محاسبات شبکهای چگونه کار میکند؟
گرههای شبکه و میانافزار برای انجام وظیفه محاسبات شبکهای با هم کار میکنند. در عملیات شبکه، سه نوع اصلی گره شبکه سه نقش مختلف را ایفا میکنند.
- گره کاربر (User Node):
- گره کاربر رایانهای است که منابع به اشتراک گذاشته شده توسط سایر رایانهها در محاسبات شبکهای را درخواست میکند. هنگامی که گره کاربر به منابع اضافی نیاز دارد، درخواست از طریق میانافزار ارسال میشود و به سایر گرهها در سیستم محاسبات شبکهای تحویل داده میشود.
- گره ارائه دهنده (Provider Node):
- در محاسبات شبکهای، گرهها اغلب میتوانند بین نقش کاربر و ارائه دهنده جابجا شوند.
- گره ارائه دهنده رایانهای است که منابع خود را برای محاسبات شبکهای به اشتراک میگذارد. هنگامی که ماشینهای ارائه دهنده درخواستهای منابع را دریافت میکنند، زیروظایفی را برای گرههای کاربر انجام میدهند، مانند پیشبینی قیمت سهام برای بازارهای مختلف. در پایان فرآیند، میانافزار تمام نتایج را جمعآوری و تدوین میکند تا یک پیشبینی جهانی به دست آورد.
- گره کنترل (Control Node):
- گره کنترل شبکه را مدیریت میکند و تخصیص منابع محاسبات شبکهای را مدیریت میکند. میانافزار روی گره کنترل اجرا میشود. هنگامی که گره کاربر درخواستی برای یک منبع میکند، میانافزار منابع موجود را بررسی میکند و وظیفه را به یک گره ارائه دهنده خاص اختصاص میدهد.
انواع محاسبات شبکهای چیست؟
محاسبات شبکهای عموماً به شرح زیر طبقهبندی میشود:
- شبکه محاسباتی (Computational Grid):
- یک شبکه محاسباتی از رایانههای با کارایی بالا تشکیل شده است. این امر به محققان اجازه میدهد تا از قدرت محاسباتی ترکیبی رایانهها استفاده کنند. محققان از محاسبات شبکهای محاسباتی برای انجام وظایف فشرده منابع مانند شبیهسازیهای ریاضی استفاده میکنند.
- شبکه جمعآوری منابع (Scavenging Grid):
- در حالی که مشابه شبکههای محاسباتی است، شبکههای جمعآوری منابع CPU دارای بسیاری از رایانههای معمولی هستند. اصطلاح جمعآوری منابع فرآیند جستجوی منابع محاسباتی موجود در شبکهای از رایانههای معمولی را توصیف میکند. در حالی که سایر کاربران شبکه برای وظایف غیر مرتبط با شبکه به رایانهها دسترسی دارند، نرمافزار شبکه از این گرهها زمانی که آزاد هستند استفاده میکند. شبکه جمعآوری منابع به عنوان جمعآوری منابع CPU یا جمعآوری چرخه نیز شناخته میشود.