Що таке кластер?
Кластер Beowulf складається з окремих машин (вузлів) і об'єднує їх мережі (комутатори). Крім ОС, необхідно встановити і налаштувати мережеві драйвери, компілятори, ПО підтримки паралельного програмування і розподілу обчислювального навантаження.
Вузли кластера. Відповідним вибором в даний момент є системи на базі процесорів Intel Core 2 Duo або Intel Core 2 Quad. Варто встановити на кожен вузол не менше 1Gb оперативної пам'яті. Бажано 2-4Gb. Одну з машин слід виділити в якості центральної (консоль кластера) куди можна (але не обов'язково) встановити досить великий жорсткий диск, можливо більш потужний процесор і більше пам'яті, ніж на інші (робочі) вузли. Робити консоль кластера потужнішою машиною має сенс, якщо ви захочете мати на цьому комп'ютері крім интерфеса командного рядка зручніше операційної оточення, наприклад вікон менеджер (KDE, Gnome), Офісні програми, програми візуалізації даних і т.п.
Має сенс забезпечити (захищену) зв'язок цієї машини із зовнішнім світом. Іншими словами, мережа кластера (мережа, яка складається їх консолі кластера і робочих вузлів) топологічно не повинна знаходиться всередині корпоративної мережі. Якщо необхідно забезпечити доступ до консолі кластера з корпоративної мережі і / або Інтернет, то в цьому випадку, зв'язок повинна йти через окрему мережеву карту, встановлену в головному комп'ютері, і окремий комутатор.
Важливе зауваження. Оскільки бібліотеки для паралельних обчислень MPICH / MPI є кроссплатформенную, то вибір операційної системи (Windows vs Linux) не важливий. Однак слід врахувати той факт, що Linux є помітно менш ресурсномісткої системою. Наприклад при використанні PelicanHPC GNU Linux система займає в оперативній пам'яті не більше 40Мб! Вся інша пам'ять доступна паралельній програмі. Це дуже важливий фактор в тому випадку, коли кластер використовується з метою моделювання процесів на якомога більш докладної сітці.
За великим рахунком відмовлятися від Windows не обов'язково. Комунікаційні бібліотеки PVM, MPI є не тільки для UNIX, але і для Windows. Якщо установка в комп'ютерному класі UNIX-мережі викликає непереборну алергічну реакцію у адмінів або викладачів, можна залишити ту операційну систему, до якої ви звикли.
В принципі, для кластерних систем типу COW немає нагальної потреби зупиняти кластер (і завдання на ньому раховані) на денний (робоче) час, коли за вузловими машинами працюють користувачі. Робота паралельних програм звичайно буде сповільнюватися, але це не смертельно. Інша справа, якщо робота кластера буде помітно гальмувати і ускладнювати роботу користувачів.
Мережа. У найпростішому випадку для зв'язку між вузлами кластера використовується один сегмент Ethernet (10Mbit / sec на кручений парі). Однак дешевизна такої мережі, внаслідок колізій обертається великими накладними витратами на межпроцессорной обміни, а хорошу продуктивність такого кластера можна очікувати тільки на завданнях з дуже простої паралельної структурою і при дуже рідкісних взаємодіях між процесами (наприклад, перебір варіантів).
Для отримання хорошої продуктивності міжпроцесорних обмінів використовують повнодуплексний Fast Ethernet на 100Mbit / sec або Gigabit Ethernet. При цьому для зменшення числа колізій або встановлюють кілька "паралельних" сегментів Ethernet, або з'єднують вузли кластера через комутатор (switch). Під "паралельними" сегментами мається на увазі така структура мережі, коли кожен вузол кластера має більше однієї мережевої карти, які за допомогою спеціальних драйверів об'єднуються в один віртуальний мережевий інтерфейс, який має сумарну пропускну здатність. Для того, щоб уникнути проблем з конфігурацією такого віртуального интерфеса, слід використовувати однакові мережеві карти на всіх машинах кластера. Крім того, кожна паралельна лінія такого интерфеса повинна являти собою Ethernet-мережа побудовану на окремому (від інших паралельних їй ліній) комутатори.