Відмінності між версіями «Компю'терний кластер»

(Переваги та недоліки кластера)
м
 
(Не показано 14 проміжних версій цього користувача)
Рядок 18: Рядок 18:
 
Програма у паралельній архітектурі має створюватися з розрахунком на ефективне використання ресурсів цієї архітектури. Мається на увазі те, що застосування повинне бути розділене на частини, які можуть виконуватися паралельно на декількох процесорах, і розділене ефективно, щоб окремо виконувані шматки програми мінімально впливали на виконання інших частин.  
 
Програма у паралельній архітектурі має створюватися з розрахунком на ефективне використання ресурсів цієї архітектури. Мається на увазі те, що застосування повинне бути розділене на частини, які можуть виконуватися паралельно на декількох процесорах, і розділене ефективно, щоб окремо виконувані шматки програми мінімально впливали на виконання інших частин.  
  
Припустимо, що у програмі частка операцій, які потрібно виконувати послідовно, дорівнює f, де 0 <= f <= 1 (при цьому частка розуміється не по статичному числа рядків коду, а за кількістю операцій у процесі виконання). Крайні випадки в значеннях f відповідають повністю паралельним (f = 0) і повністю послідовним (f = 1) програмами. Так от, для того, щоб оцінити, яке прискорення S може бути отримано на комп'ютері з p процесорів при даному значенні f, можна скористатися законом Амдала:
+
Припустимо, що у програмі частка операцій, які потрібно виконувати послідовно, дорівнює f, де 0 <= f <= 1 (при цьому частка розуміється не по статичному числа рядків коду, а за кількістю операцій у процесі виконання). Крайні випадки в значеннях f відповідають повністю паралельним (f = 0) і повністю послідовним (f = 1) програмами. Так от, для того, щоб оцінити, яке прискорення S може бути отримано на комп'ютері з p процесорів при даному значенні f, можна скористатися [[Закон Адмала|законом Амдала]]:
  
 
<center>
 
<center>
Рядок 26: Рядок 26:
  
 
Припустимо, що у програмі лише 10% послідовних операцій, тобто  f = 0.1. Можна зробити висновок, що скільки б процесорів не було використано, прискорення роботи програми більш, ніж у десять разів ніяк не буде отримано. І цифра 10 – це теоретична верхня оцінка найбільш оптимального випадку, коли ніяких інших негативних факторів немає.
 
Припустимо, що у програмі лише 10% послідовних операцій, тобто  f = 0.1. Можна зробити висновок, що скільки б процесорів не було використано, прискорення роботи програми більш, ніж у десять разів ніяк не буде отримано. І цифра 10 – це теоретична верхня оцінка найбільш оптимального випадку, коли ніяких інших негативних факторів немає.
 
  
 
== Переваги та недоліки кластера ==
 
== Переваги та недоліки кластера ==
  
 
=== Переваги кластера===
 
=== Переваги кластера===
# Один
+
 
# Два
+
# Велике значення співвідношення продуктивність/собівартість
# Три
+
# Може складатись з звичайних робочих станцій
# Чотири
+
# Відносна дешевизна
 +
## Можна використовувати звичайні робочі станції
 +
## Навіть при купівлі всього обладнання вартість кластре є меншою ніж вартість суперкомпютера з однаковими обчислювальними можливостями
  
 
=== Недоліки кластера ===
 
=== Недоліки кластера ===
* Один
 
* Два
 
* Три
 
  
== Кластер ТНТУ ==
+
* Розпаралелення завдання є клопітким та складним процесом
 +
** Якщо програма буде використовуватись малий період часу недоцільно тратити багато часу на її розпаралелення
 +
** Для досягнення максимальної ефективності потрібно розпаралелювати обчислення в залежності від параметрів станції
 +
* Неможливість досягнення оптимальних результатів через гетерогенність
 +
* Проблема [[Інтерконект|інтерконекту]]
 +
 
 +
== Кластер в Україні==
 +
Найбільшими кластерами працютьв Україні на даний час є Обчислювальний кластер Iнформацiйно-Обчислювального центру Київського національного університету імені Тараса Шевченка та Центр суперкомп'ютерних обчислень НТУУ "КПІ".
 +
=== Обчислювальний кластер Iнформацiйно-Обчислювального центру Київського національного університету імені Тараса Шевченка ===
 +
 
 +
==== Історія створення ====
 +
 
 +
Перші спроби запустити розпаралелену задачу на кількох машинах були здiйсненi у квітні 1999 року Олександром Олейніковим та Русланом Явдошаком на машинах комп'ютерного класу радіофізичного факультету. Використовувалась операційна система FreeBSD-3.1 та бібліотека MPI. Спочатку задачу було вирішено на двох машинах, а згодом - на шести. Можливістю розпаралелення задач зацікавились, одразу з'явилися спроби розпаралелити деякі з чисельних методів, щоб дійсно відчути "потужність" обчислювального комплексу. На той час стояла низка задач з квантової механіки, які вимагали громіздких обчислень. Тому була актуальною проблема розпаралелення задач такого гатунку .
 +
 
 +
У жовтні 1999 року на ІОЦ було створено кластер з двох персональних комп'ютерів. За короткий час було встановлено бібліотеку для роботи з матрицями, яка легко піддається розпаралеленню, та програму GAMESS (General Atomic and Molecular Electronic System and Structure), що використовувала дану біліотеку. Раніше через брак оперативної пам'яті та великі затрати процесорного часу за допомогою цієї програми можна було моделювати тільки невеликі кластери.
 +
 
 +
З'являлося все більше задач, що вимагали великих потужностей для свого вирiшення, тому в листопаді 1999 року на ІОЦ було створено офіційний обчислювальний кластер для Київського національного університету імені Тараса Шевченка, що складався з чотирьох вузлів, побудованих на основі однопроцесорних робочих станцій PIII-450MHz з оперативною пам"яттю 128Мб та жорстким диском на 12Гб.
 +
 
 +
Протягом 2000 року навантаження на кластер зросло й досягло досить високого рівня (до 600-1000%). Було вирішено провести модернізацію системи, що й було зроблено в березні-квітні 2001 року в рамках програми підтримки вищих навчальних закладів корпорації Intel за сприяння українського представництва Інтел.
 +
 
 +
==== Технічні параметри ====
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
! Параметр
 
! Параметр
! Серверний вузло
+
! Вузол 1 типу
! Клієнтський вузол
+
! Вузол 2 типу
 +
! Вузол 3 типу
 +
! Вузол 4 типу
 +
! Вузол 5 типу
 
|-
 
|-
! Частота процесора
+
! Процесор
| 2 х 2,4 Гц
+
| 2xIntel® Pentium III 933МГц
| 2 х 2,13 Гц
+
| 2хIntel® Pentium III 1ГГц
 +
| 2хIntel® Xeon 2.4ГГц
 +
| 2хIntel® Xeon 2.4ГГц
 +
| 2хIntel® Xeon EM64T 3.2ГГц
 
|-
 
|-
! Об'єм пам'яті
+
! Оперативна пам`ять
| 4 Гб
+
| ECC SDRAM 512Мб
| 2 Гб
+
| ECC SDRAM 512Мб
 +
| ECC SDRAM 512Мб
 +
| ECC SDRAM 1Гб
 +
| ECC SDRAM 2Гб
 
|-
 
|-
 
! Жорсткий диск
 
! Жорсткий диск
| 120 Гб
+
| IBM UltraWide SCSI-2 36Gb
| 40 Гб
+
| IBM UltraWide SCSI-2 36Gb
 +
| IBM UltraWide SCSI-2 36Gb
 +
|  -
 +
|  -
 
|-
 
|-
 
! Мережева карта
 
! Мережева карта
| Intel® PRO/1000
+
| colspan=2| <center> Intel® PRO/1000 </center>
| Intel® PRO/1000
+
| colspan=3| <center> 2 x Intel® PRO/1000 </center>
|-
 
! Інші пристрої
 
|colspan=2| Клавіатура та миша
 
 
|-
 
|-
 
|}
 
|}
  
== Список джерел ==
+
Кластер працює пiд керуванням операцiйної системи Linux На кластерi працює експериментальна система збереження (чекпойнт) та вiдновлення процесiв в контрольних точках ЧПОКС, розроблена робочою групою кластера.
 +
 
 +
== Перелік літературних джерел ==
 +
 
 +
#Багатоядерні процесори: мікроархітектура та особливості застосування: Посібник/ М. М. Барченко, І. Б. Березовська. – Львів: Ліга Прес, 2009. – 176 с.
 +
#Топорков В.В. Модели распределенных вычислений. – М.: ФИЗМАТЛИТ,  2004. – 320 с.
 +
 
 +
== Перелік посилань ==
 +
 
 +
*[http://en.wikipedia.org/wiki/Cluster_(computing) Кластер в англійській Вікіпедії]
 +
 
 +
*[http://hpcc.org.ua/ Центр суперкомп'ютерних обчислень НТУУ "КПІ"]
 +
 
 +
*[http://www.cluster.kiev.ua/ Обчислювальний кластер Київського національного університету ім. Т.Г.Шевченка]
 +
 
 +
*[http://cluster.linux-ekb.info/ Лінукс кластер]
 +
 
 +
 
 +
 
 +
[[Категорія:Планування експерименту]]

Поточна версія на 20:49, 12 січня 2011

Blue check.png Дана стаття являється неперевіреним навчальним завданням.
Студент: VicktoR
Викладач: Назаревич О. Б.
Термін до: 10 березня 2011

До вказаного терміну стаття не повинна редагуватися іншими учасниками проекту. Після завершення терміну виконання будь-який учасник може вільно редагувати дану статтю і витерти дане попередження, що вводиться за допомогою шаблону.



Кла́стер — це декілька незалежних обчислювальних машин, що використовуються спільно і працюють як одна система для вирішення тих чи інших задач, наприклад, для підвищення продуктивності, забезпечення надійності, спрощення адміністрування, тощо. Обчислювальний кластер потрібен для збільшення швидкості обрахунків за допомогою паралельних обчислень.

Історія розвитку

Майкл Ворен та "Avalon"

Історія кластерів розпочалася 1994 році. Піонером у цій справі є науково–космічний центр NASA, точніше створений на його основі CESDIS (Center of Excellence in Space Data and Information Sciences). Фахівцями GSFC влітку 1994 року був зібраний перший кластер, що складався з 16 комп'ютерів 486DX4/100MHz/16Mb RAM і трьох паралельно працюючих 10Mbit мережевих адаптерів. Даний кластер, який був названий "Beowulf", створювався як обчислювальний ресурс проекту Eart and Space Sciences Project (ESS). Офіційна сторінка проекту Beowulf.

Через чотири роки в 1998 році, в Лос–Аламоської національній лабораторії (США) астрофізик Майкл Ворен та інші вчені з групи теоретичної астрофізики побудували суперкомп'ютер Avalon, який представляв собою кластер на базі процесорів Alpha 21164A з тактовою частотою 533 МГц. Спочатку Avalon складався з 68 процесорів, та згодом був розширений до 140. У кожному вузлі встановлено по 256 Мбайт оперативної пам'яті, жорсткий диск на 3 Гб і мережевий адаптер Fast Ethernet. Загальна вартість проекту Avalon склала 313 тисяч доларів, а показана ним продуктивність на тесті LINPACK – 47,7 GFLOPS, дозволила йому зайняти 114 місце в 12–й редакції списку Top500 поруч з 152–процесорною системою IBM RS/6000 SP. У тому ж 1998 році на найпрестижнішій конференції в області високопродуктивних обчислень Supercomputing'98 творці Avalon представили доповідь "Avalon: An Alpha / Linux Cluster Achieves 10 Gflops for $ 150k", що отримав першу премію в номінації "найкраще відношення ціна/продуктивність".

Цікава розробка з'явилася в Університеті штату Кентуккі – кластер KLAT2 (Kentucky Linux Athlon Testbed 2), зображений на рисунку 1.5. Система KLAT2 складається з 64 без дискових вузлів з процесорами AMD Athlon/700 Мгц і оперативною пам'яттю 128 Мбайт на кожному. Програмне забезпечення, компілятори і математичні бібліотеки (SCALAPACK, BLACS і ATLAS) були доопрацьовані для ефективного використання технології 3DNow! процесорів AMD, що дозволило збільшити продуктивність.

Оцінка ефективності роботи кластера

Деякі чисельні схеми в силу особливостей алгоритму не піддаються ефективному розпаралеленню. Перш ніж орієнтуватися на застосування кластера для вирішення задачі, необхідно впевнитися у можливості застосування паралельних алгоритмів.

Програма у паралельній архітектурі має створюватися з розрахунком на ефективне використання ресурсів цієї архітектури. Мається на увазі те, що застосування повинне бути розділене на частини, які можуть виконуватися паралельно на декількох процесорах, і розділене ефективно, щоб окремо виконувані шматки програми мінімально впливали на виконання інших частин.

Припустимо, що у програмі частка операцій, які потрібно виконувати послідовно, дорівнює f, де 0 <= f <= 1 (при цьому частка розуміється не по статичному числа рядків коду, а за кількістю операцій у процесі виконання). Крайні випадки в значеннях f відповідають повністю паралельним (f = 0) і повністю послідовним (f = 1) програмами. Так от, для того, щоб оцінити, яке прискорення S може бути отримано на комп'ютері з p процесорів при даному значенні f, можна скористатися законом Амдала:

[math]S \le {1 \over f + (1 - f)/p}[/math]

Припустимо, що у програмі лише 10% послідовних операцій, тобто f = 0.1. Можна зробити висновок, що скільки б процесорів не було використано, прискорення роботи програми більш, ніж у десять разів ніяк не буде отримано. І цифра 10 – це теоретична верхня оцінка найбільш оптимального випадку, коли ніяких інших негативних факторів немає.

Переваги та недоліки кластера

Переваги кластера

  1. Велике значення співвідношення продуктивність/собівартість
  2. Може складатись з звичайних робочих станцій
  3. Відносна дешевизна
    1. Можна використовувати звичайні робочі станції
    2. Навіть при купівлі всього обладнання вартість кластре є меншою ніж вартість суперкомпютера з однаковими обчислювальними можливостями

Недоліки кластера

  • Розпаралелення завдання є клопітким та складним процесом
    • Якщо програма буде використовуватись малий період часу недоцільно тратити багато часу на її розпаралелення
    • Для досягнення максимальної ефективності потрібно розпаралелювати обчислення в залежності від параметрів станції
  • Неможливість досягнення оптимальних результатів через гетерогенність
  • Проблема інтерконекту

Кластер в Україні

Найбільшими кластерами працютьв Україні на даний час є Обчислювальний кластер Iнформацiйно-Обчислювального центру Київського національного університету імені Тараса Шевченка та Центр суперкомп'ютерних обчислень НТУУ "КПІ".

Обчислювальний кластер Iнформацiйно-Обчислювального центру Київського національного університету імені Тараса Шевченка

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

Перші спроби запустити розпаралелену задачу на кількох машинах були здiйсненi у квітні 1999 року Олександром Олейніковим та Русланом Явдошаком на машинах комп'ютерного класу радіофізичного факультету. Використовувалась операційна система FreeBSD-3.1 та бібліотека MPI. Спочатку задачу було вирішено на двох машинах, а згодом - на шести. Можливістю розпаралелення задач зацікавились, одразу з'явилися спроби розпаралелити деякі з чисельних методів, щоб дійсно відчути "потужність" обчислювального комплексу. На той час стояла низка задач з квантової механіки, які вимагали громіздких обчислень. Тому була актуальною проблема розпаралелення задач такого гатунку .

У жовтні 1999 року на ІОЦ було створено кластер з двох персональних комп'ютерів. За короткий час було встановлено бібліотеку для роботи з матрицями, яка легко піддається розпаралеленню, та програму GAMESS (General Atomic and Molecular Electronic System and Structure), що використовувала дану біліотеку. Раніше через брак оперативної пам'яті та великі затрати процесорного часу за допомогою цієї програми можна було моделювати тільки невеликі кластери.

З'являлося все більше задач, що вимагали великих потужностей для свого вирiшення, тому в листопаді 1999 року на ІОЦ було створено офіційний обчислювальний кластер для Київського національного університету імені Тараса Шевченка, що складався з чотирьох вузлів, побудованих на основі однопроцесорних робочих станцій PIII-450MHz з оперативною пам"яттю 128Мб та жорстким диском на 12Гб.

Протягом 2000 року навантаження на кластер зросло й досягло досить високого рівня (до 600-1000%). Було вирішено провести модернізацію системи, що й було зроблено в березні-квітні 2001 року в рамках програми підтримки вищих навчальних закладів корпорації Intel за сприяння українського представництва Інтел.

Технічні параметри

Параметр Вузол 1 типу Вузол 2 типу Вузол 3 типу Вузол 4 типу Вузол 5 типу
Процесор 2xIntel® Pentium III 933МГц 2хIntel® Pentium III 1ГГц 2хIntel® Xeon 2.4ГГц 2хIntel® Xeon 2.4ГГц 2хIntel® Xeon EM64T 3.2ГГц
Оперативна пам`ять ECC SDRAM 512Мб ECC SDRAM 512Мб ECC SDRAM 512Мб ECC SDRAM 1Гб ECC SDRAM 2Гб
Жорсткий диск IBM UltraWide SCSI-2 36Gb IBM UltraWide SCSI-2 36Gb IBM UltraWide SCSI-2 36Gb - -
Мережева карта
Intel® PRO/1000
2 x Intel® PRO/1000

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

Перелік літературних джерел

  1. Багатоядерні процесори: мікроархітектура та особливості застосування: Посібник/ М. М. Барченко, І. Б. Березовська. – Львів: Ліга Прес, 2009. – 176 с.
  2. Топорков В.В. Модели распределенных вычислений. – М.: ФИЗМАТЛИТ, 2004. – 320 с.

Перелік посилань