Якщо апаратура і програмне забезпечення не підтримує асинхронної передачі даних, то може виникнути ситуація, що деякі процесори очікують коли решта процесорів закінчить роботу. Така ситуація призводить до невеликих накладних витрат в роботі.
Для досягнення найбільш ефективної роботи потрібно досягнути максимально рівномірної навантаженості кожного вузла. Якщо такої рівномірності не буде, то деякі процесори будуть простоювати, а решта - перенавантажені. Рівномірність навантаження досить легко досягнути на рівномірних однорідних системах (системи, в яких всі вузли однакової конфігурації, що з’єднані однаковою мережею). На неоднорідних системах досить важко досягнути рівномірної навантаженості.
Ще один фактор, що впливає на продуктивність - це реальна продуктивність кожного вузла. Різні моделі процесорів можуть мати різну характеристику, а саме: кількість рівнів кеш пам’яті, різні кількості функціональних пристроїв, тощо.
На початку розвитку масово паралельні комп’ютери були досить дорогими та рідкісними. В наш час завдяки розвитку мережених технологій кластер можна створювати в будь-яких умовах.
Програміст може розділяти задачу між декількома комп’ютерами в мережі і отримувати результати. В такому розумінні можна використовувати глобальну мережу Internet. Взагалі кажучи, Інтернет можна розглядати як надпотужний єдиний паралельний комп’ютер з найбільшою в світі піковою продуктивністю та іншими характеристиками.
Комп’ютер, що складається з великої кількості інших комп’ютерів, називається метакомп’ютером. Звідси і походить назва процесу вирішення задач на таких комп’ютерах. Не обов’язково в якості комунікаційного середовища обирати Інтернет. Це може бути довільна мережева технологія. Основне не спосіб передачі даних, а принцип створення системи. Конструктивні ідеї використання розподілених обчислень ресурсів з’явилися на початку 90-х років. Деякі системи були універсальними, а деякі створювалися для вирішення певної задачі. В деяких системах використовувалися високопродуктивні мережі та спеціальні протоколи, а деякі системи використовували звичайні канали зв’язку і звичайні протоколи.
Прогрес в мережених технологіях останнім часом дуже великий. Гігабітні канали зв’язку є досить звичайним явищем у наш час.
Об’єднавши різні обчислювальні системи в рамках єдиної мережі можна сформувати спеціальну обчислювальну систему. Деякі комп’ютери будуть від’єднуватись, деякі приєднуватись, проте для зовнішнього користувача все це має бути прозорим. Користувач задає тільки задачу, а система сама визначає, які вузли підключати, як перетворювати дані тощо. Для користувача все одно, як працює всередині метакомп’ютер. Можна провести аналогію з електричною мережею. Коли користувач вмикає електричний пристрій, йому байдуже, яка електростанція виробляє енергію. По цій аналогії обчислювальні мережі називають в англомовній літературі Creed.
При взаємодії метакомп’ютера з користувачем виникають наступні особливості:
Метакомп’ютер володіє дуже великими ресурсами, які навіть не йдуть у порівняння із звичайними комп’ютерами. Це пікова продуктивність, об’єм пам’яті, число доступних процесорів.
Метакомп’ютер є розподіленим по своїй природі. Складові метакомп’ютера можуть бути віддалені один від одного на сотні кілометрів, що впливає на швидкість їх взаємодії.
Метакомп’ютер може міняти конфігурацію. Деякі вузли можуть від’єднуватись, деякі приєднуватись, проте на роботу метакомп’ютера це впливати не повинно.
Метакомп’ютер не є однорідним. Він може включати в себе сотні, тисячі вузлів різної конфігурації з різними операційними системами. Все це повинно враховуватись при створенні метакомп’ютера.
Метакомп’ютер об’єднує комп’ютери багатьох організацій, в кожній з яких є своя власна політика доступу до ресурсів, адміністрування політики захисту.
Метакомп’ютер не належить нікому і тому його адміністрування проводиться в загальних рисах.
Говорячи про метакомп’ютер, мається на увазі не реалізація його апаратної частини, а принцип взаємодії його компонентів між собою.
При роботі з метакомп’ютером необхідно враховувати такі питання як: моделі програмування, розподілення і керування задачами, технологія організації доступу, інтерфейс з користувачем, безпека, надійність тощо.
Не дивлячись на здавалось би велику складність створення метакомп’ютера, на проблематику його роботи, вони здобули широке застосування у наш час. Метакомп’ютер дозволяє вирішити такі задачі, вирішення яких колись було нереальне. Наприклад, для побудови однієї макромолекули одному комп’ютеру потрібно було би декілька днів. І кількість числових експериментів для даної молекули може перевищити сотні тисяч. Жоден традиційний комп’ютер не володіє потужністю для вирішення даної задачі, проте спільні ресурси метакомп’ютера можуть допомогти.
Також до особливостей метакомп’ютерів можна віднести задачу розподіленого зберігання даних. В багатьох задачах об’єми даних, з якими працює дана задача, можуть перевищувати 1015 байт. Немає традиційного комп’ютера, який міг би зберігати таку інформацію. В метакомп’ютері всі ці дані розподілені на географічно віддалених між собою вузлах. Характерною задачею даної області є задача створення інформаційної системи для підтримки експерименту в фізиці високих технологій.
Існує багато різних засобів організації паралельно-обчислювальних систем. Серед них можна виділити:
векторно-конвеєрні комп’ютери
масивно-паралельні комп’ютери.
Тобто виникає необхідність певним чином класифікувати всі ці архітектури для того, щоб краще розуміти їх та вивчати. Існує понад 10 різних способів класифікації, в основі яких лежить той чи інший чинник, по якому буде відбуватись класифікація.
В основі даної класифікації лежить поняття потоку, а саме, потоків даних і потоку команд. Потоком називається деяка послідовність даних або команд. Флінн виділив 4 наступних класи:
1. SISD (Single Instruction Single Data stream). В даній архітектурі процесорний пристрій обробляє один потік команд і один потік даних. Це прості комп’ютери Фоннеймовського типу.
В цей клас входять наступні комп’ютери: РDР-11, VAX-11/780,CDC-6600,CDC-7600. В цей клас можуть також відноситись комп’ютери в яких існує конвеєрна обробка.
2. SIMD (Single Instruction Multiple Data). В архітектурах даного класу множинний потік даних обробляється єдиним потоком команд.
Сюди відносять комп’ютери, які мають векторні команди. Спосіб реалізації векторної команди ролі не грає. До цього класу відносяться: ILLIAC-4, ICL DAP, Cyber 205.
3. MISD (Multiple Instruction Single Data). В архітектурі даного класу єдиний потік даних обробляється множинним потоком інформації.
На даний час клас цих архітектур був порожній.
4. MIMD (Multiple Instruction Multiple Data). В даний клас входять обчислювальні системи, які мають декілька пристроїв обробки даних, кожен з яких працює з своїм власним потоком даних.
В даний клас входять всі можливі багатопроцесорні системи. Сюди також входять комп’ютери, в яких є один процесорний пристрій, що може працювати у багатозадачному середовищі.
Останній клас архітектури включає в себе дуже велику кількість обчислювальних систем, що також потребують класифікації. Дана класифікація була запропонована Р. Хонні. Весь клас MIMD архітектур він поділив на два підкласи:
1. З конвеєрною обробкою команд. Мається на увазі, що існує один конвеєрний пристрій, що працює в режимі розділеного часу для окремих потоків.
2. Кожен потік обробляється своїм власним пристроєм.
Другий підклас можна поділити на класи:
з перемикачами
мережі.
З перемикачами - це коли кожен процесор зв’язаний з кожним іншим через складний комутатор. Існують 2 види:
з спільною пам’яттю
з розподіленою пам’яттю
Мережі - це системи із розподіленою пам’яттю, коли кожен із процесорних пристроїв безпосередньо зв’язаний тільки з сусідніми пристроями, а зв'язок з віддаленими пристроями відбувається шляхом складної маршрутизації. Відповідно подальша класифікація залежить від типу мережі, а саме:
решітка
гіперкуб
ієрархія
змінна структура
Аналіз звернень в пам’ять особливо при обробці масивів показує, що доля звернень з послідовним збільшенням адреси достатньо велика. Для узгодження з конвеєром необхідно, щоб відбувалося випереджаюче зчитування у швидку регістрову пам’ять для послідовних адрес.
Таке випереджаюче зчитування і реалізовано у архітектурі з чергуванням адрес. Основна ідея полягає в тому, що адресний простір розподілений між банками пам’яті, так щоб сусідні слова розміщувалися в різних банках. При зверненні по деякій адресі всі еквівалентно адресовані слова всіх банків зчитуються у спеціальну швидку пам’ять, що називається фіксатором. При зверненні до наступного слова зчитування відбувається з фіксатора, а не з ОЗП.