Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпори (50-64).doc
Скачиваний:
5
Добавлен:
21.08.2019
Размер:
748.54 Кб
Скачать

55.Програмні засоби кластерів

Широко розповсюдженим засобом для організації межсерверного взаємодії є бібліотека MPI, що підтримує мови C і Fortran. Операційна система Solaris надає програмне забезпечення Solaris Cluster, яке служить для забезпечення високої доступності та безвідмовності серверів, що працюють під управлінням Solaris. Для OpenSolaris існує реалізація з відкритим кодом під назвою OpenSolaris HA Cluster.

Серед користувачів GNU / Linux популярні кілька програм:

  • distcc, MPICH и др. - спеціалізовані засоби для розпаралелювання роботи програм. distcc допускає паралельну компіляцію в GNU Compiler Collection.

  • Linux Virtual Server, Linux-HA - вузлове ПО для розподілу запитів між обчислювальними серверами.

  • MOSIX, openMosix, Kerrighed, OpenSSI - повнофункціональні кластерні середовища, вбудовані в ядро, автоматично розподіляють завдання між однорідними вузлами. OpenSSI, openMosix і Kerrighed створюють середовище єдиної операційної системи між вузлами.

Кластерні механізми планується вмонтувати і в ядро ​​DragonFly BSD, відгалузилися в 2003 році від FreeBSD 4.8. У далеких планах також перетворення її в середу єдиної операційної системи.

Компанією Microsoft випускається HA-кластер для операційної системи Windows. Існує думка, що він створений на основі технології Digital Equipment Corporation, підтримує до 16 (з 2010 року) вузлів в кластері, а також роботу в мережі SAN (Storage Area Network). Набір API-інтерфейсів служить для підтримки розподіляються додатків, є заготовки для роботи з програмами, які не передбачають роботи в кластері.

Windows Compute Cluster Server 2003 (CCS), випущений в червні 2006 року розроблений для високотехнологічних додатків, які вимагають кластерних обчислень. Видання розроблено для розгортання на безлічі комп'ютерів, які збираються в кластер для досягнення потужностей суперкомп'ютера. Кожен кластер на Windows Compute Cluster Server складається з одного або декількох керуючих машин, які розподіляють завдання та кількох підлеглих машин, які виконують основну роботу. У листопаді 2008 представлений Windows HPC Server 2008, покликаний замінити Windows Compute Cluster Server 2003.

56.Комунікаційне середовище: Ethernet та Myrinet

Існує багато варіантів створення та побудови кластерних систем. Всі вони відрізняються між собою комунікаційним середовищем, що використовується для передачі даних між вузлами. Спочатку використовувався стандарт Ethernet зі швидкістю 10Мбіт/с.

В наш час досить поширеною є технологія Fast Ethernet зі швидкістю 10Мбіт/с. Проте великі накладні витрати даної технології при передачі даних не дозволяють створити універсальні обчислювальні кластери. Як альтернативу розробники можуть використовувати технології Gigabit Ethernet, Clan, Myrinet, Servernet та інші.

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

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

Розглянемо параметри, які впливають на продуктивність комп’ютерів даного класу:

Наявність фрагментів програми, які можна розпаралелювати. Якщо в програмі досить великі фрагменти послідовного коду, то розраховувати на збільшення продуктивності не варто.

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

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

Для досягнення найбільш ефективної роботи потрібно досягнути максимально рівномірної навантаженості кожного вузла. Якщо такої рівномірності не буде, то деякі процесори будуть простоювати, а решта - перенавантажені. Рівномірність навантаження досить легко досягнути на рівномірних однорідних системах (системи, в яких всі вузли однакової конфігурації, що з’єднані однаковою мережею). На неоднорідних системах досить важко досягнути рівномірної навантаженості.

Ще один фактор, що впливає на продуктивність - це реальна продуктивність кожного вузла. Різні моделі процесорів можуть мати різну характеристику, а саме: кількість рівнів кеш пам’яті, різні кількості функціональних пристроїв, тощо.

Ethernet (езернет, від лат. aether — етер) — базова технологія локальних обчислювальних (комп'ютерних) мереж з комутацією пакетів, що використовує протокол CSMA/CD (множинний доступ з контролем несучої та виявленням колізій). Цей протокол дозволяє в кожний момент часу лише один сеанс передачі в логічному сегменті мережі. При появі двох і більше сеансів передачі одночасно виникає колізія, яка фіксується станцією, що ініціює передачу. Станція аварійно зупиняє процес і очікує закінчення поточного сеансу передачі, а потім знову намагається повторити передачу.

Ethernet-мережі функціонують на швидкостях 10Мбіт/с, Fast Ethernet — на швидкостях 100Мбіт/с, Gigabit Ethernet — на швидкостях 1000Мбіт/с, 10 Gigabit Ethernet — на швидкостях 10Гбіт/с. В кінці листопада 2006 року було прийняте рішення про початок розробок наступної версії стандарту з досягненням швидкості 100Гбіт/с (100 Gigabit Ethernet).

Технологія. З самого початку Ethernet базувався на ідеї зв'язку комп'ютерів через єдиний коаксіальний кабель, що виконував роль транзитного середовища. Метод передавання був дещо схожим на методи радіопередавання (хоча й з суттєвими відмінностями, наприклад, те, що в кабелі значно легше виявити колізію, ніж в радіоефірі). Загальний мережний кабель, через який велася передача, був дещо подібним на ефір, і з цієї аналогії походить назва Ethernet (англ. net — «мережа»).

З плином часу з відносно простої початкової специфікації Ethernet розвинувся у складну мережну технологію, яка зараз використовується у більшості комп'ютерних систем. Щоб зменшити ціну та полегшити управління та виявлення помилок в мережі, коаксіальний кабель згодом був замінений зв'язками типу «точка — точка», що з'єднувалися між собою концентраторами/комутаторами (хабами/світчами). Своїм комерційним успіхом технологія Ethernet завдячує появі стандарту з використанням кабелю типу «звита пара» як транзитного середовища.

На фізичному рівні станції Ethernet спілкуються між собою за допомогою передачі одна одній пакетів — невеликих блоків даних, які відправляються та доставляються індивідуально. Кожна Ethernet-станція має свою власну 48-бітну MAC-адресу, яка використовується як кінцевий пункт або джерело для кожного пакету. Мережні картки, як правило, не сприймають пакетів, що адресовані іншим Ethernet-станціям. Унікальна МАС-адреса записується в контролер кожної мережної карти.

Незважаючи на серйозні зміни від 10-Мбітного товстого коаксіалу до 1-Гбітного оптоволоконного зв'язку типу «точка-точка», різні варіанти Ethernetу на найнижчому рівні є майже однаковими з погляду програміста і можуть легко з'єднуватися між собою за допомогою дешевого обладнання. Це є можливим, оскільки формат кадру лишається незмінним, незважаючи на різні процедури доступу до мережі.

Myrinet (ANSI / VITA 26-1998) - широко застосовуваний для побудови кластерів тип комунікаційного середовища. Раніше до 28% (червень 2005) кластерних установок зі списку Top500 найпродуктивніших комп'ютерів світу були побудовані із застосуванням Myrinet. Тепер цей показник впав до 2% (2009 рік).

Характеристики:

  • Виробник: компанія Myricom .

  • Пропускна спроможність: 250 Мб / сек, 1250 Мб / сек (Myri-10G).

  • Час затримки - близько 10 мкс.

  • Топологія: комутована, елементом комутації є матриця 8х8. Комутатори на її основі підтримують до 128 портів. Для побудови великих мереж використовуються різні варіанти топології Fat Tree , найкраща продуктивність досягається з використанням Clos Network (докладніше про побудову мереж на основі Myrinet можна прочитати в документі Myrinet Switch Guide).

  • Програмне забезпечення: низькорівневий інтерфейс програмування GM, MPICH / GM, PVM / GM, стек TCP / IP , а також комерційні продукти - MPIPro, Scali MPI Connect.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]