logo
ЯП / ЯП / ЯП экзамен

Оценка максимально возможного параллелизма.

Процесс проектирования распределенных и параллельных систем состоит из этапов

  1. Декомпозиция – процесс разбиения задачи на части и её решение.

  2. Связывание – связь частей между собой.

  3. Синхронизация – координация функционирования компонентов единой системы, порядка работы, определения критерия, когда цель достигнута.

Проблемы параллельного и распределенного программирования

  1. Гонка данных – если несколько задач одновременно попытаются изменить некоторую общую область данных, а конечное значение данных при этом будет зависеть от того, какая задача обратится к этой области первой.

  2. Бесконечная отсрочка – ситуация, когда задача должна ожидаться до тех пор, пока не произойдет событие или не создадутся определенные условия для их запуска. Если ожидаемое событие не состоится, то задачи могут никогда не выполниться.

  3. Взаимоблокировка – возникает, когда две и более задачи постоянно блокируют друг друга в ситуации, когда у каждой задачи заблокирован ресурс, который пытается заблокировать другие задачи.

  4. Трудности организации связи

  5. Выбор оптимального количества процессоров – при увеличении степени параллельности она становится не эффективной.