Page 45 - 6571
P. 45
9. Назвіть проблеми, що можуть з’явитися при некоректній
організації зв’язків та синхронізації.
10. Які підходи використовуються під час проектування та
написання паралельних програм?
ЛЕКЦІЯ 6
РОЗПАРАЛЕЛЕННЯ І СИНХРОНІЗАЦІЯ ПРОЦЕСІВ
6.1 Стан, дія, історія та властивості програми
Паралельним програмам властива більш висока складність у
порівнянні із послідовними. Вони співвідносяться з послідовни-
ми програмами, як шахи з шашками. Одні і другі цікаві, але пер-
ші набагато інтелектуальніші останніх.
Стан паралельної програми складається із значень змінних
програми в деякий момент часу. Змінні можуть бути явно визна-
ченими розробником або неявними (подібно програмному лічи-
льнику кожного процесу), що зберігають приховану інформацію
про стан. Паралельна програма починає виконання з деякого по-
чаткового стану в якому вона перебуває. Кожен процес програми
виконується незалежно, і в міру виконання він перевіряє і змінює
стан програми.
Процес виконує послідовність операторів. Оператор, у свою
чергу, реалізується послідовністю неподільних дій. Ці дії переві-
ряють або змінюють стан програми неподільним чином. Прикла-
дами неподільних дій є неперервні машинні інструкції, які заван-
тажують і зберігають слова пам’яті.
Виконання паралельної програми призводить до чергування
послідовностей неподільних дій, створених кожним процесом.
Конкретне виконання кожної програми може бути розглянуте як
історія s ® s ® ...® s , де s – початковий стан. Переходи між
1
0
0
n
станами здійснюються неподільними діями, що змінюють стан.
Історію також називають трасою послідовності станів. Навіть
паралельне виконання можна представити у вигляді лінійної іс-
торії, оскільки паралельна реалізація набору неподільних дій ек-
вівалентна їх виконанню в деякому послідовному порядку. Зміна
стану, викликана неподільною дією є нероздільним процесом, і,
44