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