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