Проблеми асинхронної паралельності

Асинхронне паралельне програмування є досить складним і таким, що приводить до помилок. Найчастіше помилки пов'язані із "забуванням" Р- та V- операцій або застосуванням неправильного семафора. Вони призводять до серйозних наслідків на стадії виконання програм. Із застосуванням моніторів існує небезпека зробити помилку вживання умовних змінних та операцій wait і signal. Аналіз показує, що помилки програмування синхронізації процесів можуть спричинити такі проблеми як несумісні дані та взаємоблокування (DeadLock/LiveLock.)

Несумісні дані

Після виконання паралельної операції числове значення або співвідношення між даними стає несумісним тоді, коли воно не дорівнює числу, яке могли б дістати в результаті послідовної роботи ресурсів. Без достатніх паралельних механізмів контролю при виконанні паралельних процесів досить легко виникають дані, що містять у собі помилки. Тут необхідно розрізняти такі проблеми:

- втрачена модифікація даних (lost update problem);

- несумісний аналіз (inconsistent analysis problem);,

- не підтверджена залежність (uncommitted dependency problem).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: