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.

Походження терміну

Спочатку так називався один з Linux-кластерів в науково-космічному центрі NASA, і ця назва була взята з однойменної давньоанглійської епічної поеми про героя-богатиря Беовульфа.

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

-вартість системи набагато нижче вартості суперкомп'ютера;

-можливість збільшення продуктивності системи;

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

-широка поширеність, а значить і доступність, апаратного забезпечення.

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

(Деякі практичні рекомендації з побудови паралельних кластерів)

Кластер складається з окремих машин (вузлів) і об'єднуючою їх мережі (комутатора). Крім ОС, необхідно встановити і налаштувати мережеві драйвери, компілятори, ПО підтримки паралельного програмування і розподілу обчислювального навантаження.

1. Вузли кластера. Підходящим вибором в даний момент є системи на базі процесорів Intel: Pentium II або Pentium II Xeon - або однопроцесорні ПК, або SMP-сервера з невеликим числом процесорів (2-4, можливо до 6). З деяких причин оптимальним вважається побудова кластерів на базі двопроцесорних систем, незважаючи на те, що в цьому випадку настройка кластера буде дещо складніше (головним чином тому, що доcтупни відносно недорогі материнські плати для 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 і Gigabit Ethernet.

Посилання