مقدمه: سیستم های محاسباتی خوشه ای تاریخچه پروژه بیوولف. معماری خوشه مقیاس پذیر

توسعه سریع فناوری اطلاعاترشد داده های پردازش شده و ارسال شده و در عین حال افزایش نیاز به قابلیت اطمینان، در دسترس بودن، تحمل خطا و مقیاس پذیری باعث می شود نگاهی تازه به فناوری خوشه بندی جوان داشته باشیم. این فناوری به شما اجازه می دهد تا سیستم های کاملاً انعطاف پذیری را ایجاد کنید که تمام الزامات فوق را برآورده کند. این اشتباه است که فکر کنیم نصب یک کلاستر کاملاً همه مشکلات را حل می کند. اما دستیابی به نتایج چشمگیر از خوشه بندی کاملاً ممکن است. شما فقط باید به وضوح بفهمید که چیست، مهم ترین تفاوت ها بین انواع مختلف آنها چیست، و همچنین مزایای سیستم های خاص - از نظر اثربخشی کاربرد آنها در تجارت شما را بدانید.

تحلیلگران IDC محاسبه کرده اند که حجم بازار خوشه ها در سال 1997 تنها 85 میلیون دلار بوده است، در حالی که در سال گذشته این بازار قبلاً 367.7 میلیون دلار "ارزش" داشته است که روند صعودی آن مشهود است.

بنابراین، بیایید سعی کنیم "i" را نقطه گذاری کنیم. تا به امروز، تعریف روشنی از خوشه وجود ندارد. علاوه بر این، استاندارد واحدی وجود ندارد که به وضوح خوشه را تنظیم کند. با این حال، ناامید نشوید، زیرا ماهیت خوشه بندی به معنای انطباق با هیچ استانداردی نیست. تنها چیزی که مشخص می کند که یک خوشه یک خوشه است، مجموعه الزاماتی است که بر روی چنین سیستم هایی قرار می گیرد. ما این الزامات را فهرست می کنیم (چهار قانون): l قابلیت اطمینان؛ l در دسترس بودن تابع (در دسترس بودن)؛ l مقیاس پذیری؛ l قدرت محاسباتی. بر این اساس تعریف خوشه را فرموله می کنیم. خوشه سیستمی از دستگاه های دلخواه (سرورها، درایوهای دیسک، سیستم های ذخیره سازی و غیره) است که 99.999% تحمل خطا را فراهم می کند و همچنین "چهار قانون" را برآورده می کند. به عنوان مثال: یک خوشه سرور گروهی از سرورها (که معمولاً به آنها گره های خوشه ای گفته می شود) متصل و پیکربندی شده اند به گونه ای که دسترسی کاربر را به خوشه به عنوان یک منبع منسجم واحد فراهم می کند.

تحمل خطا

بدون شک ویژگی اصلی در یک خوشه تحمل خطا است. این همچنین توسط یک نظرسنجی از کاربران تأیید شده است: 95٪ از پاسخ دهندگان پاسخ دادند که به قابلیت اطمینان و تحمل خطا در خوشه ها نیاز دارند. با این حال، این دو مفهوم را نباید با هم اشتباه گرفت. تحمل خطا به در دسترس بودن عملکردهای معین در صورت خرابی اشاره دارد، به عبارت دیگر، افزونگی توابع و تعادل بار است. و قابلیت اطمینان به عنوان مجموعه ای از ابزار برای اطمینان از محافظت در برابر شکست درک می شود. چنین الزاماتی برای قابلیت اطمینان و تحمل خطا سیستم های خوشه ای به دلیل ویژگی های استفاده از آنها است. بیایید یک مثال کوچک بزنیم. این خوشه به سیستم پرداخت الکترونیکی سرویس می دهد، بنابراین اگر مشتری در مقطعی بدون خدمات برای شرکت عامل رها شود، هزینه گزافی برای او خواهد داشت. به عبارت دیگر، سیستم باید به طور مداوم در 24 ساعت شبانه روز و هفت روز هفته (7-24) کار کند. در عین حال، تحمل خطا 99٪ به وضوح کافی نیست، زیرا این بدان معنی است که تقریباً چهار روز در سال سیستم اطلاعاتکارخانه یا اپراتور غیر قابل استفاده خواهد بود. با توجه به کارهای پیشگیرانه و پیشگیرانه ممکن است این مدت زمان زیادی به نظر نرسد نگهداریسیستم های. اما مشتری امروزی نسبت به دلایل کار نکردن سیستم کاملاً بی تفاوت است. او به خدمات نیاز دارد. بنابراین 99.999% رقم قابل قبولی برای تحمل خطا می شود که معادل 5 دقیقه در سال است. چنین شاخص هایی را می توان توسط خود معماری خوشه به دست آورد. بیایید نمونه ای از یک خوشه سرور را در نظر بگیریم: هر سرور در خوشه نسبتاً مستقل باقی می ماند، یعنی می توان آن را متوقف و خاموش کرد (مثلاً برای تعمیر و نگهداری یا نصب تجهیزات اضافی) بدون اینکه کلستر را مختل کند. تعامل نزدیک سرورهای تشکیل یک خوشه (گره های خوشه) تضمین می کند حداکثر عملکردو حداقل زمان از کار افتادن برنامه به دلیل این واقعیت است که: l در صورت خرابی نرم افزار در یک گره، برنامه به کار خود ادامه می دهد (یا به طور خودکار راه اندازی مجدد می شود) در سایر گره های خوشه؛ l شکست یا خرابی گره (یا گره ها) خوشه به هر دلیلی (از جمله خطاهای انسانی) به معنای خرابی کل خوشه نیست؛ کارهای پیشگیرانه و تعمیراتی، پیکربندی مجدد و تغییر نسخه های نرم افزار در اکثر موارد می تواند روی گره های خوشه یک به یک انجام شود. بدون وقفه در عملکرد برنامه‌ها در سایر گره‌های خوشه. خرابی‌های احتمالی که توسط سیستم‌های معمولی در خوشه قابل پیشگیری نیستند، منجر به کاهش عملکرد (در صورت پایین آمدن گره‌ها) یا کاهش قابل توجه عملکرد (برنامه‌ها فقط برای مدت کوتاهی در دسترس نیستند). برای جابجایی به گره دیگری مورد نیاز است)، که سطح دسترسی 99.99٪ را امکان پذیر می کند.

مقیاس پذیری

هزینه بالای سیستم های خوشه ای به دلیل پیچیدگی آنهاست. بنابراین، مقیاس پذیری خوشه کاملاً مرتبط است. از این گذشته، رایانه هایی که عملکرد آنها نیازهای امروزی را برآورده می کند، لزوماً در آینده آنها را برآورده نخواهند کرد. تقریباً با هر منبعی در سیستم، دیر یا زود باید با مشکل عملکرد مواجه شد. در این مورد، دو گزینه مقیاس بندی امکان پذیر است: افقی و عمودی. اکثر سیستم‌های کامپیوتری چندین راه را برای بهبود عملکرد خود ارائه می‌کنند: افزودن حافظه، افزایش تعداد پردازنده‌ها در سیستم‌های چند پردازنده‌ای، یا افزودن آداپتورها یا درایوهای جدید. این مقیاس‌بندی، مقیاس‌گذاری عمودی نامیده می‌شود و به شما اجازه می‌دهد تا به طور موقت عملکرد سیستم را بهبود ببخشید. با این حال، سیستم روی حداکثر مقدار پشتیبانی شده حافظه، پردازنده یا دیسک تنظیم می شود و منابع سیستم تمام می شود. و کاربر با مشکل قبلی بهبود عملکرد سیستم کامپیوتری مواجه خواهد شد.مقیاس بندی افقی این امکان را فراهم می کند که کامپیوترهای اضافی را به سیستم اضافه کرده و کار را بین آنها توزیع کند. بنابراین عملکرد سیستم جدیدبه طور کلی فراتر از قبلی است. محدودیت طبیعی چنین سیستمی خواهد بود نرم افزارکه تصمیم می گیرید روی آن اجرا کنید. ساده ترین مثال استفاده از چنین سیستمی، توزیع برنامه های کاربردی مختلف در بین اجزای مختلف سیستم است. به عنوان مثال، شما می توانید خود را حرکت دهید برنامه های اداریبه یک گره خوشه برنامه وب به گره دیگر، پایگاه داده های شرکتی به یک سوم. با این حال، این سؤال را در مورد تعامل این برنامه ها با یکدیگر ایجاد می کند. باز هم، مقیاس پذیری معمولاً به داده های مورد استفاده در برنامه ها محدود می شود. برنامه های کاربردی مختلفکه نیاز به دسترسی به داده های یکسان دارند، روشی مورد نیاز است که دسترسی به داده ها را از گره های مختلف چنین سیستمی فراهم کند. راه حل در این مورد فناوری هایی است که در واقع خوشه را به یک خوشه تبدیل می کند و نه سیستمی از ماشین های متصل به هم. البته در عین حال، امکان مقیاس بندی عمودی سیستم خوشه ای همچنان باقی است. بنابراین، با توجه به مقیاس بندی عمودی و افقی، مدل خوشه ای محافظت جدی از سرمایه گذاری های مصرف کننده را فراهم می کند. به عنوان یک نوع مقیاس بندی افقی، همچنین شایان ذکر است که استفاده از گروهی از رایانه های متصل از طریق یک سوئیچ که بار را توزیع می کند (فناوری Load Balancing) ). در مقاله بعدی در مورد این گزینه نسبتاً محبوب به تفصیل صحبت خواهیم کرد. در اینجا ما فقط به هزینه کم چنین راه حلی اشاره می کنیم، که عمدتاً مجموع قیمت یک سوئیچ (6000 دلار یا بیشتر، بسته به تجهیزات عملکردی) و یک آداپتور میزبان (به ترتیب چند صد دلار برای هر کدام است. البته می توانید از کارت های شبکه معمولی استفاده کنید). چنین راه‌حل‌هایی کاربرد اصلی خود را در وب‌سایت‌های پربازدید پیدا می‌کنند، جایی که یک سرور نمی‌تواند تمام درخواست‌های دریافتی را مدیریت کند. توانایی توزیع بار بین گره های سرور چنین سیستمی به شما این امکان را می دهد که یک وب سایت واحد را در بسیاری از سرورها ایجاد کنید.

بیوولف یا قدرت محاسباتی

اغلب راه حل هایی شبیه به آنچه در بالا توضیح داده شد، خوشه بیولف نامیده می شود. چنین سیستم هایی در درجه اول برای حداکثر توان محاسباتی طراحی شده اند. بنابراین، سیستم های اضافی برای بهبود قابلیت اطمینان و تحمل خطا به سادگی ارائه نمی شوند. این راه حل قیمت فوق العاده جذابی دارد و احتمالاً به همین دلیل است که بیشترین محبوبیت را در بسیاری از سازمان های آموزشی و پژوهشی به دست آورده است. پروژه Beowulf در سال 1994 ظاهر شد - ایده ایجاد سیستم‌های محاسباتی موازی (خوشه‌ها) از رایانه‌های عمومی مبتنی بر اینتل و شبکه‌های اترنت ارزان قیمت، نصب لینوکس و یکی از کتابخانه‌های ارتباطی رایگان (PVM و سپس MPI) روی این رایانه‌ها به وجود آمد. مشخص شد که برای بسیاری از کلاس‌های مشکلات و با تعداد کافی گره، چنین سیستم‌هایی عملکردی قابل مقایسه با یک ابر رایانه ارائه می‌دهند. همانطور که تمرین نشان می دهد، ساخت چنین سیستمی بسیار ساده است. تنها چیزی که برای این کار لازم است یک سوئیچ با کارایی بالا و چندین ایستگاه کاری (سرور) متصل به آن با یک سیستم عامل نصب شده است. سیستم لینوکس. به هر حال، این کافی نیست. برای زنده شدن این توده آهن به نرم افزار خاصی برای محاسبات موازی نیاز است.متداول ترین رابط برنامه نویسی موازی در مدل ارسال پیام MPI (Message Passing Interface) است. نام Message Passing Interface برای خودش صحبت می کند. این مکانیزم به خوبی استاندارد شده برای ساخت برنامه های موازی در یک مدل پیام رسانی است. پیاده سازی های رایگان (!) و تجاری تقریباً برای تمام پلتفرم های ابر رایانه و همچنین برای شبکه های ایستگاه های کاری UNIX و Windows NT وجود دارد. MPI در حال حاضر پرکاربردترین و پویاترین رابط در کلاس خود است. اجرای رایگان توصیه شده MPI بسته MPICH است که در آزمایشگاه ملی Argonne توسعه یافته است. MPI توسط انجمن MPI استاندارد شده است. آخرین نسخه استاندارد 2.0 است. این نسخه ویژگی های مهمی مانند کنترل فرآیند پویا، ارتباط یک طرفه (Put/Get)، ورودی/خروجی موازی را به MPI اضافه می کند تقاضای مداوم برای قدرت محاسباتی بالا بازار جذابی را برای بسیاری از تولیدکنندگان ایجاد کرده است. برخی از آنها توسعه یافته اند فن آوری های خوداتصالات کامپیوترها در یک خوشه معروف ترین آنها Myrinet توسط MyriCom و cLAN توسط Giganet هستند. Myrinet یک استاندارد باز است. برای پیاده سازی آن، MyriCom طیف گسترده ای از تجهیزات شبکه را با قیمت های نسبتا پایین ارائه می دهد. در لایه فیزیکی، SAN (System Area Network)، LAN (CL-2) و محیط های شبکه فیبر نوری پشتیبانی می شوند. فناوری Myrinet مقیاس پذیری شبکه بالایی را فراهم می کند و در حال حاضر به طور گسترده در ساخت خوشه های با کارایی بالا استفاده می شود. Giganet در حال توسعه نرم‌افزار و سخت‌افزار برای تعامل مستقیم واحدهای پردازش مرکزی سرورهای خوشه‌ای با سرعت گیگابیت و دور زدن عملکردهای سیستم عامل است. هزینه راه حل حدود 2500 دلار برای سوئیچ 8 پورت، 150 دلار برای آداپتور Myrinet، حدود 6250 دلار برای سوئیچ 8 پورت و 800 دلار برای آداپتور Giganet است. دومی، به هر حال، جایزه بهترین نمایش را در نمایشگاه Microsoft Tech Ed 2000 دریافت کرد. به عنوان مثال، اجازه دهید اجرای خوشه Beowulf را در موسسه محاسبات با کارایی بالا و پایگاه های داده وزارت علوم و سیاست فناوری فدراسیون روسیه در نظر بگیریم. این خوشه که "PARITET" نامیده می شود، بر اساس اجزای معمول موجود برای رایانه های شخصی و ایستگاه های کاری است و حداکثر عملکرد 3.2 GFLOP/sec را ارائه می دهد. این خوشه متشکل از چهار گره محاسباتی دو پردازنده بر اساس پردازنده های Intel Pentium II/450MHz است. هر نود دارای 512 مگابایت رم و یک هارد SCSI 10 گیگابایتی Ultra Wide است. گره های محاسباتی خوشه توسط یک سوئیچ Myrinet با کارایی بالا (کانال هایی با پهنای باند 1.28 گیگابایت در ثانیه، دوبلکس کامل) متحد می شوند. همچنین یک شبکه اضافی برای مدیریت و پیکربندی (100 مگابیت اترنت سریع) استفاده می شود. سیستم عامل لینوکس (Red Hat 5.2 کیت توزیع) روی گره های خوشه محاسباتی نصب شده است. برای برنامه نویسی برنامه های کاربردی موازیاز رابط های ارسال پیام MPI/PVM استفاده می شود.

مینی خوشه از Dell و Compaq

علاوه بر راه حل سوئیچ برای ساخت یک خوشه، تعدادی راه حل وجود دارد - هم سخت افزار و هم نرم افزار. برخی از راه حل ها پیچیده هستند و "همانطور که هست" - "همه در یک جعبه" ارائه می شوند. آخرین گزینه - بیایید آن را "خوشه در یک جعبه" بنامیم - همچنین یک راه حل نسبتاً محبوب است، زیرا برای بازار انبوه طراحی شده است و یک خوشه است. سطح ورودی(از نظر عملکرد و گزینه های مقیاس بندی). با این حال، ساخت چنین سیستم هایی، رابطه اجزای داخلی ، قابلیت اطمینان و تحمل خطا به طور کامل با سیستم های "بزرگ" سازگار است. برای درک نحوه عملکرد یک خوشه، دو سیستم تولید مشابه - Compaq و Dell را در نظر بگیرید. خوشه های این بازیگران شناخته شده در بازار رایانه از دو سرور DELL - PowerEdge 6100 یا PowerEdge 4200 و به نوبه خود Compaq - Proliant 1850R ساخته شده اند. نرم افزار مورد استفاده Microsoft Cluster Server (Compaq، Dell) یا Novell High-Availability Services برای NetWare 4.0 / Clustering Services for NetWare 5.0 (Compaq) است. این نرم افزار به شما این امکان را می دهد که دو سرور را به گونه ای پیکربندی کنید که در صورت خرابی یکی از سرورهای کلاستر، بلافاصله کار و برنامه های آن به طور خودکار به سرور دیگر منتقل شود و زمان خرابی را از بین ببرد. هر دو سرور خوشه منابع خود را برای انجام کارهای تولیدی فراهم می کنند، بنابراین هیچ یک از آنها بیکار نیست و منتظر می ماند تا سطح دیگری از کار بیفتد. ارتباط بین دو سرور از طریق اتصال به اصطلاح ضربان دار (Heartbeat) یک بخش اختصاصی از شبکه محلی انجام می شود. هنگامی که سرور اصلی از کار می افتد، سرور دومی که اتصال ضربان قلب را نظارت می کند، متوجه می شود که سرور اصلی از کار افتاده است و بار کاری را که روی دستگاه خراب در حال اجرا بود، بر عهده می گیرد. عملکردهای انجام شده شامل اجرای برنامه ها، فرآیندها و خدمات مورد نیاز برای پاسخگویی به درخواست های مشتری برای دسترسی به سرور ناموفق است. اگرچه هر یک از سرورهای کلاستر باید تمام منابع مورد نیاز برای به عهده گرفتن عملکرد سرور دیگری را داشته باشد، وظایف اصلی انجام شده می تواند کاملاً متفاوت باشد. یک سرور ثانویه که بخشی از یک خوشه خرابی است، نیاز به ارائه قابلیت آماده به کار داغ را برآورده می کند، اما همچنین می تواند برنامه های کاربردی خود را اجرا کند. با این حال، علیرغم تکرار گسترده منابع، چنین خوشه ای دارای "گردن بطری" است - رابط گذرگاه SCSI و سیستم حافظه خارجی مشترک، که خرابی آن باعث از کار افتادن خوشه می شود. اگرچه، به گفته سازندگان، احتمال این امر ناچیز است، چنین مینی خوشه ها در درجه اول برای عملکرد مستقل بدون نظارت و مدیریت مداوم طراحی شده اند. یک نمونه از استفاده، راه حلی برای دفاتر راه دور شرکت های بزرگ برای اطمینان از دسترسی بالا (7S24) از حیاتی ترین برنامه ها (پایگاه های داده، سیستم های پستی و غیره) است. با توجه به تقاضای فزاینده برای سیستم های قدرتمند و در عین حال مقاوم در برابر خطا، بازار این خوشه ها کاملا مطلوب به نظر می رسد. تنها «اما» این است که هر مصرف‌کننده بالقوه سیستم‌های خوشه‌ای آماده پرداخت حدود 20000 دلار برای یک سیستم دو سرور نیست.

باقی مانده خشک

به عنوان خلاصه، خوشه ها بالاخره یک بازار انبوه دارند. چنین نتیجه‌گیری را می‌توان به راحتی از پیش‌بینی‌های گروه بین‌الملل استندیش گرفت، که ادعا می‌کنند در دو سال آینده رشد جهانی در تعداد سیستم‌های خوشه‌ای نصب شده 160 درصد خواهد بود. علاوه بر این، تحلیلگران IDC محاسبه کردند که اندازه بازار خوشه در سال 1997 تنها 85 میلیون دلار بود و در سال گذشته این بازار قبلاً 367.7 میلیون دلار "ارزش" داشت. روند رشد آشکار است. در واقع، امروزه نیاز به راه‌حل‌های خوشه‌ای نه تنها در مراکز داده بزرگ، بلکه در شرکت‌های کوچکی نیز ایجاد می‌شود که نمی‌خواهند بر اساس اصل «خسیس دو بار می‌پردازد» زندگی کنند و پول خود را در سیستم‌های خوشه‌ای بسیار قابل اعتماد و به راحتی مقیاس‌پذیر سرمایه‌گذاری کنند. خوشبختانه، گزینه های بیش از اندازه کافی برای پیاده سازی خوشه وجود دارد. با این حال، هنگام انتخاب هر راه حل، نباید فراموش کرد که همه پارامترهای خوشه به یکدیگر وابسته هستند. به عبارت دیگر، شما باید به وضوح عملکرد مورد نیاز خوشه را اولویت بندی کنید، زیرا با افزایش عملکرد، درجه در دسترس بودن (در دسترس بودن) کاهش می یابد. افزایش عملکرد و اطمینان از سطح مورد نیاز در دسترس بودن، ناگزیر منجر به افزایش هزینه راه حل می شود. بنابراین، کاربر باید مهمترین کار را انجام دهد - یافتن میانگین طلایی قابلیت های خوشه در لحظه فعلی. انجام این کار دشوارتر است، امروزه راه حل های متنوع تری در بازار خوشه ای ارائه می شود.در تهیه مقاله از مطالب سرورهای WWW استفاده شده است: http://www.dell.ru/ , http://www.compaq .ru/، http://www.ibm.ru/، http://www.parallel.ru/، http://www.giganet.com/، http://www.myri.com/

ComputerPress 10"2000

دانشگاه دولتی فناوری اطلاعات و ارتباطات

چکیده

از رشته "مدارات کامپیوتری"

با موضوع: "سیستم های خوشه ای مدرن و استفاده از آنها"

تکمیل شده توسط: دانشجوی گروه KSD-32

موزالفسکی اوگنی


مقدمه 3

1. اصول کلی سیستم های خوشه ای 4

2. طبقه بندی 4

3. استفاده از سیستم های خوشه ای 5

نتیجه گیری 6

مراجع 6
مقدمه

خوشه یک سیستم چند پردازنده ای مدولار است که بر اساس گره های محاسباتی استاندارد متصل شده توسط یک رسانه ارتباطی پرسرعت ایجاد شده است. اکنون کلمات "خوشه" و "ابر کامپیوتر" تا حد زیادی مترادف هستند، اما قبل از اینکه بتوان با اطمینان گفت، سخت افزار یک چرخه تکاملی طولانی را طی کرد. در طول 30 سال اول از ظهور رایانه ها، تا اواسط دهه 1980، فناوری های "ابر رایانه" منحصراً به عنوان تولید پردازنده های تخصصی، به ویژه قدرتمند شناخته می شدند. با این حال، ظاهر یک ریزپردازنده تک تراشه عملاً تفاوت بین پردازنده های "جرم" و "به ویژه قدرتمند" را پاک کرد و از همان لحظه تنها راهایجاد یک ابر رایانه به روشی برای ترکیب پردازنده ها برای حل موازی یک مشکل تبدیل شده است.

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


1. اصول کلی سیستم های خوشه ای

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

مفهوم "منبع واحد" به معنای وجود نرم افزاری است که می دهد
فرصتی برای کاربران، مدیران و برنامه های کاربردیشمردن،
که تنها یک موجودیت وجود دارد که با آن کار می کنند، خوشه.
به عنوان مثال، سیستم پردازش دسته ای خوشه ای به شما امکان می دهد کار را به آن ارسال کنید
پردازش به خوشه، و نه به هر کامپیوتر فردی. پیچیده تر
سیستم های پایگاه داده یک مثال هستند. تقریبا همه تولید کنندگان
سیستم های پایگاه داده، نسخه هایی وجود دارد که به صورت موازی در حال اجرا هستند
ماشین های چندگانه خوشه ای در نتیجه، برنامه هایی که از پایگاه داده استفاده می کنند
داده ها لازم نیست اهمیت دهند که کار آنها کجا انجام می شود. DBMS
مسئول همگام سازی فعالیت های همزمان و نگهداری
یکپارچگی پایگاه داده

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

همانطور که معمولاً از گره های محاسباتی در یک خوشه استفاده می شود
کامپیوترهای شخصی تک پردازنده، SMP دو یا چهار پردازنده
سرورها هر گره کپی خود را از سیستم عامل اجرا می کند.
سیستم هایی که اغلب به عنوان استاندارد استفاده می شوند
سیستم عامل: لینوکس، NT، سولاریس و غیره ترکیب و قدرت گره ها
می تواند حتی در یک خوشه تغییر کند و ایجاد را ممکن می کند
سیستم های ناهمگن انتخاب یک رسانه ارتباطی خاص مشخص می شود
بسیاری از عوامل: ویژگی های کلاس از وظایف حل شده، نیاز
گسترش بعدی خوشه و غیره قابل پیکربندی است
کامپیوترهای تخصصیبه عنوان مثال، فایل-سرور، و به عنوان یک قاعده،
فرصت داده شده است دسترسی از راه دوربه خوشه از طریق اینترنت.
از تعریف معماری سیستم های خوشه ای که شامل آن می شود نتیجه می گیرد
خود طیف بسیار گسترده ای از سیستم ها.

2. طبقه بندی

سیستم‌های خوشه‌ای می‌توانند از پلتفرم‌های مختلفی استفاده کنند و معمولاً نه بر اساس مجموعه‌ای از اجزا، بلکه بر اساس کاربرد طبقه‌بندی می‌شوند. چهار نوع سیستم خوشه‌ای وجود دارد: خوشه‌های محاسباتی، خوشه‌های پایگاه داده، خوشه‌های شکستی و خوشه‌های توزیع بار. بزرگترین گروه خوشه های محاسباتی هستند. می توان آن را به زیر گروه ها تقسیم کرد. با این حال، طبقه بندی در این گروه دیگر تابع رایانه های واقعی نیست، بلکه راه حل های خوشه ای نرم افزاری و سخت افزاری آماده است. چنین سیستم هایی دارای نرم افزار کاربردی از پیش نصب شده مورد نیاز مشتری برای حل مشکلات او هستند. راه حل های بهینه سازی شده برای کاربردهای مختلف در انتخاب اجزایی که کارآمدترین عملکرد این برنامه های خاص را با بهترین نسبت قیمت/کیفیت ارائه می کنند، متفاوت هستند.

خوشه های پایگاه داده جدید هستند. این سیستم ها با نسخه های موازی پایگاه های داده کار می کنند و در سازمان های بزرگ برای بهره برداری از سیستم های CRM و ERP و همچنین پایگاه های داده تراکنشی استفاده می شوند. امروزه این سیستم ها رقیب جدی برای سرورهای حافظه مشترک سنتی هستند بهترین نسبتقیمت/عملکرد، مقیاس پذیری و تحمل خطا.

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

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

3. استفاده از سیستم های خوشه ای

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

یکی دیگر از اهداف ایجاد سیستم های خوشه ای، ایجاد ارزان است
سیستم های محاسباتی موازی با کارایی بالا یکی از اولین ها
پروژه هایی که نامی را به یک کلاس کامل از سیستم های موازی - خوشه Beowulf دادند
- در مرکز پرواز فضایی گودارد ناسا برای پشتیبانی ایجاد شد
منابع محاسباتی لازم پروژه علوم زمین و فضایی
پروژه Beowulf در تابستان 1994 آغاز شد و 16 پردازنده
خوشه در پردازنده های Intel 486DX4/100 MHz. هر گره داشت
16 مگابایت نصب شده حافظه دسترسی تصادفیو 3 شبکه اترنت-
آداپتور این سیستم از نظر بسیار موفق بوده است
قیمت / عملکرد، بنابراین، چنین معماری شروع به توسعه و
به طور گسترده در سایر سازمان ها و مؤسسات علمی مورد استفاده قرار گیرد.
هر کلاس از خوشه ها دارای ویژگی های خاص معماری و
سخت افزار کاربردی

به طور متوسط، ابررایانه های داخلی هنوز از نظر عملکرد بسیار عقب تر از غربی ها هستند: ماشین های مورد استفاده برای تحقیقات علمی 15 برابر، منابع محاسباتی شرکت های مالی 10 برابر، ابررایانه های صنعتی 9 برابر هستند.


نتیجه گیری

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

چهار نوع سیستم خوشه‌ای وجود دارد: خوشه‌های محاسباتی، خوشه‌های پایگاه داده، خوشه‌های شکستی و خوشه‌های توزیع بار.

حوزه کاربرد سیستم‌های خوشه‌ای در حال حاضر از ابررایانه‌های با معماری متفاوت باریک‌تر نیست: آنها با موفقیت کمتری با کار شبیه‌سازی انواع فرآیندها و پدیده‌ها کنار می‌آیند. مدل سازی ابر رایانه می تواند هزینه ها را تا حد زیادی کاهش دهد و سرعت معرفی محصولات جدید به بازار را افزایش دهد و همچنین کیفیت آنها را بهبود بخشد.

برخی از افکار در مورد اینکه چه زمانی منطقی است که از کلاسترهای با دسترسی بالا برای محافظت از برنامه ها استفاده کنید.

یکی از وظایف اصلی در عملکرد یک سیستم فناوری اطلاعات در هر کسب و کاری، اطمینان از تداوم خدمات ارائه شده است. با این حال، اغلب، هم مهندسان و هم رهبران فناوری اطلاعات در مورد اینکه چه «تداوم» به طور خاص در کسب و کارشان بیان می‌شود، کاملاً واضح نیستند. به نظر نگارنده، این امر به دلیل ابهام و مبهم بودن خود مفهوم تداوم است، به همین دلیل است که همیشه نمی توان به وضوح گفت که کدام دوره گسسته پیوسته و کدام بازه، فاصله عدم دسترسی خواهد بود. این وضعیت با انبوهی از فناوری‌هایی که برای حل یک مشکل مشترک، اما به روش‌های مختلف طراحی شده‌اند، تشدید می‌کند.

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

آنچه برنامه ها را تهدید می کند ...

طبق برآوردهای مختلف، 55-60٪ از برنامه ها برای تجارت شرکت حیاتی هستند - این بدان معنی است که عدم وجود خدمات ارائه شده توسط این برنامه ها به طور جدی بر رفاه مالی شرکت تأثیر می گذارد. در این راستا، مفهوم دسترسی به یک جنبه اساسی در فعالیت های مرکز کامپیوتر تبدیل می شود. بیایید ببینیم که تهدیدات در دسترس بودن برنامه از کجا می آیند.

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

خرابی سخت افزار.سازندگان سیستم‌های سخت‌افزاری (سرورها، ذخیره‌سازی دیسک) راه‌حل‌هایی با اجزای اضافی - بردهای پردازنده، کنترل‌کننده‌های سیستم، منابع تغذیه و غیره تولید می‌کنند. با این حال، در برخی موارد، خرابی سخت‌افزار می‌تواند منجر به در دسترس نبودن برنامه‌ها شود.

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

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

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

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

... و نحوه برخورد با آن

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

پشتیبان گیریداده ها به نوار یا دیسک. آی تی یک سطح پایه ازدسترسی - ساده ترین، ارزان ترین، اما همچنین کندترین.

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

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

تکرار از راه دورجداسازی سایت‌های محاسباتی به منظور ایجاد یک کپی از داده‌ها در مراکز داده جدا شده را فرض می‌کند.

خوشه بندی از راه دوراز آنجایی که در دسترس بودن داده ها در سایت های مختلف تضمین می شود، همچنین می توان با سازماندهی دسترسی برنامه ها به این داده ها، دسترسی به سرویس را از سایت های مختلف حفظ کرد.

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

به نظر نویسنده، رویکرد Symantec برای درک استراتژی بازیابی خدمات بسیار موفق است (شکل 1). در اینجا دو نکته کلیدی وجود دارد - نقطه ای که سیستم در آن بازیابی می شود (هدف نقطه بازیابی، RPO)، و زمان مورد نیاز برای بازیابی سرویس (هدف زمان بازیابی، RTO).

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

برای حیاتی ترین سیستم ها، RTO و RPO نباید بیش از 1 ساعت باشد. کپی رزرو کنیدیک نقطه بازیابی دو یا چند روزه ارائه دهید. علاوه بر این، بازیابی نوار خودکار نیست، مدیر باید دائماً به یاد داشته باشد که همه چیز را به درستی بازیابی و راه اندازی کرده است.

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

اگر می‌خواهید RTO و RTS را در چند دقیقه اندازه‌گیری کنید، یعنی کار نیاز به به حداقل رساندن زمان خرابی دارد (چه برنامه‌ریزی‌شده و چه برنامه‌ریزی نشده)، پس تنها راه‌حل مناسب یک خوشه با در دسترس بودن بالا است. در این مقاله چنین سیستم هایی مورد توجه قرار گرفته است.

با توجه به اینکه مفهوم "خوشه محاسباتی" مدتی است به دلیل تنوع زیاد آنها بیش از حد بارگذاری شده است، ابتدا کمی در مورد چیستی خوشه ها خواهیم گفت.

انواع خوشه

در ساده‌ترین شکل، خوشه سیستمی از رایانه‌ها است که با هم کار می‌کنند تا مسائل را با هم حل کنند. این یک مدل پردازش داده سرویس گیرنده-سرور نیست که در آن برنامه بتواند به طور منطقی به گونه ای جدا شود که مشتریان بتوانند درخواست ها را به سرورهای مختلف ارسال کنند. ایده یک خوشه این است که منابع محاسباتی گره‌های مرتبط را برای ایجاد منابع اضافی که قدرت محاسباتی مشترک، در دسترس بودن و مقیاس‌پذیری بیشتر را فراهم می‌کنند، ترکیب کند. بنابراین، خوشه‌ها فقط درخواست‌های مشتری به سرورها را پردازش نمی‌کنند، بلکه همزمان از بسیاری از رایانه‌ها استفاده می‌کنند و آنها را به صورت سیستم واحدو در نتیجه قابلیت های محاسباتی بسیار بیشتری را ارائه می دهد.

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

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

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

با این حال، موضوع این مقاله سیستم های در دسترس بودن بالا است. بنابراین، در ادامه صحبت از خوشه ها، دقیقاً چنین سیستم هایی را در نظر خواهیم داشت.

به عنوان یک قاعده، هنگام ساخت خوشه‌های با دسترسی بالا، افزونگی برای ایجاد یک محیط قابل اعتماد استفاده می‌شود، یعنی یک سیستم محاسباتی ایجاد می‌شود که در آن خرابی یک یا چند مؤلفه (سخت‌افزار، نرم‌افزار یا امکانات شبکه) تأثیر قابل‌توجهی بر در دسترس بودن نمی‌گذارد. به طور کلی یک برنامه یا سیستم

در ساده ترین حالت، اینها دو سرور با پیکربندی یکسان با دسترسی به یک سیستم ذخیره سازی مشترک هستند (شکل 2). در طول عملکرد عادی، نرم افزار برنامه روی یک سیستم اجرا می شود در حالی که سیستم دوم منتظر می ماند تا برنامه ها اجرا شوند زمانی که سیستم اول از کار می افتد. هنگامی که یک نقص شناسایی می شود، سیستم دوم منابع مناسب (سیستم فایل، آدرس های شبکه و غیره) را تغییر می دهد. این فرآیند معمولاً به عنوان Failover شناخته می شود. سیستم دوم به طور کامل جایگزین سیستم شکست خورده می شود و کاربر نیازی به دانستن اینکه برنامه های او بر روی ماشین های فیزیکی مختلف اجرا می شود، ندارد. این رایج ترین پیکربندی نامتقارن دو گره است، که در آن یک سرور فعال و دیگری غیرفعال است، یعنی در حالت آماده به کار در صورت خرابی سرور اصلی است. در عمل، این طرح در اکثر شرکت ها کار می کند.

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

تنظیمات خوشه

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

خوشه متقارن

خوشه متقارن نیز بر روی دو گره اجرا می شود، اما هر یک از آنها یک برنامه فعال را اجرا می کنند (شکل 3). نرم افزار Cluster انتقال خودکار صحیح برنامه از سرور به سرور را در صورت خرابی یکی از گره ها تضمین می کند. در این حالت بارگذاری سخت افزار کارآمدتر است، اما در صورت بروز نقص، مشخص می شود که برنامه های کل سیستم روی یک سرور در حال اجرا هستند که می تواند عواقب نامطلوبی از نظر عملکرد داشته باشد. علاوه بر این، باید در نظر بگیرید که آیا امکان اجرای چندین برنامه در یک سرور وجود دارد یا خیر.

پیکربندی N+1

این پیکربندی در حال حاضر شامل بیش از دو گره است، و در میان آنها یک گره اختصاصی و اضافی وجود دارد (شکل 4). به عبارت دیگر، برای هر N سرور در حال اجرا یک حالت آماده به کار وجود دارد. در صورت بروز نقص، برنامه از گره مشکل به یک گره رایگان اختصاصی "حرکت" می کند. در آینده، مدیر خوشه قادر خواهد بود گره شکست خورده را جایگزین کرده و آن را به عنوان حالت آماده به کار تعیین کند.

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

از بین تمام پیکربندی‌های خوشه، N + 1 احتمالاً از نظر پیچیدگی و کارایی تجهیزات کارآمدترین است. جدول زیر 1 این تخمین را تایید می کند.

پیکربندی N به N

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

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

ارزیابی تنظیمات خوشه

روی میز. 1 آنچه در بالا در مورد پیکربندی های مختلف خوشه گفته شد را خلاصه می کند. ارزیابی در یک مقیاس چهار درجه ای (4 - بالاترین امتیاز، 1 - کمترین) داده می شود.

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

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

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

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

اجزای اصلی خوشه

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

در مورد تجهیزاتی که خوشه روی آن مونتاژ می شود، مؤلفه اصلی در اینجا یک اتصال بین گره یا یک اتصال خوشه داخلی است که اتصال فیزیکی و منطقی سرورها را فراهم می کند. در عمل، این یک شبکه اترنت داخلی با اتصالات تکراری است. هدف آن اولاً انتقال بسته هایی است که یکپارچگی سیستم را تأیید می کند (به اصطلاح ضربان قلب) و ثانیاً با طراحی یا طرح خاصی که پس از وقوع یک نقص ایجاد شده است ، تبادل ترافیک اطلاعات بین گره های در نظر گرفته شده برای انتقال است. خارج از. اجزای دیگر واضح هستند: گره هایی که سیستم عامل را با نرم افزار کلاستر اجرا می کنند، فضای ذخیره سازی دیسکی که گره های خوشه به آنها دسترسی دارند. و در نهایت یک شبکه مشترک که از طریق آن خوشه با دنیای خارج تعامل دارد.

اجزای نرم افزار کنترل عملکرد یک برنامه کلاستر را فراهم می کند. اول از همه، این یک سیستم عامل مشترک است (الزاماً یک نسخه مشترک نیست). در محیط این سیستم عامل، Cluster core - نرم افزار cluster - کار می کند. برنامه‌هایی که خوشه‌بندی می‌شوند، یعنی می‌توانند از گرهی به گره دیگر مهاجرت کنند، توسط اسکریپت‌های کوچک کنترل می‌شوند - شروع، متوقف می‌شوند، آزمایش می‌شوند. عوامل استاندارد برای اکثر وظایف وجود دارد، اما در مرحله طراحی، بررسی ماتریس سازگاری برای دیدن اینکه آیا عامل هایی برای برنامه های خاص وجود دارد، ضروری است.

پیاده سازی های خوشه ای

پیاده سازی های زیادی از پیکربندی های خوشه ای که در بالا توضیح داده شد در بازار نرم افزار وجود دارد. تقریباً تمام تولیدکنندگان بزرگ سرور و نرم افزار - برای مثال مایکروسافت، اچ پی، آی بی ام، سان، سیمانتک - محصولات خود را در این زمینه ارائه می کنند. Microtest با راه حل های Sun Cluster Server (SC) از Sun Microsystems (www.sun.com) و Veritas Cluster Server (VCS) از Symantec (www.symantec.com) تجربه دارد. از نظر مدیر، این محصولات از نظر عملکرد بسیار شبیه به هم هستند - تنظیمات و واکنش های یکسانی به رویدادها ارائه می دهند. با این حال، از نظر سازماندهی داخلی آنها، اینها محصولات کاملاً متفاوتی هستند.

SC توسط Sun برای سیستم عامل Solaris خودش توسعه داده شد و بنابراین فقط روی آن سیستم عامل (هم SPARC و هم x86) اجرا می شود. در نتیجه، در حین نصب، SC عمیقاً با سیستم عامل ادغام می شود و بخشی از آن، بخشی از هسته Solaris می شود.

VCS یک محصول چند پلتفرمی است که تقریباً با تمام سیستم‌عامل‌های رایج فعلی - AIX، HP-UX، Solaris، Windows، Linux، کار می‌کند و یک افزونه است - برنامه‌ای است که عملکرد سایر برنامه‌هایی را که در معرض خوشه‌بندی هستند کنترل می‌کند. .

ما به پیاده سازی داخلی این دو سیستم - SC و VCS خواهیم پرداخت. اما بار دیگر تاکید می کنیم که با وجود تفاوت در اصطلاحات و ساختار داخلی کاملاً متفاوت، اجزای اصلی هر دو سیستمی که مدیر با آنها در تعامل است اساساً یکسان است.

اجزای نرم افزار سرور Sun Cluster

هسته SC (شکل 6) سیستم عامل Solaris 10 (یا 9) با پوسته افزودنی است که ویژگی دسترسی بالا را ارائه می دهد (هسته با رنگ سبز مشخص شده است). در مرحله بعدی مولفه های جهانی (سبز روشن) قرار دارند که خدمات خود را برگرفته از هسته خوشه ارائه می دهند. و در نهایت، در بالای صفحه - اجزای سفارشی.

چارچوب HA مؤلفه ای است که هسته Solaris را برای ارائه خدمات خوشه ای گسترش می دهد. کار چارچوب با مقداردهی اولیه کدی که گره را در حالت کلاستر راه‌اندازی می‌کند، شروع می‌شود. وظایف اصلی چارچوب، تعامل بین گره، مدیریت وضعیت خوشه و عضویت در آن است.

ماژول ارتباط گره به گره پیام های ضربان قلب را بین گره ها منتقل می کند. آی تی پیام های کوتاه، پاسخ گره همسایه را تایید می کند. تعامل داده ها و برنامه ها نیز توسط چارچوب HA به عنوان بخشی از ارتباطات بین گره ای مدیریت می شود. علاوه بر این، چارچوب یکپارچگی پیکربندی خوشه‌ای را مدیریت می‌کند و در صورت لزوم، وظایف بازیابی و به‌روزرسانی را انجام می‌دهد. صداقت از طریق دستگاه حد نصاب حفظ می شود. در صورت لزوم، پیکربندی مجدد انجام می شود. دستگاه حد نصاب است مکانیزم اضافیبررسی یکپارچگی گره های خوشه ای از طریق بخش های کوچکی از سیستم فایل مشترک. AT آخرین نسخهخوشه SC 3.2، امکان اختصاص یک دستگاه حد نصاب خارج از سیستم خوشه، یعنی استفاده سرور اضافیدر پلتفرم Solaris، در دسترس از طریق TCP/IP. اعضای خوشه ناموفق از پیکربندی خارج می شوند. عنصری که دوباره عملیاتی می شود به طور خودکار در پیکربندی گنجانده می شود.

توابع اجزای جهانی از چارچوب HA ناشی می شود. این شامل:

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

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

اجزای نرم افزار Veritas Cluster Server

به طور شماتیک، یک خوشه VCS دو گره در شکل نشان داده شده است. 7. ارتباط بین گره ای در VCS بر اساس دو پروتکل - LLT و GAB است. VCS از یک شبکه داخلی برای حفظ یکپارچگی خوشه استفاده می کند.

LLT (Low Latency Transport) پروتکلی است که توسط Veritas توسعه یافته است که از طریق اترنت به عنوان جایگزینی بسیار کارآمد برای پشته IP اجرا می شود و توسط گره ها در تمام ارتباطات داخلی استفاده می شود. افزونگی مورد نیاز در ارتباطات بین گره ای به حداقل دو شبکه داخلی کاملا مستقل نیاز دارد. این امر ضروری است تا VSC بتواند بین خرابی شبکه و سیستم تمایز قائل شود.

پروتکل LLT دو عملکرد اصلی را انجام می دهد: توزیع ترافیک و ارسال ضربان قلب. LLT ارتباطات بین گره ای (توازن) را بین تمام پیوندهای داخلی موجود توزیع می کند. این طرح تضمین می‌کند که تمام ترافیک داخلی به طور تصادفی بین شبکه‌های داخلی توزیع می‌شود (حداکثر می‌تواند هشت عدد باشد)، که عملکرد و تحمل خطا را بهبود می‌بخشد. در صورت خرابی یک پیوند، داده ها به بقیه لینک ها هدایت می شوند. علاوه بر این، LLT مسئول ارسال ترافیک ضربان قلب از طریق شبکه است که توسط GAB استفاده می شود.

GAB (Group Membership Services/Atomic Broadcast) دومین پروتکل مورد استفاده در VCS برای ارتباطات داخلی است. او مانند LLT دو وظیفه را بر عهده دارد. اولین مورد عضویت گره ها در خوشه است. GAB ضربان قلب را از هر گره از طریق LLT دریافت می کند. اگر سیستم برای مدت طولانی پاسخی از گره دریافت نکند، وضعیت خود را به عنوان DOWN علامت گذاری می کند - غیرفعال است.

دومین عملکرد GAB ارائه ارتباطات بین خوشه ای قابل اعتماد است. GAB تحویل تضمینی پخش و پیام های نقطه به نقطه را بین تمام گره ها ارائه می دهد.

جزء کنترلی VCS موتور VCS یا HAD (شیب با دسترسی بالا) است که بر روی هر سیستمی اجرا می شود. او مسئول است:

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

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

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

چی بهتره

این سوال که چه زمانی بهتر است از کدام خوشه استفاده شود، قبلاً در بالا بحث کردیم. بار دیگر تاکید می کنیم که محصول SC توسط Sun برای سیستم عامل خود نوشته شده است و عمیقاً با آن یکپارچه شده است. VCS یک محصول چند پلتفرمی است و بنابراین انعطاف پذیرتر است. روی میز. 2 برخی از احتمالات این دو راه حل را با هم مقایسه می کند.

در پایان، من می خواهم یک استدلال دیگر به نفع استفاده از SC در محیط Solaris ارائه کنم. با استفاده از سخت افزار و نرم افزار از یک سازنده واحد - Sun Microsystems، مشتری یک سرویس "پنجره واحد" برای کل راه حل دریافت می کند. علیرغم این واقعیت که اکنون فروشندگان در حال ایجاد مراکز مشترک صلاحیت هستند، زمان پخش درخواست‌ها بین تولیدکنندگان نرم‌افزار و سخت‌افزار باعث کاهش سرعت پاسخگویی به یک حادثه می‌شود که همیشه برای کاربر سیستم مناسب نیست.

خوشه توزیع شده در منطقه

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

تکثیر داده ها از سایت اصلی به سایت پشتیبان اغلب با استفاده از یکی از بسته های محبوب انجام می شود: Veritas Volume Replicator، EMC SRDF، Hitachi TrueCopy، Sun StorageTek Availability Suite.

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

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

تست سیستم قبل از فاجعه

طبق مطالعه ای که توسط سیمانتک انجام شده است، تنها 28 درصد از شرکت ها طرح بازیابی بلایای طبیعی را آزمایش می کنند. متأسفانه اکثر مشتریانی که نویسنده باید در این مورد با آنها صحبت می کرد، اصلاً چنین برنامه ای نداشتند. دلایل انجام نشدن تست، کمبود وقت برای مدیران، عدم تمایل به انجام آن در سیستم "زنده" و کمبود تجهیزات تست است.

برای تست می توانید از شبیه ساز موجود در بسته VSC استفاده کنید. کاربرانی که استفاده از VCS را به‌عنوان نرم‌افزار خوشه‌ای خود انتخاب می‌کنند، می‌توانند تنظیمات خود را در شبیه‌ساز Cluster Server آزمایش کنند، که به آنها اجازه می‌دهد استراتژی مهاجرت برنامه خود را بین گره‌ها در رایانه شخصی آزمایش کنند.

نتیجه

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

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

خوشه (گروهی از کامپیوترها)

خوشه های متعادل کننده بار

اصل عملکرد آنها بر اساس توزیع درخواست ها از طریق یک یا چند گره ورودی است که آنها را برای پردازش به سایر گره های محاسباتی هدایت می کند. هدف اولیه چنین خوشه ای عملکرد است، با این حال، آنها اغلب از روش هایی نیز استفاده می کنند که قابلیت اطمینان را افزایش می دهد. طرح های مشابه مزارع سرور نامیده می شوند. نرم افزار (نرم افزار) می تواند تجاری (OpenVMS، MOSIX، Platform LSF HPC، Solaris Cluster، Moab Cluster Suite، Maui Cluster Scheduler) یا رایگان (OpenMosix، Sun Grid Engine، Linux Virtual Server) باشد.

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

خوشه ها برای اهداف محاسباتی، به ویژه در تحقیقات علمی استفاده می شوند. برای خوشه های محاسباتی، شاخص های قابل توجهی عملکرد بالای پردازنده در عملیات روی اعداد ممیز شناور (فلاپ) و تأخیر کم شبکه یکپارچه، و کمتر قابل توجه - سرعت عملیات I/O است که برای پایگاه های داده و سرویس های وب اهمیت بیشتری دارد. خوشه‌های محاسباتی با تقسیم کار به شاخه‌های موازی که داده‌ها را از طریق یک شبکه متصل رد و بدل می‌کنند، زمان محاسبه را در مقایسه با یک کامپیوتر منفرد کاهش می‌دهند. یکی از پیکربندی‌های معمولی مجموعه‌ای از رایانه‌ها است که از مؤلفه‌های در دسترس عموم جمع‌آوری شده‌اند، لینوکس را روی آن‌ها اجرا می‌کنند و توسط یک شبکه اترنت، Myrinet، InfiniBand یا دیگر شبکه‌های نسبتا ارزان‌قیمت متصل می‌شوند. چنین سیستمی معمولاً به عنوان خوشه Beowulf نامیده می شود. خوشه های با کارایی بالا به طور خاص متمایز می شوند (که با مخفف انگلیسی مشخص می شود خوشه HPC - خوشه محاسباتی با کارایی بالا). فهرست قدرتمندترین کامپیوترهای با کارایی بالا (همچنین ممکن است با مخفف انگلیسی به آنها اشاره شود HPC) را می توان در رتبه بندی جهانی TOP500 یافت. در روسیه، رتبه بندی قوی ترین رایانه ها در CIS وجود دارد.

سیستم های محاسباتی توزیع شده (شبکه)

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

خوشه ای از سرورها که به صورت برنامه نویسی سازماندهی شده اند

سیستم های خوشه ای جایگاه شایسته ای را در لیست سریع ترین ها اشغال می کنند، در حالی که به طور قابل توجهی از ابررایانه ها در قیمت بهتر عمل می کنند. از جولای 2008، رتبه هفتم در رتبه بندی TOP500، خوشه SGI Altix ICE 8200 (Chippewa Falls، ویسکانسین، ایالات متحده آمریکا) است.

یک جایگزین نسبتا ارزان برای ابررایانه‌ها، خوشه‌های مبتنی بر مفهوم Beowulf هستند که از رایانه‌های معمولی ارزان قیمت مبتنی بر نرم‌افزار رایگان ساخته شده‌اند. یکی از نمونه های عملیچنین سیستمی استون سوپر کامپیوتر (اوک ریج، تنسی، ایالات متحده آمریکا) است.

بزرگترین خوشه خصوصی (از 1000 پردازنده) توسط جان کوزا ساخته شد.

داستان

تاریخچه ایجاد خوشه ها به طور جدایی ناپذیری با تحولات اولیه در این زمینه مرتبط است شبکه های کامپیوتر. یکی از دلایل پیدایش ارتباطات پرسرعت بین کامپیوترها، امید به تجمیع منابع محاسباتی بود. در اوایل دهه 1970 تیم طراحی TCP/IP و آزمایشگاه Xerox PARC استانداردهایی را برای شبکه تعیین می کنند. سیستم عامل Hydra ("Hydra") برای رایانه های تولید شده توسط DEC نیز ظاهر شد. خوشه ای که بر این اساس ایجاد شد C.mpp (پیتزبورگ، پنسیلوانیا، ایالات متحده آمریکا،) نام داشت. با این حال، تقریباً یک سال پیش بود که مکانیسم‌هایی برای اشتراک‌گذاری آسان وظایف و فایل‌ها از طریق یک شبکه، که عمدتاً در SunOS (سیستم عامل مبتنی بر BSD از Sun Microsystems) ایجاد شد، ایجاد شد.

اولین پروژه خوشه تجاری ARCNet بود که توسط Datapoint در شهر ایجاد شد. این پروژه سودآور نشد و بنابراین ساخت کلاسترها توسعه نیافت تا سالی که DEC VAXcluster خود را بر اساس سیستم عامل VAX/VMS. ARCNet و VAXcluster نه تنها برای محاسبات مشترک، بلکه برای به اشتراک گذاری سیستم فایل و تجهیزات جانبی با در نظر گرفتن حفظ یکپارچگی داده ها و عدم ابهام طراحی شده اند. VAXCluster (که اکنون VMSCluster نامیده می شود) جزء جدایی ناپذیر سیستم عامل OpenVMS با استفاده از پردازنده های آلفا و ایتانیوم است.

دو محصول خوشه‌ای تحسین‌شده دیگر عبارتند از Tandem Hymalaya (کلاس HA) و IBM S/390 Parallel Sysplex (1994).

تاریخچه ایجاد خوشه ها از رایانه های شخصی معمولی مدیون پروژه ماشین مجازی موازی است. در سال 2009، این نرم افزار ابررایانه مجازی امکان ایجاد خوشه ها را به صورت آنی باز کرد. در نتیجه، عملکرد کل همه خوشه های ارزان ایجاد شده در آن زمان از مجموع ظرفیت های سیستم های تجاری "جدی" بهتر بود.

ایجاد خوشه‌ها بر اساس رایانه‌های شخصی ارزان‌قیمت متصل به شبکه انتقال داده در شهر توسط آژانس هوافضای آمریکا (ناسا) ادامه یافت، سپس در شهر خوشه‌های Beowulf، به‌ویژه بر اساس این اصل طراحی شدند. موفقیت چنین سیستم‌هایی باعث توسعه شبکه‌های شبکه‌ای شد که از زمان پیدایش یونیکس وجود داشته‌اند.

نرم افزار

یک ابزار پرکاربرد برای سازماندهی تعامل بین سرور، کتابخانه MPI است که از زبان ها و Fortran پشتیبانی می کند. برای مثال در برنامه شبیه سازی آب و هوا MM5 استفاده می شود.

سیستم عامل Solaris نرم افزار Solaris Cluster را ارائه می دهد که برای ارائه دسترسی بالا و failover برای سرورهای دارای Solaris استفاده می شود. یک پیاده سازی متن باز برای OpenSolaris وجود دارد که نام دارد OpenSolaris HA Cluster.

چندین برنامه در بین کاربران گنو/لینوکس محبوب هستند:

  • distcc، MPICH و دیگران ابزارهای تخصصی برای موازی کردن کار برنامه ها هستند. distcc امکان کامپایل موازی در مجموعه کامپایلر گنو را فراهم می کند.
  • Linux Virtual Server، Linux-HA - نرم افزار Node برای توزیع درخواست ها بین سرورهای محاسباتی.
  • MOSIX، openMosix، Kerrighed، OpenSSI - محیط‌های خوشه‌ای با ویژگی‌های کامل که در هسته ساخته شده‌اند، وظایف را به‌طور خودکار بین گره‌های همگن توزیع می‌کنند. OpenSSI، openMosix و Kerrighed ایجاد می کنند بین گره ها

مکانیزم‌های کلاستر قرار است در هسته DragonFly BSD ساخته شوند که در سال 2003 از FreeBSD 4.8 ایجاد شد. در آینده نیز تبدیل آن به محیط یکپارچه سیستم عامل.

مایکروسافت کلاستر HA را برای سیستم عامل ویندوز منتشر کرد. این عقیده وجود دارد که بر اساس فناوری شرکت تجهیزات دیجیتال ایجاد شده است، از 16 (از سال 2010) گره در یک خوشه و همچنین عملیات در SAN (شبکه منطقه ذخیره سازی) پشتیبانی می کند. مجموعه ای از API ها برای پشتیبانی از برنامه های کاربردی توزیع شده استفاده می شود، برای کار با برنامه هایی که شامل کار در یک خوشه نمی شوند، جاهای خالی وجود دارد.

Windows Compute Cluster Server 2003 (CCS) که در ژوئن 2006 منتشر شد، برای برنامه های کاربردی پیشرفته ای طراحی شده است که به محاسبات خوشه ای نیاز دارند. این نسخه به گونه‌ای طراحی شده است که بر روی چندین رایانه که برای دستیابی به قدرت ابر محاسباتی خوشه‌بندی شده‌اند، مستقر شود. هر خوشه در Windows Compute Cluster Server شامل یک یا چند ماشین اصلی است که کارها را توزیع می کنند و چندین ماشین برده که کار اصلی را انجام می دهند. در نوامبر 2008، Windows HPC Server 2008 برای جایگزینی Windows Compute Cluster Server 2003 معرفی شد.

توسعه سیستم های خوشه ای (CS) در روسیه

خوشه یک سیستم چند پردازنده ای مدولار است که بر اساس گره های محاسباتی استاندارد متصل شده توسط یک رسانه ارتباطی پرسرعت ایجاد شده است. اکنون کلمات "خوشه" و "ابر کامپیوتر" تا حد زیادی مترادف هستند، اما قبل از اینکه بتوان با اطمینان گفت، سخت افزار یک چرخه تکاملی طولانی را طی کرد. در طول 30 سال اول از ظهور رایانه ها، تا اواسط دهه 1980، فناوری های "ابر رایانه" منحصراً به عنوان تولید پردازنده های تخصصی، به ویژه قدرتمند شناخته می شدند. با این حال، ظاهر یک ریزپردازنده تک تراشه عملاً تفاوت بین پردازنده های «جرم» و «به ویژه قدرتمند» را پاک کرد و از آن لحظه به بعد، تنها راه برای ایجاد یک ابر رایانه، ترکیب پردازنده ها برای حل یک مشکل به صورت موازی بود. الکسی لاتسیس، یکی از خالقان ابررایانه روسی MVS-1000M، در کتاب خود با عنوان «نحوه ساخت و استفاده از یک ابر رایانه» آن را «نخستین انقلاب ابر رایانه» نامیده است.

تا اواسط دهه 1990. جهت اصلی در توسعه فن آوری های ابر رایانه با ساخت سیستم های چند پردازنده ای تخصصی از ریزمدارهای انبوه همراه بود. یکی از رویکردهای نوظهور - SMP (Symmetric Multi Processing)، به معنای ادغام بسیاری از پردازنده ها با استفاده از یک حافظه مشترک است که برنامه نویسی را تا حد زیادی تسهیل می کند، اما تقاضاهای زیادی را برای خود حافظه ایجاد می کند. حفظ عملکرد چنین سیستم هایی با افزایش تعداد گره ها به ده ها تقریبا غیرممکن بود. علاوه بر این، این رویکرد در اجرای سخت افزار گران ترین است. یک مرتبه ارزانتر و تقریباً بی نهایت مقیاس پذیر روش MPP (پردازش موازی انبوه) بود که در آن ماژول های محاسباتی تخصصی مستقل توسط کانال های ارتباطی تخصصی ترکیب می شدند که هر دو برای یک ابر رایانه خاص ایجاد شده بودند و برای اهداف دیگری استفاده نمی شدند.

ایده ایجاد به اصطلاح خوشه ای از ایستگاه های کاری در واقع توسعه روش MPP بود، زیرا به طور منطقی سیستم MPP تفاوت زیادی با یک شبکه محلی معمولی نداشت. شبکه محلیرایانه‌های شخصی استاندارد، با نرم‌افزار مناسبی که به‌عنوان یک ابرکامپیوتر چند پردازنده‌ای مورد استفاده قرار می‌گرفتند، و مولد خوشه‌های مدرن شدند. این ایده در اواسط دهه 1990 بیشتر توسعه یافت، زمانی که به لطف تجهیز همه جا رایانه های شخصی به باس PCI پرسرعت و ظهور ارزان، اما شبکه سریع. خوشه های اترنت سریع از نظر قابلیت های ارتباطی شروع به رسیدن به سیستم های تخصصی MPP کردند. این بدان معنی است که یک سیستم MPP تمام عیار می تواند از رایانه های سریال استاندارد با استفاده از سریال ایجاد شود فن آوری های ارتباطیو چنین سیستمی به طور متوسط ​​دو مرتبه قدر ارزان تر بود.

در اینجا معروف‌ترین ابررایانه‌های با معماری خوشه‌ای «نسل اول» هستند: Beowulf (1994، مرکز پرواز فضایی گودارد ناسا) - خوشه 16 پردازنده‌ای بر اساس پردازنده‌های Intel 486DX4/100 MHz. آوالون (1998، آزمایشگاه ملی لوس آلاموس) - خوشه لینوکس بر اساس پردازنده های آلفا 21164A/533 مگاهرتز. در ابتدا، آوالون شامل 68 پردازنده بود، سپس تعداد آنها به 140 افزایش یافت. عملکرد آن در تست LINPACK 48.6 GFlops*، آن را در رتبه 113 در نسخه دوازدهم Top500 قدرتمندترین کامپیوترهای جهان در کنار سیستم IBM RS/6000 SP SMP با 152 پردازنده قرار داد. اولین سیستم داخلی موجود در TorbOO، خوشه MVS-1000M بود که توسط موسسه تحقیقاتی KVANT و موسسه ریاضیات کاربردی آکادمی علوم روسیه ساخته شد. این شامل 384 گره مبتنی بر پردازنده های Alpha 21164 از DEC-Compaq بود.

* فلاپ (عملیات ممیز شناور در ثانیه) - تعداد عملیات ممیز شناور در ثانیه، معیاری برای عملکرد ابررایانه. GFlops (گیگافلاپس) - یک میلیارد عملیات ممیز شناور در ثانیه. TFlops (ترافلاپس) - یک تریلیون عملیات ممیز شناور در ثانیه. عملکرد واقعی قدرتمندترین ابررایانه امروزی بیش از 136 TFlops است. فقط یک سال پیش، این رقم 35 TFlops بود.

بین عملکرد اوج و واقعی ابرکامپیوترها تمایز قائل شوید. حداکثر عملکرد یک سیستم چند پردازنده ای (خوشه ای، سیستم SMP و غیره) یک مقدار نظری است که در عمل دست نیافتنی است. از ضرب حداکثر عملکرد پردازنده در تعداد پردازنده های موجود در سیستم به دست می آید. حداکثر عملکرد یک CPU معمولاً با ضرب سرعت کلاک آن در حداکثر تعداد عملیات انجام شده در هر سیکل ساعت به دست می آید. عملکرد واقعی یک خوشه عملکردی است که هنگام حل یک مشکل واقعی (دانشگاهی یا صنعتی) به دست می آید. به عنوان مثال، سیستم‌های رتبه‌بندی Top500 بر اساس نتایج آزمون LINPACK رتبه‌بندی می‌شوند که یک مسئله آکادمیک واقعی برای حل یک سیستم معادلات خطی است.

انگیزه قدرتمند جدید برای توسعه فناوری های خوشه ای، علاوه بر ظهور شبکه های ارتباطی پیشرفته تر، باعث افزایش سریع عملکرد پردازنده های انبوه تازه منتشر شده شد که راه حل های با کارایی بالا را مقرون به صرفه تر از همیشه کرد. به عنوان مثال، SKIF K-500، دومین خوشه داخلی موجود در TorbOO، بر اساس 128 ساخته شد. پردازنده های اینتلشبکه Xeon و سیستم SCI. این خوشه که در پاییز سال 2003 برای برنامه ابررایانه دولتی روسیه و بلاروس SKIF ساخته شد، با عملکرد واقعی 423.6 GFlops در رتبه 407 قرار گرفت. دومین خوشه "برترین" برنامه دولتی، "SKIF K-1000" بر اساس 576 پردازنده های AMDشبکه Opteron و InfiniBand در اکتبر 2004 ظاهر شد و با عملکرد واقعی 2032 TFlops وارد صدها برتر Top500 شد. هر دو خوشه SKIF نصب شده در بلاروس توسط T-Platforms با مشارکت موسسه سیستم های اطلاعاتی آکادمی علوم روسیه و شرکای بلاروسی ساخته شده اند و از فناوری های ابررایانه روسی استفاده می کنند. قدرتمندترین خوشه در روسیه در حال حاضر MVS 15000BM با عملکرد واقعی بیش از 5.3 ترافلاپس است، این خوشه در رتبه 56 در Top500 قرار دارد و در مرکز ابررایانه بین بخشی (MSC RAS) نصب شده است. این خوشه از گره های محاسباتی IBM بر اساس پردازنده های PowerPC و شبکه سیستم Myrinet ساخته شده است.

توسعه سریع فناوری های خوشه ای در سال های اخیر از تجزیه و تحلیل لیست Top500 به وضوح مشاهده می شود: از سال 2000 تا 2004، سهم خوشه ها در لیست از 2.2٪ به 60.8٪ افزایش یافت. اگر در سال 2000 فقط دو خوشه در بین 40 دستگاه قدرتمند وجود داشت (قوی ترین - 31مین مکان) ، تا سال 2004 تعداد آنها در بین 40 ماشین اول 24 بود. در عین حال، طبق آخرین نسخه Top500، بیش از 71.5 درصد از پردازنده هایی که برای ساخت ابررایانه ها استفاده می شود، پردازنده های تولید انبوه هستند. توسط اینتلو AMD

فناوری‌های خوشه‌ای نیز در آخرین پیشرفت‌های ابررایانه‌ای از سوی سازندگان پیشرو استفاده می‌شوند: برای مثال، قدرتمندترین ابررایانه IBM BlueGene/L امروزی با عملکرد بیش از 136 TFlops از بسیاری از عناصر معماری خوشه‌ای استفاده می‌کند.

حوزه کاربرد سیستم‌های خوشه‌ای در حال حاضر از ابررایانه‌های با معماری متفاوت باریک‌تر نیست: آنها با موفقیت کمتری با کار شبیه‌سازی انواع فرآیندها و پدیده‌ها کنار می‌آیند. مدل سازی ابر رایانه می تواند هزینه ها را تا حد زیادی کاهش دهد و سرعت معرفی محصولات جدید به بازار را افزایش دهد و همچنین کیفیت آنها را بهبود بخشد. به عنوان مثال، به جای ساختن مدل‌های آزمایشی گران قیمت از خودروهای جدید و سپس کوبیدن آنها به دیوار برای انجام محاسبات مهندسی، می‌توانید همه چیز را سریع‌تر و دقیق‌تر محاسبه کنید. مدل های کامپیوتری. به لطف این، بسیاری از نگرانی‌های خودروسازی غربی توانسته‌اند زمان توسعه یک مدل خودروی جدید را پنج برابر کاهش دهند - از 10 به 2 سال. پردازش رایانه‌ای داده‌های ژئوفیزیکی به شما امکان می‌دهد مدل‌های بسیار دقیقی از میادین نفت و گاز ایجاد کنید و توسعه چاه کارآمدتر، ایمن‌تر و ارزان‌تر را ارائه دهید.

توسعه فناوری‌های خوشه‌ای بود که محاسبات با کارایی بالا را به طور گسترده در دسترس قرار داد و به شرکت‌های مختلف اجازه داد تا از آنها استفاده کنند. به این ترتیب حوزه های کاربرد 500 کامپیوتر قدرتمند در جهان توزیع شده است: 44.3٪ - معدن، الکترونیک، خودرو، هوانوردی و سایر شاخه های صنایع سنگین و مهندسی، کمی بیش از 20٪ - علم و آموزش، ابرکامپیوتر. مراکز بیش از 18 درصد مربوط به تحقیقات آب و هوا و آب و هوا، 7 درصد به برنامه های هسته ای، فضایی، انرژی و دولت نظامی، 3.5 درصد به شرکت های مالی و بانک ها اختصاص دارد. علاوه بر این، این فهرست شامل شرکت‌ها و سازمان‌هایی است که در زمینه توسعه دارو و دارو، گرافیک کامپیوتری، حمل‌ونقل، تجارت، تولید مواد غذایی، مشاوره و مدیریت دولتی فعالیت دارند.

در مورد استفاده از ابررایانه ها در روسیه، رتبه 50 برتر فعلی ابررایانه های CIS که برای اولین بار در دسامبر 2004 منتشر شد، تنها شامل سه دسته از کاربران می شود: موسسات علمی و دانشگاه ها، شرکت های فعال در صنایع سنگین و نفت و همچنین موسسات مالی.

به طور متوسط، ابررایانه های داخلی هنوز از نظر عملکرد بسیار عقب تر از غربی ها هستند: ماشین های مورد استفاده برای تحقیقات علمی 15 برابر، منابع محاسباتی شرکت های مالی 10 برابر، ابررایانه های صنعتی 9 برابر هستند. با این حال، ویرایش دوم لیست Top50، که در آوریل 2005 منتشر شد، توسعه سریع صنعت را نشان می دهد. بنابراین، تعداد سیستم های فعال در بخش صنعتی از 2 به 16 درصد افزایش یافت و میانگین عملکرد آنها بلافاصله 135 درصد افزایش یافت. تعداد ابر رایانه های شرکت های مالی و بانک ها نیز از 2 به 18 درصد افزایش یافت. سهم ابرکامپیوترهای مورد استفاده برای تحقیقات علمی از 96 درصد به 66 درصد کاهش یافت و میانگین عملکرد آنها 70 درصد افزایش یافت. به طور کلی، ویرایش دوم رتبه بندی ابر رایانه های داخلی افزایش قابل توجهی در سهم سیستم های برای استفاده تجاری را نشان می دهد. بیشترین تعداد ابر رایانه های داخلی توسط IBM (26٪) عرضه شده است، اما سازندگان روسی فقط کمی از آن پایین تر هستند.