Програмне забезпечення комп’ютерних систем. Програмування та компіляція¶
Лектор: | Русанова Ольга Веніамінівна |
---|
Contents
Лекція №1¶
Характеристики архітектур систем:
- Зернистість (є системи, які підтримують дрібно-, середньо-, крупно-зернистий паралелізм, причому управління такими системами здійснюється по-різному)
- Спосіб управління (централізований/розподілений)
- Синхронність (чи існує в системі єдиний синхросигнал, по якому починають роботу вузли системи). Переважна більшість потужних систем – асинхронні.
- Тип пам’яті (спільна/розділювана, локальна/розподілена, DSM-системи)
- Масштабованість системи (обмежена/необмежена масштабованість)
- Степінь зв’язності системи (слабко-зв’язні, сильно-зв’язні; лектор виділяє ще і третю категорію: зв’язні – щось середнє між слабко-зв’язними і сильно-зв’язними)
Лекція №2¶
Класифікація комп’ютерних систем¶
Примітка
за основу взято рис. 1.1. із методички.
- За ступенем зв’язності
- Паралельні системи (сильно-зв’язні)
- За типом керування
- КС, що керується потоком даних (Data-Flow systems)
- КС, що керуються потоком команд
- За типом обробки
- SIMD (Single Instruction Multiple Data)
- Матричні
- Асоціативні
- Векторні
- Конвеєрні системи (Pipeline)
- Системи із наддовгим командним словом (VLIW)
- MIMD (Multiple Instruction Multiple Data)
- За типом пам’яті
- SMP (системи з масовим паралелізмом)
- HPP
- DSM
- За типом пам’яті
- Спеціалізовані ПКС
- Гібридні ПКС
- SIMD (Single Instruction Multiple Data)
- За типом обробки
- За типом керування
- Кластерні системи (зв’язні)
- Розподілені, GRID, та Cloud системи (слабко-зв’язні)
- Паралельні системи (сильно-зв’язні)
Лекція №4¶
Гіпотеза Мінського (?). – Швидкодія і продуктивність систем зрозстають у логарифмічній залежності від кількості процесорів (обчислювальних вузлів).
^
P|
e|
r|
f|
o| xxxxxxxxxx
r| lg(N) xxxxxxxx
m| xxxxxx
a| xxxx
n| xx
c| xx
e| x
| x
|x
+------------------------------------------> N
Така залежність обумовлена тим, що в більшості програм необхідна синхронізація та обмін даними між обчислювальними вузлами. З іншої сторони, на швидкодію впливають також обрані алгоритми, засоби синхронізації, тощо.
Засоби, які застосовуютсья для паралельної обробки в різних системах:
Синхронні мови ПП | Асинхронні мови ПП | ||||
---|---|---|---|---|---|
Тип КС | Операції над масивами | опис проц. | ps init ps fin | res sync | msg sync |
век і матричні КС | – | – | – | – | |
SMP | -+ | ||||
MPP | -+ | +- |
Задачі:
- Обрання мови та засобів синхронізації
- I/O параелельно до обчислень
- Розбиття задачі на підзадачі у випадку, коли розмірність задачі перевищує розмірність системи.
- Файли конфігурації розподілених систем
- Співвідношення розмірностей системи та задачі
- Оцінка розробленої паралельної програми (масштабованість, прискорення, ефективність)