خوشه بندی Beowulf
یک خوشه بندی Beowulf یک دسته از کامپیوتر ها است که در حالت عادی همگی یکسان هستند. این کامپیوترها به وسیله یک شبکه محلی کوچک شبکه شده اند و بر اساس زیرساخت نرم افزاری منبع باز(مانند لینوکس) و یا به وسیله کتابخانه ها و برنامه هایی که نصب شده اند اجازه می دهند پردازش ها میان آنها به اشتراک گذارده شود.نتیجه این کار برابر است با پردازش موازی خوشه ای با کارایی بالا به وسیله سخت افزار کامپیوترهای شخصی ارزان.
نام Beowulf در اصل اشاره میکند به یک کامپیوتر بخصوص که در سال 1994 بوسیله Tomas sterling و Donald becker در سازمان NASA ساخته شد. این نام برگرفته از نام یک شخصیت اصلی در یک شعر حماسی انگلیسی است.Beowulf که یک بخشنده تمام عیار بود به او لقب قهرمان را دادند.شرح او چنین بود که به اندازه 30 مرد سنگین و بازوان او بسیار قدرتمند بودند.
در سطح عادی هنگامی که دو یا بیشتر از دو کامپیوتر با یکدیگر برای حل یک مشکل همکاری میکنند آن را به مثابه یک خوشه در نظر می گیریم. خوشه ها معمولا برای دسترسی پذیری بالا (High Availability) ،قابلیت اطمینان بیشترGreater Reliability)) ، محاسبلت با کارایی بالا (High Performance Computing) و برای ارائه قدرت محاسباتی بیشتر استفاده می شوند. خوشه ها را به دو کلاس تقسیم میکنیم:
- خوشه های کلاس 1 : خوشه ها در این کلاس به طور کامل با استفاده از کالاهای سخت افزاری و نرم افزاری استاندارد ساخته میشوند، مانندSCSI،اترنت،وIDE.
- خوشه های کلاس 2 : خوشه ها در این کلاس از کالاهای سخت افزاری و نرم افزاری تخصصی برای دستیابی به کارایی بالاتر استفاده میکنند.و معمولا نسبت به خوشه های کلاس 1 گرانتر هستند.
به طور معمول از خوشه های سنتی برای برنامه های فنی مانند شبیه سازی و بیوتکنولوژی استفاده میشود و از پتروخوشه ها (petro-clusters)برای مدلسازی بازار مالی،داده کاوی،پردازش جریان و سرورهای اینترنتی بازی و صدا استفاده میشود.
برنامه هایBeowulfمعمولابااستفاده اززبانهایی مانند Cوفرترن نوشته می شوند. که در آنها از روش انتقال پیام برای رسیدن به پردازش موازی استفاده میشود.
یک قطعه نرم افزاری مخصوص که خوشه را به شکل Beowulf تعریف کند وجود ندارد. خوشه بندی Beowulf به صورت عادی اجرا می شود و در یک سیستم عامل نظیر UNIX مانند BSD،LINUX،SOLARIS و در حالت عادی بوسیله نرم افزارهای متن باز صورت می گیرد. برای پردازش های موازی از کتابخانه های شامل رابط های انتقال پیام (MPI) وماشین مجازی(PVM) که هردوی اینها به برنامه نویس این امکان را میدهند که وظایف را میان گروهی از کامپیوترهای شبکه شده تقسیم و نتایج را از میان آنها جمع آوری کند،استفاده می شود. برای مثال می توان نرم افزار های OPENMPI و MPICH نام برد که این نرم افزارها پیاده سازی هایی از MPIهستند و براحتی قابل دسترس هستند.
سیستم Beowulf معمولا شامل یک گره Server هستند.این گره سرویس دهنده وظایف کنترل تمامی خوشه و سرویس دهی فایل ها به گره های سرویس گیرنده را بر عهده دارد و همچنین خط فرمان خوشه و دروازه ورودی به جهان خارج از خوشه را در دست دارد.ماشین های Beowulf بزرگ ممکن است بیشتر از یک گره سرویس دهنده داشته باشد و شاید دیگر گره های سرویس دهنده به وظایف خاصی مانند پایانه های فرمان یا ایستگاه های گذارش گیری اختصاص داشته باشند.
در بیشتر موارد گره ها فقط انجام دهنده هستند یعنی به صورتی شکل دهی می شوند که فقط میتوانند کاری را که از آنها خواسته شده است را انجام دهند. یکی از تفاوت های اصلی میان خوشه بندی Beowulf و یک ایستگاه کاری خوشه بندی شده (Cluster of Workstations) این است که Beowulf رفتاری به مانند یک ماشین جدا دارد که تا اندازه ای سریعتر چنین ایستگاه کاری است.در بسیاری از موارد گره ها هیچگونه صفحه کلید یا مونیتوری ندارند و تنها به وسیله ورود به سیستم از راه دور قابل دسترسی هستند.
مراجع:
[3]http://www.linuxhpc.org
[4]Beowulf Cluster Computing with LinuxBy Thomas Sterling
[5]High Performance Computing and Beowulf Clusters
R.J. Allan, S.J. Andrews and M.F. Guest
Daresbury Laboratory, Daresbury, Warrington WA4 4AD, UK