Skip to content

Latest commit

 

History

History
20 lines (10 loc) · 3.77 KB

strategii.md

File metadata and controls

20 lines (10 loc) · 3.77 KB

Стратегии

Жизнь — война, ... стратегия — её закон, её краеугольный камень, её необходимость.

Теодор Драйзер. Финансист

Параллелизм по данным

Наилучшая стратегия по достижению масштабируемого параллелизма это параллелизм по данным. Определение паралллеизма по данным вырьируется. Мы определим как пареллелизм, который растет с ростом входных данных. Обычно данные делятся на части, а они уже обрабатываются независимо.

Функциональный параллелизм

Противоположностью параллелизма по данным является функциональная декомпозиция. В нем разные функции программы работают параллельно. В лучшем случае, такой параллелизм растет на постоянный коэффициент. К примеру, если в программе есть 3 функции А, Б и В, которые в случае если они работают параллельно, могут ускорить программу в 3 раза. Если только они требуют равное количество времени на выполнение каждой функции, не зависят друг от друга и нет накладных расходов. В противном случае ускорение будет меньше. Иногда такая стратегия может дать дополнительное ускорение, но нужно помнить, она не масштабируется.

Геометрический параллелизм

Крыло

Геометрический параллелизм очень похож на параллелизм по данным. Однако, такая стратегия сложна в реализации. Такая стратегия очень часто применяется в задачах математического моделирования. В задачах моделирования, необходимо обмениваться данными получаемые на границах геометрических областей. Такой подход учитывает процессы, которые протекают при моделировании, что бы сбалансировать нагрузку при вычислениях. На рисунке выше приведена геометрическая декомпозиция крыла и двигателя, где каждый цвет будет обрабатываться независимо, а данные на границах будут передаваться в ходе решения между соседями, которые разделяет граница. Так же стоит заметить, само разделение на подобные области является не простой задачей. Декомпозировать область нужно так, что бы каждый из них получил равное количество работы и протяжённость всех границ была минимальной. При минимальной границе, будет меньшее количество данных которыми нужно будет обмениваться.