- •Аннотация
- •Введение
- •Глава 1. Высокопроизводительные вычислительные системы и их применение для решения сложных матричных задач
- •1.1. Основные классы современных параллельных вычислительных систем
- •1.2. Классификация моделей параллельного программирования
- •1.3. Кластер московского энергетического института
- •1.4. Специфика декомпозиции матричных задач для их параллельной реализации
- •1.5. Выводы по главе 1
- •1.6. Постановка задачи бакалаврской работы
- •Глава 2. Разработка последовательно-параллельной модификации метода якоби решения слау
- •2.1. Сравнение класических методов решения слау
- •2.2. Особенности разработки последовательно-параллельной модификации метода якоби
- •2.3. Задача распределения температуры в тонком стержне
- •2.4. Вычислительный эксперимент
- •2.5. Выводы по главе 2
- •Глава 3. Исследование организации обменных взаимодействий в модели передачи сообщений
- •3.1. Способы умножения двух матриц
- •3.2. Разработка последовательно-параллельной модификации алгоритма умножения матриц
- •3.3. Особенности организации обменных взаимодействий
- •3.4. Исследование эффективности последовательно-параллельной реализации матричного умножения
- •3.5. Выводы по главе 3
- •Приложение 1. Классы, используемые в модификации метода Якоби
- •Приложение 2. Классы, используемые в реализации матричного умножения
- •Заключение
- •Библиографический список
- •Содержание
1.5. Выводы по главе 1
В настоящей главе приведены основные классы современных параллельных вычислительных систем и модели параллельного программирования. Особое внимание уделено высокопроизводительному кластеру МЭИ, на котором проводились вычислительные эксперименты. Изложены традиционные способы декомпозиции матричных задач.
1.6. Постановка задачи бакалаврской работы
Целью настоящей работы является проведение исследования параллельно-последовательных вычислений на высокопроизводительном кластере МЭИ на примерах численного решения больших разреженных систем линейных алгебраических уравнений с вещественными коэффициентами и умножения двух матриц большой размерности. В ходе работы изучить пути повышения эффективности их решений средствами параллельных вычислений и учета внутренней специфики задач. Провести анализ временных характеристик решений в зависимости от ресурсов, распределения исходной задачи по исполнителям, учета специфики задачи и видов обменных взаимодействий.
Глава 2. Разработка последовательно-параллельной модификации метода якоби решения слау
Задача численного решения СЛАУ – одна из наиболее часто встречающихся задач в научно-технических исследованиях. Дискретизация краевых задач, аппроксимация функций, статистическая обработка данных – далеко не полный перечень задач, сводящихся к решению СЛАУ. При этом в прикладных задачах часто возникают большие и сверхбольшие СЛАУ с числом неизвестных более , а матрица коэффициентов обладает теми или иными свойствами, обусловленными спецификой исходной задачи. К таким СЛАУ, например, сводятся многие задачи математического моделирования, в которых условия физической и геометрической аппроксимации двумерной или трехмерной областей диктуют использование достаточно мелкой расчетной сетки с большим числом узлов по линейному размеру [3].
Решая большие СЛАУ, существующие универсальные библиотеки, разработанные на основе прямых методов решения (например, метода Гаусса и его модификаций), требуют выполнения слишком большого числа арифметических операций , гдеn – размерность системы. Кубическая зависимость числа арифметических операций от размерности матрицы системы уже при приводит к недопустимо большим временным затратам при решении даже на современных ЭВМ. Например, время решения СЛАУ из 1000 уравнений с помощью последовательной реализации метода Гаусса на ЭВМ с конфигурациейIntel Core2 T5250 (1.5GHz), 2.00GB RAM составляет 4.250 сек. Для решения СЛАУ из 2500 уравнений в тех же условиях требуется 64.985 сек. А для систем из уравнений требуется уже более одного часа.
Итерационные методы решения СЛАУ намного экономнее как по времени решения, так и по использованию оперативной памяти. Если итерационный метод является быстро сходящимся, то время решения пропорционально уже квадрату размерности матрицы. Кроме того, необходимо хранить в оперативной памяти, как правило, только одну матрицу (например, матрицу перехода явного итерационного метода). За выигрыш во времени решения приходится расплачиваться точностью результата и отказом от универсальности методов.
Практические задачи в большинстве случаев сводятся к СЛАУ большой и сверхбольшой размерности. Поэтому очень важно организовывать наиболее эффективные способы решения больших систем [3, 4].