Що таке Beowulf?, Локальні мережі, статті

(c)комп’ютерна газета

Avalon, суперкомп’ютер на базі Linux

У 1998 році в Лос-Аламоської національної лабораторії астрофізик Michael Warren та інші вчені з групи теоретичної астрофізики побудували суперкомп’ютер Avalon, який представляє з себе Linux-кластер на базі процесорів DEC Alpha/533MHz. Avalon спочатку складався з 68 процесорів, потім був розширений до 140. У кожному вузлі встановлено 256MB оперативної пам’яті, EIDE-жорсткий диск на 3.2GB, мережевий адаптер від Kingston (загальна вартість вузла – $ 1700). Вузли з’єднані за допомогою чотирьох 36-портових комутаторів Fast Ethernet і розташованого “у центрі” 12-портового комутатора Gigabit Ethernet від 3Com.

Загальна вартість Avalon – $ 313 тис., а його продуктивність по LINPACK (47.7 GFLOPS) дозволила йому зайняти 114-е місце в 12-й редакції списку Top500 (поруч з 152-процесорної системою IBM SP2). 70-процесорна конфігурація Avalon по багатьом тестам показала таку ж продуктивність, як 64-процесорна система SGI Origin2000/195MHz, вартість якої перевищує $ 1 млн.
В даний час Avalon активно використовується в астрофізичних, молекулярних та інших наукових обчисленнях. На конференції SC’98 творці Avalon представили доповідь, що має назву “Avalon: An Alpha / Linux Cluster Achieves 10 Gflops for $ 150k “, і заслужили премію за показником ціна / продуктивність (“1998 Gordon Bell Price / Performance Prize”). (Http://cnls.lanl.gov/avalon/ photos.htmlhttp :/ / cnls.lanl.gov / avalon / photos.html) Mike Warren на тлі свого дітища

Для чого потрібні кластери?

Постачальники традиційних комерційних суперкомп’ютерів (SMP, MPP, паралельних векторних) досить швидко підвищують продуктивність, надійність, удосконалюють простоту використання своїх продуктів. Однак у цих комп’ютерів є один великий недолік – ціна, часом недоступна для багатьох освітніх та науково-дослідних організацій. Однак потреба в обчислювальних ресурсах у цих організацій велика.
Слід мати на увазі, що продуктивність персональних комп’ютерів на базі процесорів Intel в останні роки також значно зросла. Такі комп’ютери стали створювати серйозну конкуренцію робочих станцій на базі RISC, особливо за показником ціна / продуктивність. Одночасно стала набувати все більшої популярності ОС Linux – безкоштовно розповсюджувана версія UNIX. При цьому в наукових організаціях і університетах, як правило, є ентузіасти безкоштовного розповсюджуваного ПЗ та фахівці (“гуру”) по ОС Linux.
Виникла ідея створювати паралельні обчислювальні системи (кластери) із загальнодоступних комп’ютерів на базі Intel і недорогих Ethernet-мереж, встановлюючи на ці комп’ютери Linux і одну з безкоштовно розповсюджуваних комунікаційних бібліотек (PVM, а потім MPI). Виявилося, що на багатьох класах задач і при достатньому числі вузлів такі системи дають продуктивність, порівнянну з суперкомп’ютерної.

Історія проекту Beowulf

Проект виник у науково-космічному центрі NASA – Goddard Space Flight Center (GSFC), точніше в створеному на його основі CESDIS (Center of Excellence in Space Data and Information
Sciences).
Проект Beowulf почався влітку 1994 року збіркою в GSFC 16-процесорного кластера (на процесорах 486DX4/100MHz, 16MB пам’яті і 3 мережевих адаптера на кожному вузлі, 3 “паралельних” Ethernet-кабелю по 10Mbit). Даний кластер, який і був названий Beowulf, створювався як обчислювальний ресурс проекту Earth and Space Sciences Project (ESS). Є картинка із зображенням цього першого Beowulf.
Далі в GSFC та інших підрозділах NASA були зібрані більш потужні кластери. Наприклад, кластер theHIVE (Highly-parallel Integrated Virtual Environment) містить 64 вузла по 2 процесора Pentium Pro/200MHz і 4GB пам’яті в кожному, 5 комутаторів Fast Ethernet. Загальна вартість цього кластера становить приблизно $ 210 тис. Доступна інформація про продуктивність theHIVE на різних додатках і тестах.
В рамках проекту Beowulf був розроблений ряд високопродуктивних і спеціалізованих мережевих драйверів (зокрема, драйвер для використання декількох Ethernet-каналів одночасно).
Офіційна сторінка проекту Beowulf – www.beowulf.org.

Звідки виник термін “Beowulf”?

Ізначательно термін “Beowulf” виник як власне ім’я Linux-кластера в GSFC. Потім він став застосовуватися до всіх аналогічним кластерним системам (Beowulf-кластер, кластер “А-ля” 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.

системне ПО

1. Операційна система. Слід встановити безкоштовно поширювану OC Linux з вдосконаленим ядром версій 2.2. *. Дистрибутиви Linux поширюються через Інтернет або на CD-ROM. Рекомендований дистрибутив – RedHat Linux версій 5.2 і пізніше. Є також русифікований дистрибутив – KSI Linux. Існує і налагоджена техніка завантаження Linux через мережу, що дуже корисно для бездискових конфігурацій. Необхідно знайти і правильно налаштувати найбільш підходящі до встановлених адаптерам драйвера.

2. Компілятори. Безкоштовні компілятори проекту GNU – GCC/G77, поширювані разом з Linux, на жаль, не забезпечують прийнятного рівня оптимізації програм. Має сенс вибрати комерційні компілятори Fortran / C / C + +, що входять в пакет PGI Workstation 3.0 компанії Portland Group (PGI). Ці компілятори адаптовані до платформи Intel і забезпечують дуже високий рівень оптимізації для процесорів Pentium Pro / Pentium II (Саме вони використовуються на суперкомп’ютері ASCI Red), підтримують популярний інтерфейс OpenMP для розпаралелювання програм в моделі загальної пам’яті на SMP-комп’ютерах. Вартість поставки тільки компілятора Fortran 77 $ 299. Доступна evaluation-версія пакету PGI
Workstation (“test drive”).
3. Комунікаційні бібліотеки. Найбільш поширеним інтерфейсом паралельного програмування в моделі передачі повідомлень є MPI. Рекомендовано безкоштовна реалізація MPI – пакет MPICH, розроблений в Аргонської Національної Лабораторії. Для кластерів на базі комутатора Myrinet розроблена система HPVM, куди також входить реалізація MPI.
Для ефективної організації паралелізму всередині однієї SMP-cистема можливі два варіанти:
1. Для кожного процесора в SMP-машині породжується окремий MPI-процес. MPI-процеси всередині цієї системи обмінюються повідомленнями через поділювану пам’ять (необхідно налаштувати MPICH відповідним чином).
2. На кожній машині запускається тільки один MPI-процес. Усередині кожного MPI-процесу проводиться розпаралелювання в моделі “спільної пам’яті”, наприклад за допомогою директив OpenMP.
Після установки реалізації MPI має сенс протестувати реальну продуктивність мережевих пересилань.
Крім MPI, є і інші бібліотеки та системи паралельного програмування, які можуть бути використані на кластерах. Слід розуміти, що використання для програмування нестандартних коштів веде до поганої переносимості паралельних програм.

Інші цікаві проекти

Проект Berkeley NOW (Network Of Workstations) – технологія, дуже схожа на Beowulf, розроблена в університеті шт. Каліфорнія в Берклі. У 1997 році на кластері з 100 робочих станцій на базі UltraSPARC була досягнута продуктивність в 10GFLOPS по LINPACK, що дозволило йому увійти в 200 найпотужніших комп’ютерів світу. Проект офіційно завершено в травні 1998 року. Доступно розроблене в рамках проекту ПЗ, у тому числі ОС GLUnix (спеціалізована версія UNIX), система передачі повідомлень Active Messages, реалізація MPI та ін
‰ У статті “A Case for Networks of Workstations: NOW” (PS, 58K), опублікованій в лютому 1995 р. журналом IEEE Micro, обговорюються основні ідеї проекту NOW.
Проект Condor (High Throughput Computing). Система Condor розробляється в університеті шт. Вісконсін (Madison). Condor розподіляє незалежні підзадачі за існуючою в організації мережі робочих станцій, змушуючи комп’ютери працювати у вільний час (тобто в той час, коли вони простоювали б без своїх користувачів). Програмне забезпечення системи Condor доступно безкоштовно. В даний час підтримуються платформи SGI, Solaris, Linux, HP-UX і Digital Unix, проте планується також підтримка Windows NT.
Проект T-Система – система програмування і run-time середу, що реалізують автоматичне динамічне розпаралелювання програм. Розробляється в ІПС РАН (Переславль-Залеський). У рамках проекту створено спеціальний мова t2cp – функціональне розширення С. Система орієнтована на завдання з динамічним (Прихованим до моменту запуску) паралелізмом. В даний час T-система реалізована для TCP / IP-мережі Linux-комп’ютерів (в т.ч. SMP).
Проект MOSIX – програмний модуль для підтримки кластерних обчислень на Linux. Розробляється в Hebrew University (Ізраїль). Забезпечує елементи NUMA-функціональності на кластері. Вбудовані алгоритми автоматичного розподілу завантаження. Програмне забезпечення доступне безкоштовно.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*