Програмне забезпечення комп’ютерних систем. Програмування та компіляція

Лектор:Русанова Ольга Веніамінівна

Лекція №1

Характеристики архітектур систем:

  • Зернистість (є системи, які підтримують дрібно-, середньо-, крупно-зернистий паралелізм, причому управління такими системами здійснюється по-різному)
  • Спосіб управління (централізований/розподілений)
  • Синхронність (чи існує в системі єдиний синхросигнал, по якому починають роботу вузли системи). Переважна більшість потужних систем – асинхронні.
  • Тип пам’яті (спільна/розділювана, локальна/розподілена, DSM-системи)
  • Масштабованість системи (обмежена/необмежена масштабованість)
  • Степінь зв’язності системи (слабко-зв’язні, сильно-зв’язні; лектор виділяє ще і третю категорію: зв’язні – щось середнє між слабко-зв’язними і сильно-зв’язними)

Лекція №2

Класифікація комп’ютерних систем

Примітка

за основу взято рис. 1.1. із методички.

  • За ступенем зв’язності
    • Паралельні системи (сильно-зв’язні)
      • За типом керування
        • КС, що керується потоком даних (Data-Flow systems)
        • КС, що керуються потоком команд
          • За типом обробки
            • SIMD (Single Instruction Multiple Data)
              • Матричні
              • Асоціативні
              • Векторні
            • Конвеєрні системи (Pipeline)
            • Системи із наддовгим командним словом (VLIW)
            • MIMD (Multiple Instruction Multiple Data)
              • За типом пам’яті
                • SMP (системи з масовим паралелізмом)
                • HPP
                • DSM
            • Спеціалізовані ПКС
            • Гібридні ПКС
    • Кластерні системи (зв’язні)
    • Розподілені, 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 параелельно до обчислень
  • Розбиття задачі на підзадачі у випадку, коли розмірність задачі перевищує розмірність системи.
  • Файли конфігурації розподілених систем
  • Співвідношення розмірностей системи та задачі
  • Оцінка розробленої паралельної програми (масштабованість, прискорення, ефективність)