Синхронизация важна в параллельных вычислениях, потому что она позволяет:
- Согласовать обмен информацией между заданиями (между параллельно выполняемыми множествами операций). 1 Например, если одному модулю необходимы результаты работы другого, то запуск первого должен быть синхронизирован с окончанием работы второго. 2
- Разрешить проблему согласованного доступа к ресурсу. 3 Например, обеспечить, чтобы в каждый момент времени в критической секции, связанной с определёнными ресурсами, находился только один поток. 3 Все остальные потоки должны блокироваться на входе в критическую секцию. 3
Однако синхронизация может привести к простою процессора, так как после достижения точки синхронизации он должен ждать, пока другие задания достигнут этой точки. 1 Задержка с подачей в процессор необходимых данных ведёт к простою процессора и снижению эффективности параллельной обработки. 1