Програмне забезпечення комп’ютерних систем. Програмування та компіляція¶
| Лектор: | Русанова Ольга Веніамінівна | 
|---|
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 параелельно до обчислень
- Розбиття задачі на підзадачі у випадку, коли розмірність задачі перевищує розмірність системи.
- Файли конфігурації розподілених систем
- Співвідношення розмірностей системи та задачі
- Оцінка розробленої паралельної програми (масштабованість, прискорення, ефективність)