Автор: Пользователь скрыл имя, 08 Декабря 2011 в 08:45, практическая работа
Одним з найбільш цікавих напрямків розвитку сучасної обчислювальної техніки є багатопроцесорні системи. Поштовхом до їх масового поширення послужив випуск в 1985р. перший трансп’ютера - розробленої англійською фірмою INMOS надвелика інтегральна схема, яка об'єднує в одному корпусі процесор і чотири послідовні канали міжпроцесорної передачі даних. Характерний представник цього сімейства — трансп’ютер IMS T800 має скромною, за сучасними стандартам, продуктивністю близько 1 мільйона операцій в секунду.
Вступ……………………………………………………………3
Огляд літератури……………………………………………….4
Системи із загальною пам'яттю ……………………………...4
Трансп’ютер…………………………………………………….7
Гібридні системи ……………………………………………..10
Кластери робочих станцій ……………………………………11
Системи на основі високошвидкісних мереж ……………….12
Топології багатопроцесорних систем………………………...15
Висновок………………………………………………………..20
Список літератури……………………………………………...21
Рис. 6. Електронно-змінні з'єднання трансп’ютерів за допомогою комутатора С004
Володіючи
порівняно невеликою
Гібридні системи
Розглянемо багатопроцесорну систему Parsytec PowerXplorer, складається з 12 процесорних вузлів (рис. 7). Кожен вузол базується на процесорі PowerPC-601. Реальна продуктивність кожного процесора - близько 30 Mflops. Кожен процесор має в своєму розпорядженні 8 Mb локальної оперативної пам'яті. До цієї ж оперативної пам'яті має доступ трансп’ютер типу Т805. Трансп’ютери за допомогою лінків пов'язані між собою в прямокутну сітку, частина трансп’юте- рів має вихід через один зі своїх каналів зв'язку на керуючу машину типу SunSparc (рис. 8). Підключення здійснюється з допомогою SCSI-пристрої SCSI-Bridge, що підтримує 4 трансп'ютерні лінки для зв'язку з системою PowerXplorer. Реальна продуктивність кожного з 4-х трансп’ютерних каналів зв'язку - від 1 Мбайт / с при передачі довгих повідомлень, до 0.3 Мбайт / с при передачі повідомлень довжиною в кілька байт.
Програмування можливо в рамках системи програмування PARIX . Ця система дозволяє використовувати будь-яку зручну віртуальну топологію (тор, грати, зірку тощо), при цьому трансп'ютер абсолютно прозорий для програміста. Фізична топології жорстко задана і не змінюється.
Рис.7. Структура вузла PowerXplorer
Рис. 8. Підключення 12-процесорної системи
PowerXplorer до керуючої машини типу Sun
Гібридні системи, засновані на трансп’ютерних каналах зв'язку, набули широкого поширення, але в даний час втрачають своє значення через недостатню пропускну здатність лінків.
Кластери робочих станцій
З поширенням локальних мереж отримали свій розвиток кластери робочих станцій. Як правило, вони представляють собою об'єднання невеликого числа персональних комп'ютерів та/або робочих станцій. Будучи порівняно дешевим рішенням, ці системи часто програють в ефективності обробки прикладних завдань спеціалізованим системам по наступних основних причинах:
• ряд поширених локальних мереж (Ethernet, Token Ring) не підтримують одночасну передачу даних між різними парами комп'ютерів у межах одного сегмента мережі. Це означає, що дані між комп'ютерами c і d можуть бути переданими тільки після передачі даних між комп'ютерами a і b, що зменшує і без того не дуже високу швидкість передачі даних в таких мережах;
• практично завжди на робочих станціях, що складають кластер, продовжують виконуватися послідовні завдання користувачів. У результаті менш завантажені процесори змушені очікувати більш завантажені, що призводить до загального зниження продуктивності кластера при вирішенні паралельної задачі до рівня, що визначається самою завантаженою машиною. Ефективне рішення цього завдання в умовах динамічно мінливої, причому без будь-якої залежності від власне паралельної програми, завантаженості процесорів, представляється на сьогодні досить проблематичним;
• наявність у мережі файлових серверів призводить до нерегулярно змінним обсягам даних, переданих через локальну мережу, що може значно збільшувати час обміну повідомленнями між процесорами, збільшуючи інтервали простою останніх.
Системи на основі високошвидкісних мереж
Найбільш
перспективними представляються
Рис.9 Структура процесора Parsytec CC
Рис.10 Структура системи Parsytec CC-12
Рис.11 Структура системи Parsytec CC-32
Основні характеристики систем Parsytec CC-12 і Parsytec CC-32 наведено в таблиці 1.Схема з'єднання процесорів цих систем високошвидкісний мережею наведена на рис. 10, 11. Системи цієї серії володіють наступними особливостями:
1) висока швидкість передачі даних між процесорами за рахунок застосування спеціальних високошвидкісних комунікаційних модулів і високошвидкісних лінків;
2) кожен
обчислювальний вузол
3) для
функціонування системи не
4) зв'язок між вузлами здійснюється як за стандартами внутрішньої Ethernet мережі, так і за спеціальною високошвидкісною мережею HS-link. Як вже зазначалося, системи на основі розподіленої пам’яті є масштабованими. Для об'єднання великого числа процесорів може використовуватися легко масштабовані, необмежено нарощувана топологія, наведена на рис.12.
Рис. 12. Масштабований варіант топології системи Parsytec CC
Ще
однією особливістю систем цього типу,
є можливість її побудови без комутаторів
високошвидкісної мережі (Routers). Для цього
достатньо встановити на кожен із внутрішніх
вузлів ланцюжка процесорів, показаних
на рис. 13, по два адаптери HS-link. З точки
зору програміста, всі ці топології ідентичні,
якщо вони побудовані з використанням
однакового числа вузлів, і представляються
йому лінійкою процесорів, пронумерованих
послідовно, починаючи з 0.
Рис. 13.
Варіант топології системи Parsytec CC, що не
вимагає використання високошвидкісних
комутаторів.
Топології багатопроцесорних систем
Під топологією багатопроцесорної системи будемо розуміти спосіб з'єднання процесорних вузлів між собою каналами передачі даних. Зручно представити топологію системи у вигляді графа, вершини якого відповідають процесорним вузлам, а ребра - каналами зв'язку, відповідно. Умовно топології можна розділити на фіксовані та реконфігуровані, з одного боку, і на регу- лярні і нерегулярні - з іншого. Серед регулярних широко використовують топології наступних типів:
Рис.14 Топологія «лінійка»
Рис.15 Топологія «кільце»
Рис.16 Топологія «решітка 3х3»
Рис.17 Топологія
«тор 3x3»
Рис.18 Топологія «гіперкуб степені 4»
Рис.19 Топологія «кліка»
Рис.20 Топологія «зірка»
Рис.21 Топологія «потрійне дерево»
Властивості
використовуваної топології визначають
не тільки ефективність виконання паралельної
програми, але і можливість масштабування
самої обчислювальної системи. Будь-яке
число процесорів може бути об'єднано
в топологію типу Лінійка, Кільце, Кліка.
Однак для побудови топології типу Решітка
або Тор потрібно n1 x n2 процесорів, а значить,
нарощування числа процесорів можливо
тільки квантами розміру n1 або n2. Для побудови
гіперкуба потрібно
процесорів, це означає,
по-перше, що кожна наступна система
повинна містити вдвічі більше процесорів,
ніж попередня, а по-друге, вимагає для
своєї реалізації наявності n каналів
зв'язків на кожному процесорному вузлі,
що також обмежує можливості нарощування
кількості вузлів у системі. Для підвищення
ефективності виконання програм на обчислювальних
системах необхідно погоджувати фізичну
топологію системи і топологію завдання.
Значна частина задач математичної фізики
успішно вирішується на системах, процесори
яких об'єднані в решітки. Прямокутні просторові
сітки, використовувані для чисельного
інтегрування систем диференціальних
рівнянь, описують такі завдання, зручно
ділити на прямокутні частини, безпосередньо
відображаються на грати процесорів. Істотно,
що від фізичної топології може сильно
залежати ефективність виконання конкретної
програми на ВІС. Перші багатопроцесорні
системи, що отримали широке поширення,
володіли обмеженими можливостями в плані
реконфігурування. Системи на основі трансп’ютерів
дозволяли будувати двовимірні решітки
процесорів, кільця, циліндри та тори.
Однак торами те, що можна було збудувати
на основі трансп’ютерів, можна назвати
умовно: для реалізації тора потрібно
саме 4 лінки, при цьому не залишається
лінки для під'єднання системи до керуючої
обчислювальної машині (Мал.22 ).
Рис. 22. Підключення тора процесорів до керуючої машині
У результаті порушується однорідність процесів передачі даних між процесорами під час обчислень. Побудувати на таких елементах гіперкуб розміром більше 24 = 16 процесорів, або тривимірний куб не можна, не об'єднуючи процесори в блоки. Наприклад, об'єднуючи процесори попарно на основі загальної пам'яті в блоки по два процесори, отримаємо обчислювальні вузли з 8-ма лінками (Рис. 22).
Рис. 22. Об'єднання процесорів в обчислювальні вузли
Звертає на себе увагу той факт, що і гіперкуб і трьохмірний куб містять у своєму складі грати. Виникає актуальне питання: якою має бути фізична топологія для того, щоб при наявність дуже жорстких обмежень на кількість каналів отримати мінімальну відстань між найбільш віддаленими процесорами? Іншими словами: як можна мінімізувати діаметр графа процесорів, зберігаючи ряд зв'язків, необхідних для ефективного виконання програми? Можливе рішення - побудова топології типу «піраміда» (рис. 23, 24). Вони дають найкращий з можливих результатів, але не є масштабованими.
Рис. 23 Приклад графу із 32 процесорами з діаметром і радіусом рівним 4
Рис. 24 Приклад графу «піраміда» із 64 процесорами
з діаметром
і радіусом рівним 6
Висновок
Основними можливостями,
представленими багатопроцесорними системами,
що стимулюють розвиток та використання
розподілених систем є:
• Вирішення завдань, недоступних для
виконання на одно процесорних системах.
— Як приклад наведу задачу моделювання
клімату в планетарному масштабі. Для
її вирішення потрібна оперативна пам'ять,
яка вимірюється терабайтами та кількістю
операцій за секунду, що вимірюється терафлопами.
• Рішення задач реального часу. Характерними
представниками
завдань цього класу є проблеми управління
рухом літаків в повітряній зоні аеропорту,
сканування якості поверхні сталевого
листа в ході його прокату, потребуючі
розпізнавання особливостей ситуації
і прийняття адекватного рішення за короткий,
наперед заданий час.
• Скорочення часу задач розв'язання. - Характерний приклад підготовка прогнозу погоди на наступний день. Його точність безпосередньо залежить від продуктивності використовуваної обчислювальної системи, оскільки час, за який він повинен бути підготовлений, цілком визначено - завтрашний прогноз повинен бути готовий сьогодні.