русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы ПАРАЛЛЕЛЬНОГО ВЫЧиСЛЕНИЯ


Дата добавления: 2015-01-16; просмотров: 1017; Нарушение авторских прав


Рассмотрим параллельные алгоритмы, те или иные свойства взаимодействия параллельно протекающих процессов.

Начнем рассмотрения этих вопросов с задачи 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-разложение разложение широко используется для параллельных вычислений.

Таким образом, мы можем продемонстрировать возможности реконфигурируемой структуры мультитранспьютерной системы: образование для решения задачи нескольких подсистем, имеющих разные конфигурации, изменение состава подсистем в процессе решения.




<== предыдущая лекция | следующая лекция ==>
Экзамен (2 модуль). | Умножение матриц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.718 сек.