Програмне забезпечення багатопроцесорних табагатомашинних обчислювальних систем

Програмне забезпечення багатопроцесорних та багатомашинних обчислювальних систем - розділ Виробництво, Управління, його ціль та завдання функції. Організація управління. Система управління у складі системи виробництва Багатомашинна Нд (Ммс) Містить Декілька ЕОМ, Ка.

Багатомашинна ЗС (ММС) містить кілька ЕОМ, кожна з яких має свою ОП і працює під управлінням своєї операційної системи, а також засоби обміну інформацією між машинами.

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

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

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

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

Типибагатопроцесорних ВС

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

У структурній організації багатопроцесорної системи найбільш істотний спосіб зв'язку між процесорами та пам'яттю системи.

Паралельні обчислювальні системи діляться на два великі класи: SIMD і MIMD.SIMD (single instruction - multiple data)- "один потік команд - багато потоків даних" - команди видаються одним керуючим процесором, а виконуються одночасно на всіх обробних процесорах над локальними даними цих процесорів.

MIMD (multiple instruction - multiple data)- "багато потоків команд - багато потоків даних" - сукупність комп'ютерів, що працюють за своїми програмами та зі своїми вихідними даними.

В даний час освоюються супер-обчислення на системах з мікропроцесорів з кеш-пам'ятями і фізично розподіленою основною пам'яттю, що розділяється (логічно - загальною).

Існуючі паралельні обчислювальні засоби класу MIMD утворюють три підкласи:

  • Симетричні мультипроцесори (SMP),
  • Масово паралельні системи (МРР).

Використання SMP забезпечує такі можливості:

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

Однакступінь масштабованості SMP систем обмеженав межах технічної реалізованості однакового для всіх процесорів доступу в пам'ять зі швидкістю, характерною для однопроцесорних комп'ютерів. Як правило, кількість процесорів у SMP не перевищує 32. На даний момент SMP структура найбільш поширена у класі професійних робочих станцій на базі RISC процесорів.

Для побудови систем з великою кількістю процесорів застосовуються кластерний або МРР підходи. Обидва ці напрями використовують SMP як системоутворюючий обчислювальний модуль (ВМ).

Кластерна система утворюється з модулів, об'єднаних системою зв'язку або пристроями зовнішньої пам'яті, що розділяються, наприклад дисковими масивами. В даний час для утворення кластерних систем використовуються або спеціалізовані фірмові засоби, інші мережі, наприклад, з протоколами TCP/IP (Transmission Control Protocol / Internet Protocol), або дискові масиви з високошвидкісними широкими подвійними (Wide/Fast) і квадро PCI SCSI контролерами .

Розмір кластера варіюється від кількох модулів до кількох десятків модулів.

Масово паралельні системи, на відміну від кластерів, мають більш швидкісні, як правило спеціалізовані, канали зв'язку між ВМ, а також широкі можливості масштабування. Крім того, у МРРфіксується деякий досить високий рівень інтерфейсу прикладних програм (API), що підтримується розподіленою ОС. Однак підтримка працездатності та оптимізація завантаження процесорів в МРР менш розвинена в порівнянні з кластерами в силу різноманітності виконуваних програм і відсутності функціональних зв'язків між програмами.

Починаючи з 1980 року ідея SMP архітектур, підкріплена широким поширенням мікропроцесорів, стимулювала багатьох розробників на створення невеликих мультипроцесорів, в яких кілька процесорів поділяють одну фізичну пам'ять, з'єднану з ними за допомогою шини, що розділяється. Через малий розмір процесорів і помітне скорочення необхідної смуги пропускання шини, досягнутого за рахунок можливості реалізації досить великої кеш-пам'яті, такі машини стали виключно ефективними за вартістю. У перших розробках такого роду машин вдавалося розмістити весь процесор і кеш однією платі, яка потім вставлялася в задню панель, з допомогою якої реалізовувалася шинна архітектура.Сучасні конструкції дозволяють розмістити до чотирьох процесорів на одній платі, межа кількості процесорів у SMP – не більше 32-х.

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

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

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

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

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

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

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