PVP|– паралельна архітектура з|із| векторними процесорами

Основною ознакою PVP-систем| є|з'являється,являється| наявність спеціальних векторно-конвеєрних процесорів, в яких передбачені команди однотипної обробки векторів незалежних даних, що ефективно виконуються на конвеєрних функціональних пристроях|устроях|. Як правило, декілька таких процесорів (1-16) працюють одночасно із загальною|спільною| пам'яттю (аналогічно SMP|) у рамках багатопроцесорних конфігурацій. Декілька вузлів можуть бути об'єднані|з'єднані| за допомогою комутатора (аналогічно MPP|). Оскільки передача даних у векторному форматі здійснюється набагато швидшим, ніж в скалярному (максимальна швидкість може складати 64 Гбайт/с, що на 2 порядки|лади| швидше, ніж в скалярних машинах), то проблема взаємодії між потоками даних при розпаралелюванні стає неістотною|несуттєвою|. І те, що погано розпаралелюється на скалярних машинах, добре розпаралелюється на векторних. Таким чином, системи PVP-архитектуры| можуть бути|з'являтися,являтися| машинами загального|спільного| призначення (general| purpose| systems|). Проте|однак|, оскільки векторні процесори дуже дорого стоять, ці машини не можуть бути загальнодоступними.

Найбільш популярні три машини PVP-архитектуры|:

1.CRAY| X1|, SMP-архитектура|.Пікова продуктивність системи в стандартній конфігурації може складати десятки терафлопс|.

2.NEC| SX-6|, NUMA-архитектура|.Пікова продуктивність системи може досягати 8 Тфлопс, продуктивність одного процесора складає 9,6 Гфлопс. Система масштабується з|із| єдиним чином операційної системи до 512 процесорів.

3.Fujitsu-VPP5000| (vector| parallel| processing|), MPP-архитектура|. Продуктивність одного процесора складає 9.6 Гфлопс, пікова продуктивність системи може досягати 1249 Гфлопс, максимальна ємкість|місткість| пам'яті – 8 Тбайт. Система масштабується до 512

Парадигма програмування на PVP-системах| передбачає векторизацію циклів (для досягнення розумної продуктивності одного процесора) і їх розпаралелювання (для одночасного завантаження|загрузки| декількох процесорів одним застосуванням).

На практиці рекомендується виконувати наступні|слідуючі| процедури:

· проводити|виробляти,справляти| векторизацію уручну|вручну|, щоб|аби| перевести|перекладати,переказувати| завдання|задачу| в матричну форму. При цьому, відповідно до довжини вектора, розміри матриці повинні бути кратні 128 або 256;

· працювати з|із| векторами у віртуальному просторі, розкладаючи шукану функцію в ряд|лаву,низку| і залишаючи число членів ряду|лави,низки|, кратне 128 або 256.

За рахунок великої фізичної пам'яті (долі терабайта|) навіть погано векторизуемые| завдання|задачі| на PVP-системах| вирішуються|розв'язуються| швидше на машинах з|із| скалярними процесорами.

 

Кластери. Типи кластерів

Кластер є два або більш за комп'ютери (часто званих вузлами), об'єднувані за допомогою мережевих|мережних| технологій на базі шинної архітектури або комутатора і що предстають|з'являються| перед користувачами як єдиний інформаційно-обчислювальний ресурс. Як вузли кластера можуть бути вибрані сервери, робочі станції і навіть звичайні|звичні| персональні комп'ютери. Вузол характеризується тим, що на нім працює єдина копія операційної системи. Перевага кластеризації для підвищення працездатності стає очевидною у разі|в разі| збою якого-небудь вузла: при цьому інший вузол кластера може узяти на себе навантаження несправного вузла, і користувачі не відмітять|помітять| переривання в доступі. Можливості|спроможності| масштабованості кластерів дозволяють багато разів збільшувати продуктивність додатків|застосувань| для більшого числа користувачів технологій (Fast/Gigabit Ethernet|, Myrinet|) на базі шинної архітектури або комутатора. Такі суперкомп'ютерні системи є|з'являються,являються| найдешевшими, оскільки збираються на базі стандартних комплектуючих елементів ("off| the| shelf|"), процесорів, комутаторів, дисків і зовнішніх пристроїв|устроїв|.

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

Типи кластерів

Умовне ділення|поділка,розподіл,поділ| на класи запропоноване Язеком Радаєвським і Дугласом Едлайном:

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

· Клас II. Система має ексклюзивні або не дуже|занадто| широко поширені деталі. Таким чином можна досягти дуже хорошої|доброї| продуктивності, але|та| при вищій вартості.

Як вже наголошувалося, кластери можуть існувати в різних конфігураціях. Найбільш поширеними типами кластерів є|з'являються,являються|:

· системи високої надійності;

· системи для високопродуктивних обчислень|підрахунків|;

· багатопотокові системи.

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

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

Багатопотокові системи використовуються для забезпечення єдиного інтерфейсу до ряду|лави,низки| ресурсів, які можуть з часом|згодом| довільно нарощуватися (або скорочуватися). Типовим прикладом|зразком| може служити група web-серверов|.

У 1994 році Томас Стерлінг (Sterling|) і Дон Беккер (Becker|) створили 16-вузловий кластер з|із| процесорів Intel| DX4|, сполучених|з'єднаних| мережею|сіттю| 10 Мбіт/с Ethernet| з|із| дублюванням каналів. Вони назвали|накликали| його "Beowulf|" по назві старовинної епічної поеми. Кластер виник в центрі NASA| Goddard| Space| Flight| Center| для підтримки необхідними обчислювальними ресурсами проекту Earth| and| Space| Sciences|. Проектно-конструкторські роботи швидко перетворилися в те, що відомо зараз як проект Beowulf|. Проект став основою загального|спільного| підходу до побудови|шикування| паралельних кластерних комп'ютерів, він описує багатопроцесорну архітектуру, яка може з|із| успіхом використовуватися для паралельних обчислень|підрахунків|. Beowulf-кластер|, як правило, є|з'являється,являється| системою, що складається з одного серверного вузла (який зазвичай|звично| називається головним), а також одного або декількох підлеглих (обчислювальних) вузлів, сполучених|з'єднаних| за допомогою стандартної комп'ютерної мережі|сіті|. Система будується з використанням стандартних апаратних компонентів, таких як ПК, що запускаються під Linux|, стандартні мережеві|мережні| адаптери (наприклад, Ethernet|) і комутатори. Немає особливого програмного пакету, званого "Beowulf|". Замість цього є|наявний| декілька шматків програмного забезпечення, які багато користувачів знайшли придатними для побудови|шикування| кластерів Beowulf|. Beowulf| використовує такі програмні продукти як операційна система Linux|, системи передачі повідомлень|сполучень| PVM|, MPI|, системи управління чергами завдань|задавань| і інші стандартні продукти. Серверний вузол контролює весь кластер і обслуговує файли, що направляються|спрямовують,скеровують| до клієнтських вузлів.