Beowulf (кластер)

Beowulf (Beowolf) — кластер, який складається з широко поширеного апаратного забезпечення, що працює під управлінням операційної системи, поширюваної з вихідними кодами (наприклад, GNU / Linux або FreeBSD).

Історія створення

[ред. | ред. код]

Влітку 1994 року Томасом Стерлінгом і Доном Бекером, що працювали в центрі CEDSIS (Center of Excellence in Space Data and Information Sciences), був побудований перший кластер з 16 процесорів Intel DX4, з'єднаних мережею Ethernet з дублюванням каналів. Машина була названа Beowulf на честь героя скандинавської саги. Машина мала успіх, і їх ідея створення системи з готових стандартних компонентів для конкретних обчислювальних потреб швидко поширилася в NASA, а також в академічному та дослідницькому середовищі. Зусилля з розробки таких машин швидко вилилися в те, що зараз називається проєкт Beowulf. Зараз такі машини зазвичай зазивають «Кластерні ЕОМ класу Беовульф» (Beowulf Class Cluster Computers). Особливістю такого кластера також є масштабованість, тобто можливість збільшення кількості вузлів системи з пропорційним збільшенням продуктивності. Вузлами в кластері можуть служити будь серійно випускаються автономні комп'ютери, кількість яких може бути від 2 до 1024 і більше. Для розподілу обробки даних між вузлами зазвичай використовуються технології MPI або PVM.

Переваги Beowulf-систем

[ред. | ред. код]

-вартість системи набагато нижче вартості суперкомп'ютера;
-можливість збільшення продуктивності системи;
-можливість використання застарілих комп'ютерів, тим самим збільшується термін експлуатації комп'ютерів;
-широка поширеність, а значить і доступність, апаратного забезпечення.

Як побудувати Beowulf?

[ред. | ред. код]

1. Вузли кластера. Слушним вибором в цей момент є системи на базі процесорів Intel: Pentium II або Pentium II Xeon — або однопроцесорні ПК, або SMP-сервера з невеликим числом процесорів (2-4, можливо до 6). З деяких причин оптимальним вважається побудова кластерів на базі двопроцесорних систем, попри те, що в цьому випадку настройка кластера буде дещо складніше (головним чином тому, що доступни відносно недорогі материнські плати для 2 процесорів Pentium II). Варто встановити на кожен вузол 64-128MB оперативної пам'яті (для двопроцесорних систем 64-256MB). Одну з машин слід виділити як центральний (головний) вузол, куди слід встановити досить великий жорсткий диск, можливо потужніший процесор і більше пам'яті, ніж на інші (робочі) вузли. Має сенс забезпечити (захищену) зв'язок цієї машини із зовнішнім світом. При комплектації робочих вузлів цілком можливо відмовитися від жорстких дисків — ці вузли будуть завантажувати ОС через мережу з центральною машиною, що, крім економії коштів, дозволяє конфігурувати ОС і все необхідне ПЗ тільки 1 раз (на центральній машині). Якщо ці вузли не будуть одночасно використовуватися як користувальницькі робочі місця, нема потреби встановлювати на них відеокарти та монітори. Можлива установка вузлів в стійки (rackmounting), що дозволить зменшити місце, займане вузлами, але коштуватиме дещо дорожче. Можлива організація кластерів на базі вже наявних мереж робочих станцій, тобто робочі станції користувачів можуть використовуватися як вузли кластера вночі й у вихідні дні. Системи такого типу іноді називають COW (Cluster of Workstations). Кількість вузлів слід вибирати виходячи з необхідних обчислювальних ресурсів і доступних фінансових коштів. Слід розуміти, що при великому числі вузлів доведеться також встановлювати складніше і дороге мережеве обладнання.

2. Мережу. У найпростішому випадку використовується один сегмент Ethernet (10Mbit / sec на кручений парі). Однак дешевизна такої мережі, внаслідок колізій обертається великими накладними витратами на міжпроцесорні обміни; а хорошу продуктивність такого кластера слід очікувати тільки на завданнях з дуже простої паралельної структури та при дуже рідкісних взаємодіях між процесами (наприклад, перебір варіантів). Для отримання хорошої продуктивності міжпроцесорних обмінів використовують повнодуплексний Fast Ethernet на 100Mbit / sec. При цьому для зменшення числа колізій або встановлюють декілька «паралельних» сегментів Ethernet, або з'єднують вузли кластера через комутатор (switch). Дорожчим, але також популярним варіантом є використання комутаторів типу Myrinet (1.28Gbit / sec, повний дуплекс). Менш популярними, але також реально використовуваними при побудові кластерів мережевими технологіями є технології LAN, SCI [Архівовано 12 травня 2008 у Wayback Machine.] і Gigabit Ethernet.

Орієнтовна конфігурація і її вартість

[ред. | ред. код]

Візьмемо наступну конфігурацію кластера: 12 машин по 2 процесори Pentium II / 350 MHz на материнських платах Iwill (link is external), 64MB пам'яті та мережевий адаптер 100Mbit Ethernet від 3Com (link is external) на кожній машині; машини з'єднаємо «зіркою» через 12-портовий комутатор BayStack. На центральну машину встановимо жорсткий диск IDE об'ємом 10 GB, відеокарту і 17-дюймовий монітор. Сумарна вартість обладнання такого кластера складе близько $ 11200 (взяті ціни бельгійських комп'ютерних магазинів станом на квітень 2002 року); а пікова продуктивність — 10 GFLOPS (врахуйте, що реальна продуктивність на конкретних додатках буде набагато нижче)

Посилання

[ред. | ред. код]