Содержание к диссертации
Введение
I. Метод конечных элементов с адаптивным перестроением сетки в решении задачи теории упругости 10
1.1. Математическая постановка задачи теории.упругости 11
1.2. Конечно-элементная аппроксимация дифференциальных уравнений равновесия 12
1.2.1. Триангуляция расчетной области 12
1.2.2. Формирование системы линейных алгебраических уравнений МКЭ 19
1.2.3. Особенности задания граничных условий первого рода 20
1.3. Метод решения конечно-элементной СЛАУ 22
1.3.1. Элементная схема метода сопряженных градиентов 25
1.3.2. Начальное приближение в методе сопряженных градиентов 26
1.4. Оценки погрешности и выбор критерия адаптации 27
1.4.1. Априорные оценки погрешности решения -29'
1.4.2. Апостериорные оценки погрешности 30
1.4.3. Критерии адаптивного перестроения сетки 32
1.5. Перестроение конечно-элементной сетки 34
1.5.1. h-версия МКЭ 35
1.5.2. Изменение шага сетки и углов в треугольниках . 40
1.5.3. r-версия МКЭ 44
1.5.4. Сравнение методов перестроения сетки 50
II. Параллельный МКЭ с перестраиваемой сеткой 56
2.1. Статическая балансировка 57
2.2. Параллельное решение СЛАУ 61
2.2.1. Сокращение числа обменов 64
2.2.2. Схема с совмещением вычислений и обменов . 65
2.2.3. Сравнение параллельных схем МСГ 66
2.3. Параллельное адаптивное перестроение сетки 67
2.3.1. Нумерация сеточных объектов 68
2.3.2. Алгоритм параллельного перестроения сетки . 70
2.4. Динамическая балансировка вычислительной нагрузки 73
2.5. Структура вычислительных затрат алгоритма при решении задач теории упругости 76
III. Программное обеспечение параллельной h-версии МКЭ 78
3.1. Архитектура вычислительной системы и модель параллельных вычислений 78
3.2. Структура прикладного программного обеспечения 81
3.3. Структуры данных для хранения сетки, матриц и векторов 82
3.4. Организация и программная реализация коммуникаций 85
3.4.1. Параллельное перестроение сетки 85
3.4.2. Перераспределение сетки 87
3.4.3. Решение линейных алгебраических уравнений . 88
3.5. Интегрированное программное обеспечение 89
IV. Результаты численных исследований двумерных задач теории упругости на многопроцессорной ЭВМ 93
4.1. Деформирование цилиндра со сложной внутренней поверхностью 93
4.2. Плотина на неоднородном основании 97
4.3. Растяжение пластины из композиционного материала 101
Заключение 105
Список литературы 107
- Особенности задания граничных условий первого рода
- Изменение шага сетки и углов в треугольниках
- Динамическая балансировка вычислительной нагрузки
- Структуры данных для хранения сетки, матриц и векторов
Введение к работе
В настоящее время активно развиваются конечно-разностные, конечно-элементные, конечно-объемные методы с уточнением сеточной аппроксимации. Используемые в этих методах расчетные сетки с шагом, зависящим от градиентов решения или от геометрии области, принято называть адаптивными. Адаптивные сетки широко применяются при математическом моделировании различных физических процессов [1-10]. Построению и перестроению адаптивных сеток посвящены работы А.Ф, Сидорова и его учеников, работы 1\П. Прокопова, Н.Н. Яненко. В.Ф. Тишкина, С-А. Иваненко, В.Д. Лисейкина, A.M. Сорокина, В.А. Гаранжи, П.А. Войновича, В-Н. Аптукова, A.PL Садырина и многих других ученых, в том числе и зарубежных.
Один из методов, в котором применяются адаптивные сетки, - это метод конечных элементов (МКЭ). Решение полученное в МКЭ является приближенным к точному [11]. Погрешность решения можно уменьшить с помощью процедур адаптивного перестроения, которые приводят к уменьшению шага сетки. Такими процедурами являются: деление конечных элементов на конечные элементы меньшего размера (k-версия), изменение координат узлов сетки (r-вєрсия) и их комбинации hr-eepcuu МКЭ.
Адаптивные версии МКЭ обеспечивают заданную точность решения при меньших затратам, чем применение МКЭ на сетках постоянного шага с однородными но области интегрирования базисными функциями. Особенно эффективны адаптивные методы, когда решение задачи имеет особенности.
В задачах теории упругости, являющихся основой расчетов конструкций на прочность и жесткость, особенности решения вызваны:
неоднородностью конструкции (наличие отверстий,углов);
неоднородностью материала {включения других материалов, пористость, наличие "раковин");
3) неоднородностью нагрузки (сосредоточенные или локально распределенные нагрузки).
При моделировании реальных физических процессов вычислительные затраты сеточных методов даже с адаптивными расчетными сетками остаются значительными. Сократить время вычислений за счет их параллельного выполнения позволило бы применение многопроцессорных ЭВМ, Разработки параллельных алгоритмов для решения задач математической физики и линейной алгебры ведутся в многих институтах Академии наук (ИММ РАН, ИАП РАН, ИПМ им. М.В. Келдыша РАН, ВЦ РАН, ИММ УрО РАН, ИМСС УрО РАН, ИВМ и МГ СО РАН). Это работы О.М. Белоцерковского, В.Н. Четверушкина, А.В. Забродина, Ю.А. Кузнецова и их учеников [15-19],
Сочетание адаптивного перестроения сетки и параллельных вычислений позволило бы совместить преимущества этих подходов. Поэтому стала актуальной задачей разработка параллельного алгоритма метода конечных элементов с адаптивным перестроением сетки (параллельной h-eepcuu МКЭ).
Целями данной работы являются:
Построение алгоритма метода конечных элементов с адаптивным (исходя из погрешности решения) перестроением сетки и параллельной организацией вычислений.
Разработка алгоритмов параллельного перестроения треугольной конечно-элементной сетки.
Сравнение алгоритмов перестроения сетки.
Исследование критериев адаптации сетки.
Численное исследование эффективности алгоритма при решении двумерных задач теории упругости.
Работа состоит из введения, четырех глав, восемнадцати параграфов (нумерация параграфов по главам), заключения, списка литературы и содержит 55 рисунков, 5 таблиц. Объем работы 117 страниц. Библиографический список включает 103 наименования.
Во введении обосновала актуальность темы, сформулированы цели работы, изложено краткое содержание работы по главам.
Первая глава содержит: постановку задачи теории упругости в пере-
мещениях, конечно-элементную аппроксимацию уравнений теории упругости, алгоритм МКЭ с адаптивным перестроением сетки. Обосновывается выбор метода решения систем линейных алгебраических уравнений (элементной схемы метода сопряженных градиентов). Приводятся существующие априорные оценки погрешности МКЭ- Вводится апостериорная оценка погрешности и обосновывается выбор критерия перестроения сетки. На примере, имеющем аналитическое решение, показывается достоверность оценки погрешности. Приводится анализ способов перестроения неструктурированных сеток. Завершает главу сравнение способов перестроения сетки.
Во второй главе предлагается параллельный алгоритм метода конечных элементов с адаптивным перестроением сетки, включающий: параллельные алгоритмы метода сопряженных градиентов (МСГ) и перестроения сетки, а также балансировку вычислительной нагрузки. Вводятся параллельные алгоритмы МСГ. Обсуждаются особенности параллельного построения и перестроения расчетной сетки. Предлагаются алгоритмы параллельного построения и перестроения сетки. Обосновывается необходимость балансировки вычислительной нагрузки в параллельной реализации МКЭ с адаптивным перестроением сетки. В завершении главы приводится структура вычислительных затрат параллельной h-версгш МКЭ и эффективность распараллеливания.
Третья глава посвящена программной реализации алгоритмов. В этой главе показывается модель параллельных вычислений, примененная в работе, структура данных для представления расчетной сетки, конечно-элементных матриц и векторов; обсуждается организация межпроцессорных коммуникаций на основе библиотеки MPI (Message Passing Interface), обсуждение иллюстрируется фрагментами программ, приводится использованное программное обеспечение и характеристики вычислительной техники, на которой производились вычисления.
В четвертой главе параллельная h-версия МКЭ применяется при моделировании напряженно-деформированного состояния конструкций с концентраторами напряжений различной природы; приводятся результаты моделирования (изоповерхности напряжений, перемещений, деформированные конструкции).
- Заключение содержит основные результаты и выводы по работе.
Результаты, представленные в работе, докладывались; на V Международном конгрессе по математическому моделированию в г. Дубна (2002г.); VIII Всероссийском съезде механиков в г, Пермь (2001г.); Международной конференции по вычислительной гидродинамике Parallel CFD в г. Москве (2003г.); 15-й Международной конференции по методам декомпозиции области в г, Берлине (2003г.); Всероссийских совещаниях по проблемам построения сеток в п. Абрау-Дюрсо (1996г.), в г. Пущино (2000г.); Всероссийской конференции "Высокопроизводительные вычисления и их приложения11, г. Черноголовка (2000г.); Всероссийской конференции "Актуальные проблемы прикладной математики и механикиггв г. Екатеринбург (2003г.); на I, II конференциях "Применение математического моделирования для решения задач в науке и технике!1в г. Ижевске (1996? 1998гг.); Всероссийских молодежных школ ах-конференциях (по математическому моделированию: геометрии и алгебре, 1995г; "Итерационные методы решения линейных и нелинейных сеточных задач11, 1999г; " Численные методы решения линейнрх и нелинейных краевых задач", 2001, 2003гг.) в г. Казани.
Основные результаты опубликованы в двадцати четырех работах.
Выраэюаю глубокую признательность профессору М.Ю. Альссу за постоянное внимание к работе и сделанные в процессе работы важные замечания. Искренне благодарю к.ф~м.и., с.н.с. СП. Копысова за консультации и полезные обсуждения адаптивных процедур метода конечных элементову параллельных алгоритмов и оценок погрешности, а также за ценные замсчаїїия по структуре диссертации.
Особенности задания граничных условий первого рода
При моделировании реальных физических процессов вычислительные затраты сеточных методов даже с адаптивными расчетными сетками остаются значительными. Сократить время вычислений за счет их параллельного выполнения позволило бы применение многопроцессорных ЭВМ, Разработки параллельных алгоритмов для решения задач математической физики и линейной алгебры ведутся в многих институтах Академии наук (ИММ РАН, ИАП РАН, ИПМ им. М.В. Келдыша РАН, ВЦ РАН, ИММ УрО РАН, ИМСС УрО РАН, ИВМ и МГ СО РАН). Это работы О.М. Белоцерковского, В.Н. Четверушкина, А.В. Забродина, Ю.А. Кузнецова и их учеников [15-19],
Сочетание адаптивного перестроения сетки и параллельных вычислений позволило бы совместить преимущества этих подходов. Поэтому стала актуальной задачей разработка параллельного алгоритма метода конечных элементов с адаптивным перестроением сетки (параллельной h-eepcuu МКЭ).
Целями данной работы являются: 1. Построение алгоритма метода конечных элементов с адаптивным (исходя из погрешности решения) перестроением сетки и параллельной организацией вычислений. 2. Разработка алгоритмов параллельного перестроения треугольной конечно-элементной сетки. 3. Сравнение алгоритмов перестроения сетки. 4. Исследование критериев адаптации сетки. 5. Численное исследование эффективности алгоритма при решении двумерных задач теории упругости. Работа состоит из введения, четырех глав, восемнадцати параграфов (нумерация параграфов по главам), заключения, списка литературы и содержит 55 рисунков, 5 таблиц. Объем работы 117 страниц. Библиографический список включает 103 наименования. Во введении обосновала актуальность темы, сформулированы цели работы, изложено краткое содержание работы по главам. Первая глава содержит: постановку задачи теории упругости в перемещениях, конечно-элементную аппроксимацию уравнений теории упругости, алгоритм МКЭ с адаптивным перестроением сетки. Обосновывается выбор метода решения систем линейных алгебраических уравнений (элементной схемы метода сопряженных градиентов). Приводятся существующие априорные оценки погрешности МКЭ- Вводится апостериорная оценка погрешности и обосновывается выбор критерия перестроения сетки. На примере, имеющем аналитическое решение, показывается достоверность оценки погрешности. Приводится анализ способов перестроения неструктурированных сеток. Завершает главу сравнение способов перестроения сетки.
Во второй главе предлагается параллельный алгоритм метода конечных элементов с адаптивным перестроением сетки, включающий: параллельные алгоритмы метода сопряженных градиентов (МСГ) и перестроения сетки, а также балансировку вычислительной нагрузки. Вводятся параллельные алгоритмы МСГ. Обсуждаются особенности параллельного построения и перестроения расчетной сетки. Предлагаются алгоритмы параллельного построения и перестроения сетки. Обосновывается необходимость балансировки вычислительной нагрузки в параллельной реализации МКЭ с адаптивным перестроением сетки. В завершении главы приводится структура вычислительных затрат параллельной h-версгш МКЭ и эффективность распараллеливания.
Третья глава посвящена программной реализации алгоритмов. В этой главе показывается модель параллельных вычислений, примененная в работе, структура данных для представления расчетной сетки, конечно-элементных матриц и векторов; обсуждается организация межпроцессорных коммуникаций на основе библиотеки MPI (Message Passing Interface), обсуждение иллюстрируется фрагментами программ, приводится использованное программное обеспечение и характеристики вычислительной техники, на которой производились вычисления.
В четвертой главе параллельная h-версия МКЭ применяется при моделировании напряженно-деформированного состояния конструкций с концентраторами напряжений различной природы; приводятся результаты моделирования (изоповерхности напряжений, перемещений, деформированные конструкции).
Результаты, представленные в работе, докладывались; на V Международном конгрессе по математическому моделированию в г. Дубна (2002г.); VIII Всероссийском съезде механиков в г, Пермь (2001г.); Международной конференции по вычислительной гидродинамике Parallel CFD в г. Москве (2003г.); 15-й Международной конференции по методам декомпозиции области в г, Берлине (2003г.); Всероссийских совещаниях по проблемам построения сеток в п. Абрау-Дюрсо (1996г.), в г. Пущино (2000г.); Всероссийской конференции "Высокопроизводительные вычисления и их приложения11, г. Черноголовка (2000г.); Всероссийской конференции "Актуальные проблемы прикладной математики и механикиггв г. Екатеринбург (2003г.); на I, II конференциях "Применение математического моделирования для решения задач в науке и технике!1в г. Ижевске (1996? 1998гг.); Всероссийских молодежных школ ах-конференциях (по математическому моделированию: геометрии и алгебре, 1995г; "Итерационные методы решения линейных и нелинейных сеточных задач11, 1999г; " Численные методы решения линейнрх и нелинейных краевых задач", 2001, 2003гг.) в г. Казани.
Выраэюаю глубокую признательность профессору М.Ю. Альссу за постоянное внимание к работе и сделанные в процессе работы важные замечания. Искренне благодарю к.ф м.и., с.н.с. СП. Копысова за консультации и полезные обсуждения адаптивных процедур метода конечных элементову параллельных алгоритмов и оценок погрешности, а также за ценные замсчаїїия по структуре диссертации.
Изменение шага сетки и углов в треугольниках
Внесение узла внутрь треугольника например, в центр тяжести, приводит к появлению трех новых треугольников (рис.1.14). Данный метод перестроения не изменяет конформность сетки- Внесение узла внутрь треугольника может использоваться для получения регулярного разделения треугольников внутри области. Для этого в новых треугольниках следует заменить ребра максимальной длины, используя замену общего ребра о смежных треугольниках (рисЛД4а). Но при последовательном внесении нового узла внутрь граничного треугольника происходит вырождение треугольника (рисЛЛ4б). Далее он рассматриваться не будет.
Все указанные методы перестроения предполагают уменьшение шага сетки и приводят к изменению углов в треугольниках. Как было отмечено в выражении (1.33), погрешность аппроксимации в методе конечных элементов изменяется как j, здесь h - длина максимального из ребер треугольников, в - минимальный из углов во всех треугольниках сетки. - При адаптивном перестроении изменение углов и длин ребер зависит не только от метода перестроения и критерия адаптации, но и от углов и ребер в исходной сетке. Например, в случае исходной сетки с регулярным размещением треугольников (равносторонних, равнобедренных, прямоугольных) в находится в граничных прямоугольных треугольниках и перестроение такой сетки не приведет к уменьшению 9. В свою очередь, деление максимального и минимального ребер происходит в зависимости не только от уточнения решения, но и от геометрии (величин углов, длин ребер) треугольников в исходной сетке и конформности сетки. Изменение углов и длин ребер будем рассматривать без учета уточнения криволинейных границ области, линий раздела материалов и т.д. В этих случаях изменение углов и длин ребер происходит не только при делении конечного элемента, но и при изменении координат середины поделенного ребра и зависит от криволинейности границы. Рассмотрим перестроение треугольника из сетки % (г-шаг перестроения), у которого \АВ\ = hma {Ti), введенными ранее методами деления. Для регулярного деления, деления по наибольшему ребру и деления по новейшему узлу получим hmax(Tj) = \AB\f2 = h(Ti-i)/2. Уменьшение длины максимального ребра происходит не только при его делении, но и при замене на другое ребро (смена диагонали). В этом случае hjnaxiTt) — \AG\. Минимальное ребро для всех методов перестроения Важно отметить, что hmax(Ti)/hmin(Ti) увеличивается в ходе процесса адаптивного уточнения и на задачах с особенностями может достигать 103. Изменение этого отношения зависит от задачи, исходной сетки и критерия адаптации. Рассмотрим изменения углов в треугольников, происходящие при перестроении сетки. Предварительно оценим минимальный и максимальный угол в произвольном треугольнике. Замечание 1. Максимальный угол в треугольнике 7 Mootcern бить острым 7г/3 7 /2; прямым 7 — г/2 или тупым 7г/2 f ТГ . Минимальный угол в треугольнике 0 ot —. Существуют три особых случая: отсутствие экстремума, если а = ft = 7 = тг/3 (равносторонний треугольник); два минимума, если a = ft (рав нобедренный треугольник с одним большим углом 7) и Два максимума, если /3 — 7 (равнобедренный треугольник с одним малым углом а). Исходя из этого выделим четыре типа исходных сеток: сетки из прямо угольных треугольников? сетки из равносторонних треугольников, равно бедренных треугольников и сетки общего типа, которые состоят из тре угольников различной геометрии. Оценим углы, появляющийся в треугольниках после перестроения. 8 регулярном делении изменение углов происходит при согласующем перестроении, которое может привести к делению минимального внут реннего угла а в треугольнике. Для сетки из треугольников с углами а = ft — 7г/4 получим 6а & it/10. При регулярном делении минимальным углом будет один из a,5f,#?35 , 5- i, 3 & максимальным - один из 7э е?7 2 бх 2J Ъ 2 (Рис- 1-12). Оптимальной для этого способа будет исходная сетка из равносторонних треугольников, тогда 5 — 5% = тг/6 и максимальный угол \ = 2 = тг/2. В других случаях можно получить в тг/8т здесь в - минимальный угол по всей сетке. При внесении нового узла внутрь треугольника будет поделен угол а, поэтому минимальный угол будет Sf а/2.
Минимальный угол при делении на два треугольника - один из следующих углов a, #i, $1 (Рис- 1-12а). Максимальный угол - один из 7; Сз is 2 {рис. L12). Деление на два треугольника предпочтительно применять для сеток, состоящих из треугольников с максимальными внутренними углами 7 я"/2- Тогда в случае прямоугольных равнобедренных треугольников минимальный угол будет а тг/4, а максимальный угол -бі — тг/2, В случае произвольного прямоугольного треугольника а тг/4 и \ тг/2. Для тупоугольного треугольника 7 тг/2 максимальным тоже будет угол Єї тг/2, а минимальным - а или &[.
Рассмотрим возможные случаи на примере ААВС (рис. 1.15а) [64]. Будем изменять угол а — ОАВу полагая \АС\ = \АС\\ = [-ЛС2І — ДСз — const и 57 — ZBCiA) где і = 1,2,3- Если — Сі, т.е. принадлежит подобласти DiD2B, то ААВС - остроугольный, при этом а $1. Если С = С2 j т.е. принадлежит дуге D%B, то прямоугольный н a = 5J. Если С принадлежит подобласти DzBG , то треугольник тупоугольный и а 5J. Таким образом при делении треугольника уменьшение в может произойти только за счет деления острых углов.
Динамическая балансировка вычислительной нагрузки
Проведено сравнение ряда алгоритмов динамической балансировки [92] из библиотек ParMetia [94] и Zoltan [95] (п. 3.5).
Алгоритмы, реализованные в ParMetis, используют для разделения последовательность графов, которые получаются при последовательном исключении вершин и ребер исходного графа сетки. Разделение выполняется на самом грубом графе, после чего постепенно уточняется до окончательного разделения оригинального графа. Были рассмотрены также алгоритмы из ParMetis, основанные па диффузии вершин графа из подобластей с большой вычислительной нагрузкой в подобласти с меньшей.
Из библиотеки Zoltan были выбраны алгоритмы основанные на геометрической информации: рекурсивной координатной и инерциальной бисек-ции, кривых, заполняющих пространство-Сравнение проводилось по трем параметрам: дисбалансу вычислительной нагрузки (2.22), числу общих ребер и числу пересылаемых конечных элементов. Первые два параметра характеризуют качество разделения сетки. Дисбаланс AW отвечает за равномерность вычислительной нагрузки во время вычислений, а число общих ребер - определяет объем межпроцессорных обменов. От третьего параметра зависит время выполнения перераспределения сетки. Из результатов сравнения отметим, что геометрические алгоритмы создавали разделение сетки с большим в 1.5-2 раза числом общих ребер. Наименьший дисбаланс обеспечил алгоритм, использующий кривые заполняющие пространство, но при большем почти в 2 раза числе общих ребер.
На рис.2.10т2.11 приведены результаты для группы алгоритмов, показавших примерно одинаковые значения всех трех параметров. За исключением алгоритма обозначенного "yro4H.,f(RefineKway)? для которого значения AW оказались выше в 4-5 раз. В эту группу вошли алгоритмы отображения (Remap) и многоуровнего отображения (MLRemap), алгоритм локальной диффузии (LDiffusion).
Алгоритм локальной диффузии обеспечил пересылку КЭ в только в смежные подобласти сетки, поэтому затраты на перераспределение сетки сетки и затрат на отображение позволил в дальнейшем выполнять балансировку с учетом особенностей задачи и вычислительной системы. По результатам сравнения, в качестве основного алгоритма для динамической балансировки был выбран алгоритм локальной диффузии. Кроме того, сравнение показало, что время счета с применением динамической балансировки в 1.5 раза меньше, чем в несбалансированном варианте.
Максимум затрат {рис.2.12) приходится на решение СЛАУ - 78% и оценку погрешности - 19.659с. Перестроение сетки требует менее 0.1%. Статическая балансировка выполняется на небольших исходных сетках, поэтому затраты на нее не значительны. Затраты динамической балансировки складываются из вычисления нового разделения и отображения сетки па процессор?,! ВС. Динамическая балансировка, выполняется после каждого шага перестроения, но то же не требует больших затрат.
Разработанный параллельный алгоритм МКЭ с адаптивным перестроением сетки (Алгоритм II) показал достаточно высокую эффективность - 8S% . Эффективность Алгоритма II обеспечивается, в том числе за счет применения динамической балансировки вычислительной нагрузки. Достигнуто ускорение вычислений близкое к теоретическому (рис.2.13). Следует отметить и хорошую масштабируемость алгоритма (рис.2.13) при проведении расчетов на разном числе процессоров.
Обсуждается программная реализация предложенных алгоритмов. Приводятся принятые в работе модель параллельных вычислений (модель обмена сообщениями) и модель программирования (одна программа много данных); показаны характеристики вычислительных систем (ВС), на которых выполнялись вычисления- Представляется структура данных, примененная в работе для хранения сетки, матриц, векторов и т.д.; организация межпроцессорных коммуникаций на основе библиотеки MPI (Message Passing Interface); дается краткая характеристика интегрированного программного обеспечения.
Вычислительные системы, на которых проводились исследования, представленные в работе, относятся к ЭВМ МКМД-архитектуры (Много Команд Много Данных). Характеристики вычислительных систем приведены в таблице 4. Кластер Paraclete, создан в Институте прикладной механики (ИПМ) УрО РАН г. Ижевск при финансовой поддержке РФФИ, проект №03-07-90002. ВС Parsytec СС-8 производства фирмы Parsytec (Германия) так же находится в ИПМ УрО РАН. Вычислительная система МВС-1000/16 создана в НПО мКвантт,и установлена в ИМСС УрО РАН г. Пермь. В таблице не приведена ВС Parsytec PowerXplorer, на которой отрабатывались отдельные алгоритмы (решение СЛАУ, перестроение сетки). Эта ВС состоит из 4 вычислительных узлов. Каждый узел содержит процессор PowerPC 601 (тактовая частота 80 МГц), транспьютер TS05 (тактовая частота 30 МГц) и 32 Мб оперативной памяти. Коммуникации обеспечиваются через транспьютеры. Траспьютер имеет 4 линка с пропускной способностью 20 Мбит/с каждый. Данная ВС может эксплуатироваться, как гетерогенная, имеющая 8 вычислительных узлов. Программное обеспечение - Power Tools, расширение системы программирования INMOS С Toolset, служащее для разработки параллельных программ для гетерогенных ВС (PowerPC и транспьютер)- Это программное обеспечение реализует модель параллельных вычислений процесс/канал. Достоинством этой модели являются динамическое создание процессов и управление каналами. В настоящее время эта модель вытеснена моделью передачи сообщений, которая является ее разновидностью.
Структуры данных для хранения сетки, матриц и векторов
Для программного обеспечения коммуникаций в программу интегрировались различные реализации библиотеки МРІ: MPICH, WMPI.
Как отмечено ранее, MPI реализует модель передачи сообщений, т.е. передает данные заданного типа и объема из адресного пространства одного вычислительного узла (процессора) в адресное пространство другого узла или в адресные пространства нескольких узлов. При запуске программы MPI порождает заданное пользователем число процессов. Они нумераются в MPI от 0 до Р—1, здесь Р - число процессов. Число процессов может превосходить число процессоров ВС. Для описания процессов в проблемно-ориентированной топологии в MPI используется виртуальная топология с нумерация процессов для графов и решеток.
Для работы с процессами введено также понятие коммуникатор. Коммуникатор MPI_C0MM_W0RLD содержит информацию, обо всех инициированных в MPI процессах. На его основе могут быть построенные другие коммуникаторы. В MPI есть функции для работы с коммуникаторами и группами процессов.
Коммуникации, которые обеспечивает MPI можно разделить на два вида: коммуникаций процесс-процесс и коллективные операции. Для коммуникаций процесс-процесс в MPI существует три режима передачи сообщений: синхронный, асинхронный, буферизованный. Синхронный режим блокирует процесс до завершения приема посланных данных. В асинхронном блокировки не происходит, процесс продолжается не дожидаясь подтверждения о приеме. Буферизованный реализует передачу через промежуточный, буфер обмена. Для операции процесс-процесс также введена функция, содержащая операции и передачи и приема.
Коллективные операции MPI можно разделить на два вида: - передачи данных сразу в несколько процессов (один-всем, все-одному, все-всем). Эти операции реализуются внутри заданного коммуникатора. Если в качестве коммуникатора выбран MPI_COMM_WORLD, то передача будет выполнена для всех процессов MPI. - коллективного вычисления надданными (минимум, максимум, сумма и другие, в том числе определяемые пользователем).
Б MPI пользователю представляется набор стандартных типов данных и ряд функций, позволяющих пользователю создавать свои типы данных. Это позволяет уменьшить количество коммуникаций при передаче неоднородных по типу данных. Следует отметить, что для уменьшения объема передаваемых данных в есть функции паковки и распаковки данных. Пользователю предоставляется ряд функций для синхронизации и блокировки процессов, проверки передачи. Функция, определяющая текущее астрономическое время в секундах.
Вместе с библиотекой различные реализации комплектуются средствами отображения отладочной информации и трассировки. Для вычисления нового разделения сетки при балансировке вычислительной нагрузки в комплекс интегрировалась библиотека ParMetis [94]. ParMetis - это библиотека параллельной реализации алгоритмов для разделения и изменения существующего разделения графов, а также для вычисления упорядочений разреженных матриц. Коммуникации в ParMetis базируются на функциях MPI. ParMetis строит разделение сетки, в котором число общих для нескольких подобластей узлов или ребер сетки было бы минимальным. Функции, реализованные в ParMetis можно подразделить так: - Разделение графов и сеток. - Изменение существующего разделения для адаптивных сеток. - Делении графов для неоднородых по свойствам сред и задач приложений. - Улучшение качества существующего разделения. - Вычисление упорядочения для разряженных матриц с целью уменьшения ширины ленты, - Построения дуального графа сетки. Следует отметить, что ParMetis только вычисляет новое разделение, но не перераспределяет граф или сетку. Новое разделение возвращается в виде массива, содержащего новые номера подобластей, которым будут принадлежать вершины графа. Выбор критерия разделения, а так же перераспределение графа или сетки предоставляется пользователю. Пользователь также должен привести нумерацию графа к нумерации, используемой в ParMetis. С целью сравнения библиотек балансировки вычислительной нагрузки в комплекс программ интегрировалась пакет Zoltan [95], Этот пакет является некоторым обобщением подхода к динамической балансировке вычислительной нагрузки. В нем кроме функций вычисления разделения есть функции перераспределения (миграции) данных. Пакет Zoltan содержит как собственные алгоритмы разработчиков проекта (геометрические, древовидные, иерархические), так и поддерживает интеграцию с другими библиотеками, в частности с ParMetis, Кроме того при построении исходной сетки в задачах о моделировании напряженно-деформированного состояния пластины из композиционного материала и цилиндра со сложной внутренней поверхностью (п.4.1,4.3) был использован визуальный редактор расчетных моделей FEStudio [97], разрабатываемый в ИПМ УрО РАН. FEStudio является САЕ системой и предназначен для приведение геометрической модели к расчетной. Для этого по геометрическому описанию тела строится конечно-элементная сетка, затем на нее наносятся расчетные данные (граничные условия, характеристики материала) Все эти этапы визуализированы. Применение этого редактора позволило по изображению микрошлифа материала построить модель его структуры, на основе аппроксимаций включений эллипсами. А затем построить сетку, с заданными граничными условиями и характеристиками материала для каждого КЭ.
Использование интегрированного программного обеспечения обеспечило переносимость разработанного комплекса программ (интеграции библиотеки JVIPI), повысило его эффективность (использование библиотеки балансировки вычислительной нагрузки), а так же расширило возможности (применение редактора FEStudio позволяет моделировать неоднородные материалы и расчетные области со сложной геометрией). В свою очередь представленные в работе алгоритмы были внедрены в объектно-ориентированную систему [98, 99].