В предыдущем подразделе обсуждалась общая парадигма параллельного
программирования с учетом структуры процесса и выделены демонстративные
примеры в контексте системы ПВМ. В этом подразделе рассматривается
проблема распределения рабочей нагрузки, следующей за стабилизацией
структуры процесса, и описаны несколько обобщенных парадигм, которые
используются при параллельных вычислениях в распределенной памяти.
Обычно используются две общих методологии. Первая, называемая "декомпозицией
данных" или разбиением, подразумевает, что перекрывающиеся задачи
приводят к применению вычислительных операций или преобразований над
одной или большим числом структур данных, а затем эти данные могут
разделяться и обрабатываться. Вторая, называемая "функциональной
декомпозицией", подразумевает разбиение работы на основе отличий
операций и функций. В некотором смысле, вычислительная модель ПВМ
поддерживает оба вида декомпозиции: функциональную (фундаментально
различающиеся задачи выполняют различные операции) и данных (идентичные
задачи оперируют над различными порциями данных).
Знаете ли Вы, что взаимность (в математическом программировании) - это свойство задач выпуклого (в том числе линейного) программирования, состоящее в инвариантности оптимального решения и инвариантности с точностью до масштаба множителей Лагранжа к замене целевой функции любым эффективным ограничением при дополнительном условии, что значение прежней целевой функции останется равным оптимальному.