عکس پیش‌فرض نوشته

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

 

سیستم های محاسباتی توزیع شده به دو گروه تقسیم میشوند.

در محاسبات خوشه ای (Cluster Computing)، سخت افزار شامل مجموعه ای از PCها یا ایستگاه های کاری مشابه است که از طریق شبکه محلی پر سرعت به یکدیگر متصل میشوند؛ علاوه بر این، هر گره سیستم عامل یکسانی را اجرا میکند.

این وضعیت در محاسبات شبکه ای (Grid Computing) کاملاً متفاوت است. این گروه شامل سیستم های توزیع شده ای است که اغلب به صورت فدراسیونی از سیستم های کامپیوتری ساخته میشوند که هر سیستم ممکن است در دامنه مدیریتی مختلفی واقع شود و بر حسب نوع سخت افزار، نرم افزار و فناوری شبکه فرق کنند.

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

 

سیستم های محاسباتی خوشه ای

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

زمانی، ساخت ابرکامپیوترها با استفاده از فناوری های موجود و قرار دادن کامپیوترهای نسبتاً ساده در شبکه پر سرعت، از نظر اقتصادی و تکنیکی جذاب بود.

تقریباً در تمام موارد، محاسبات خوشه ای برای برنامه نویسی موازی مورد استفاده قرار گرفت که در آن، یک برنامه (محاسباتی) در چندین ماشین به طور موازی اجرا میشود.

 

نمونه معروفی از کامپیوتر خوشه ای، توسط خوشه های Beowulf مبتنی بر لینوکس ساخته شد که پیکربندی کلی آن در تصویر زیر مشاهده میشود.

سیستم های محاسباتی خوشه ای

 

هر خوشه شامل مجموعه ای از گره (Computer Node) های محاسباتی است که توسط یک گره اصلی (Master Node) کنترل و دستیابی میشوند.

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

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

بخش مهمی از میان افزار، از کتابخانه هایی برای اجرای برنامه های موازی (کتابخانه های موازی یا Parallel Libs) تشکیل شده است.

بسیاری از این کتابخانه ها فقط امکانات ارتباطی مبتنی بر پیام را فراهم میکنند، اما نمیتوانند فرآیند معیوب، امنیت و … را اداره کنند.

 

روش دیگر در مقابل این سازمان سلسله مراتبی، روش متقارنی است که در سیستم Morix استفاده میشود.

Morix سعی میکند تصویر تک سیستمی (Single System Image) از خوشه را فراهم سازد. معنایش این است که کامپیوتر خوشه ای، نهایت شفافیت توزیع را برای فرآیند فراهم میکند به طوری که گویی تنها یک کامپیوتر است.

همانطور که اشاره شد، تهیه چنین تصویری تحت تمام این شرایط، غیرممکن است.

در مورد Morix، درجه بالایی از شفافیت به این صورت ایجاد میشود که اجازه میدهد فرآیند به طور پویا و قبضه کردن (Preemptively)، بین گره های سازنده خوشه مهاجرت کند.

مهاجرت فرآیند به کاربر اجازه میدهد که کاربردی را در هر گره شروع کند (که گره خانگی نامیده میشود) و پس از آن میتواند به طور شفاف به گره های دیگر منتقل گردد تا مثلاً از منابع به طور مؤثر استفاده نماید.

 

سیستم های محاسباتی شبکه ای

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

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

 

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

این همکاری به شکل سازمان مجازی مطرح است.

افراد متعلق به یک سازمان مجازی دارای مجوزهای دستیابی به منابعی اند که برای آن سازمان فراهم است.

معمولاً منابع، شامل سرویس دهنده های محاسباتی (از جمله ابرکامپیوترها که توسط کامپیوترهای خوشه ای پیاده سازی شده اند)، امکانات ذخیره سازی و بانک های اطلاعاتی است.

علاوه بر این، دستگاه های شبکه بندی شده خاصی مثل تلسکوپ، سنسورها و … نیز میتوانند فراهم شوند.

 

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

به همین دلیل، بیشتر به موضوع معماری پرداخته خواهد شد. معماری پیشنهاد شده توسط فوستر و همکاران در سال 2001 در تصویر زیر مشاهده میشود.

سیستم های محاسباتی شبکه ای

 

این معماری شامل چهار لایه است.

پایین ترین لایه، یعنی لایه ساخت (Fabric Layer)، واسط هایی را برای منابع محلی در سایت خاص فراهم میکند.

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

معمولاً توابعی را برای تقاضای وضعیت و قابلیت های منابع و مدیریت منابع (مثل قفل کردن منابع) فراهم میکنند.

 

لایه اتصال (Connectivity Layer)، شامل پروتکل های ارتباطی برای پشتیبانی از تراکنش های شبکه ای است که بهره وری از چندین منبع را ممکن میسازد. به عنوان مثال، پروتکل ها نیاز به انتقال داده ها بین منابع، یا دستیابی به منابع از مکان راه دور دارند.

علاوه بر این، لایه اتصال شامل پروتکل های امنیتی برای احراز هویت (Authentication) کاربران و منابع است.

توجه داشته باشید که در بسیاری از موارد، کاربران انسانی احراز هویت نمیشوند، بلکه برنامه هایی که از جانب کاربران عمل میکنند، احراز هویت میشوند.

در مورد این مسئله، محول کردن مجوزها از کاربر به برنامه، کار مهمی است که باید در لایه اتصال پشیبانی شود.

 

لایه منابع (Resource Layer)، مسئول مدیریت بر یک منبع است. از توابع فراهم شده توسط لایه اتصال استفاده میکند و واسط های فراهم شده توسط لایه ساختمان را فراخوانی مینماید.

به عنوان مثال، این لایه توابعی را برای کسب اطلاعات پیکربندی در منبع خاص، یا انجام عملیاتی خاص مثل ایجاد فرآیند یا خواندن داده فراهم میکند.

بنابراین لایه منبع مسئول کنترل دستیابی است و در نتیجه بر احراز هویت انجام شده در لایه اتصال متکی میباشد.

 

لایه بعدی در این سلسله مراتب، لایه جمعی (Collective Layer) است. این لایه با اداره کردن دستیابی به منابع سروکار دارد و شامل سرویس هایی برای کشف منبع، تخصیص و زمانبندی وظایف در چندین منبع، تکثیر داده ها و … است.

برخلاف لایه اتصال و لایه منبع که شامل مجموعه نسبتاً کوچکی از پروتکل ها هستند، لایه جمعی شامل پروتکل های مختلفی برای اهداف مختلف است و میتواند سرویس های متعددی را به سازمان مجازی ارائه نماید.

 

سرانجام لایه کاربرد (Apllications) شامل کاربردهایی است که در داخل سازمان مجازی عمل میکند و از محیط محاسبات شبکه ای استفاده مینماید.

 

معمولاً لایه های جمعی، اتصال و منبع، قلب لایه میان افزار شبکه ای هستند.

این لایه ها با هم، دستیابی و مدیریت منابعی را که در چند سایت (منطقه) پخش هستند، فراهم می آورند.

از دیدگاه میان افزار، در محاسبات شبکه ای، فرضیه سایت (یا واحد سرپرستی) متداول است.

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

به این ترتیب، معماری دیگری به نام معماری سرویس شبکه ای باز (Open Grid Services Architecture یا OGSA) تعریف شد. این معماری شامل لایه های مختلف و قطعات متعددی است که آن را پیچیده میکند.

به نظر میرسد که پیچیدگی لازمه هر فرآیند استانداردسازی است.

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.