Рассмотрим параллельные алгоритмы, те или иные свойства взаимодействия параллельно протекающих процессов.
Начнем рассмотрения этих вопросов с задачи LU-разложения матриц. Под LU-разложением матрицы A понимается её представление в виде A=LU, где L – нижняя треугольная матрица с единичными элементами по диагонали, а U – верхняя треугольная матрица. Для получения решения исходной системы уравнений нужно сначала решить систему Ly=b, а затем Ux=y. Пусть размер матрицы A есть n×n, пусть она является ленточной с шириной, равной p, и для неё существует LU разложение.
Тогда задача в развернутой форме имеет следующий вид
a11
a12
a13
a14
u11
u12
u13
u14
a21
a22
a23
a24
a25
l21
u22
u23
u24
u25
a31
a32
a33
a34
a35
l31
l32
u33
u34
u35
a41
a42
a43
=
l41
l42
l43
a52
a53
l42
l43
Рекуррентные соотношения, которые можно использовать при LU-разложении, раскрываются при i, j=1,…,n следующим образом:
Для решения первой части задачи можно воспользоваться гексагональной подсистемой, в которой каждый ЭМ имеет 6 связей
Для решения второй части задачи, то есть уравнений Ly=b и Ux=y удобно применить линейную подсистему.
Для вычисления yi, 1,…,n, используется вспомогательная переменная zi, причем zi равны сначала 0 и поступают с правого конца подсистемы (в ЭМ D) и продвигаются налево. Причем yi и bi поступают в ЭМ A и yi продвигается вправо. li,iпоступает углом сверху.
ЭМ A специализируется на вычислении yi = (bi - zi)/li,i, остальные машины участвуют в вычислении вспомогательной переменной zi, которая при достижении ЭМ A имеет значение .
Реконфигурируемость мультитранспьютерной системы позволяет организовать две тесно связанные подсистемы указанных структур, первая из которых постовляет значение матрицы L на вход второй.
Приведем пример организации этих подсистем. Особенность их рассмотрения состоит в том, что они непосредственно премыкают к периметру структуры всей системы и этим самым обеспечивают ввод матрицы A и вектора b из внешней памяти, когда это возложено на крайние ЭМ.
Далее необходимо определить, где и когда решать уравнение Ux=y. Ясно, что рациональнее всего решать его там, где будут находится элементы матрицы U и тогда, когда все они будут вычислены. Готовые значения элементов получаются в нижних элементарных машинах подсистемы, реализующей LU-разложение. Если эти машины имеют емкости ОЗУ достаточной для хранения столбцов U, то на НЭМ и нужно организовывать подсистему, решающую уравнение Ux=y. При отсутствии требуемой емкости ОЗУ возникает необходимость обращения к внешней памяти. Этого можно избежать, если имеется достаточное количество свободных ЭМ. В последнем случае вычисленные элементы матрицы U записываются в память свободных ЭМ. При этом число элементов, записываемых в ОЗУ одной машины, определяется возможностями ОЗУ.
Реализация этого метода возможна следующим образом.
Для решения в НЭМ уравнения Ux=y способом, ориентированным на нижнетреугольную матрицу, входные данные поступают путем реверсирования потоков данных, организованных при записи.
Следует отметить, что в заключительной фазе решения данной задачи параллелизм вычислений используется незначительно, имеется достаточно много других задач, для которых LU-разложение разложение широко используется для параллельных вычислений.
Таким образом, мы можем продемонстрировать возможности реконфигурируемой структуры мультитранспьютерной системы: образование для решения задачи нескольких подсистем, имеющих разные конфигурации, изменение состава подсистем в процессе решения.