Программные продукты и системы /Software & Systems
№ 4 (108), 2014
УДК 539.3: 519.6 Дата подачи статьи: 20.01.2014
DOI: 10.15827/0236-235X.108.167-173
ИССЛЕДОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ РЯДА ИТЕРАЦИОННЫХ МЕТОДОВ РЕШЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ В УПРУГОПЛАСТИЧЕСКОЙ ЗАДАЧЕ
(Работа выполнена при поддержке программы фундаментальных исследований Президиума РАН № 15,
проект № 12-П-1-1025)
А.В. Толмачев, младший научный сотрудник, eiennohito@gmail.com; А.В. Коновалов, д.т.н., профессор, зав. лабораторией, avk@imach.uran.ru; А.С. Партин, к.т.н., старший научный сотрудник, lm.d@fm.achuran.ru (Институт машиноведения Уральского отделения РАН, ул. Комсомольская, 34, г. Екатеринбург, 620049, Россия)
Упругопластическая задача с большими пластическими деформациями физически и геометрически существенно нелинейная. Большая часть времени ее решения методом конечных элементов затрачивается на решение системы линейных алгебраических уравнений (СЛАУ) относительно искомого вектора обобщенной скорости в узлах конечно-элементной сетки. Для сокращения времени расчетов необходимо использовать параллельные вычисления, в частности, на кластерных системах. Матрица системы несимметричная, имеет большую размерность, является ленточной и разреженной внутри ленты. Использование прямых методов для решения СЛАУ приводит к образованию заполнения внутри ленты и большим затратам как памяти, так и времени счета. На базе решения тестовой задачи сжатия параллелепипеда плоскими плитами выполнен вычислительный эксперимент на кластере «Уран» Института математики и механики УрО РАН с целью анализа производительности параллельных итерационных методов релаксации, BiCGStab и GMRES решения СЛАУ в упругопластической задаче с большими пластическими деформациями. Рассмотрена эффективность применения параллельных предобуславливателей ILU, ILUT, ILUC, SAINV, SAAMG в методе BiCGStab. Выполнена оценка погрешности времени решения СЛАУ, вносимой стохастичностью процесса передачи данных по сети кластерной системы. Результаты вычислительного эксперимента показали, что метод релаксаций по сравнению с методами BiCGStab и GMRES требует значительно большего времени на решение СЛАУ, поэтому является неэффективным. Метод GMRES затрачивает наименьшее время на решение СЛАУ на небольшом количестве процессов, однако метод BiCGStab обладает лучшим ускорением, хорошей масштабируемостью и при использовании большого количества процессоров обеспечивает наименьшее время на решение СЛАУ. Случайное отклонение времени решения СЛАУ, вызванное стохастической задержкой сети, не превышает 5 % от среднего. Предобуславливатель ILUC является наиболее эффективным из рассмотренных по времени выполнения, однако предобуславливатель SAINV требует наименьшего количества итераций решения СЛАУ методом BiCGStab.
Ключевые слова: упругопластическая задача, метод конечных элементов, итерационные параллельные методы решения СЛАУ.
Упругопластическая задача с большими пластическими деформациями физически и геометрически существенно нелинейная [1] и требует большого количества времени для решения методом конечных элементов на персональном компьютере. Для сокращения времени расчетов необходимо использовать параллельные вычисления, в частности, на кластерных системах.
Решение упругопластической задачи методом конечных элементов осуществляется в условиях пошагового нагружения и на каждом таком шаге состоит из трех основных этапов:
1) расчет локальных матриц жесткости для конечных элементов и формирование глобальной матрицы жесткости A и вектора b правой части системы линейных алгебраических уравнений (СЛАУ) Ax = b относительно искомого вектора обобщенной скорости в узлах конечно-элементной сетки;
2) решение СЛАУ;
3) вычисление напряженно-деформированного состояния конечных элементов в конце шага нагружения.
На каждом шаге нагружения этап 1 выполняется один раз, а этапы 2 и 3 - от десяти до пятнадцати раз для удовлетворения итерационно с приемлемой точностью условию пластичности Мизеса в конце шага
нагружения. При этом матрица системы уравнений остается постоянной, изменяется только ее правая часть.
Производительность различных параллельных прямых методов решения СЛАУ в упругопластической задаче рассматривалась в работах [2-4].
Матрица A несимметричная, имеет большую размерность, является ленточной и разреженной внутри ленты. Использование прямых методов для решения СЛАУ приводит к образованию заполнения внутри ленты и к большим затратам как памяти, так и времени счета. Поэтому целесообразно использовать итерационные алгоритмы решения СЛАУ.
Исследования эффективности различных параллельных итерационных алгоритмов решения СЛАУ проводились применительно к различным предметным областям. В работе [5] при решении задач электромагнетизма рассматривалась эффективность методов подпространств Крылова с аддитивным методом Шварца в качестве предобуславливателя. В [6] приводятся результаты решения задач гидродинамики, при этом применялся алгоритм Flexible GMRES с использованием аддитивного метода Шварца для выделения подобластей и предобуславливания. В работе [7] анализируется решение задачи Пуассона методом конечных разностей на трех различных вы-
167
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
числительных системах. Для решения СЛАУ использовался метод BiCGStab с алгебраическим многосеточным предобуславливателем. В работе [8] приведены результаты решения упругой задачи сжатия пружины на графических процессорах при решении системы линейных уравнений методом сопряженных градиентов. Для выделения независимых областей использовался метод дополнения Шура.
Поскольку существует большое количество параллельных итерационных методов решения СЛАУ с различными предобуславливателями на кластерных системах, встает вопрос о выборе метода и предобу-славливателя для решения класса задач, в частности упругопластических, который дает наибольшее ускорение и обладает наилучшей масштабируемостью. Выполненный авторами литературный обзор показал отсутствие исследований, содержащих сравнительный анализ производительности разных итерационных алгоритмов и предобуславливателей применительно к классу упругопластических задач.
Целью данной работы являются исследование и сравнительный анализ эффективности итерационных параллельных алгоритмов метода релаксации [9], стабилизированного метода бисопряженных градиентов (BiCGStab) [10] и обобщенного метода минимальных невязок (GMRES) [11] для решения СЛАУ в упругопластических задачах на кластерной системе.
Ранее эффективность метода релаксации исследовалась в работе [12], однако там рассматривались матрицы системы малой размерности в двухмерной упругопластической задаче.
Тестовая задача сжатия параллелепипеда плоскими плитами
В качестве тестовой рассматривается трехмерная задача сжатия параллелепипеда плоскими плитами из упругопластического изотропного и изотропно -упрочняемого материала с полученными в работе [13] определяющими соотношениями, удовлетворяющими закону Гука, ассоциированному закону пластического течения и условию текучести Мизеса с функцией текучести ст = 400(1+50ер)°’28, где ст - напряжение текучести, а ер - степень пластической деформации. Решение основывается на принципе виртуальной мощности в скоростной форме [1].
На контакте с плитами принято условие прилипания металла к плитам. Нагрузка в виде перемещения плиты прикладывается малыми шагами Ah. Шаг Ah выбран так, чтобы отношение Ah/h (h - текущая высота параллелепипеда) не превышало предела упругости по деформации, в нашем случае 0,002, что обеспечивает устойчивость вычислительной процедуры. На каждом шаге нагрузки задача рассматривается как квазистатическая, а вариационное равенство принципа виртуальной мощности в скоростной форме с помощью конечно-элементной аппроксимации сводится к СЛАУ.
Использованные методы
Формы хранения матрицы системы. При формировании матрицы A использовалась координатная
форма хранения [9] с хранением троек из номеров строк, номеров столбцов и элементов матрицы в красно-коричневом дереве [14]. Для выполнения вычислений над матрицей она переводится в сжатую по строкам форму [9]. Использование красно-коричневого дерева позволяет выполнить преобразование из координатной в сжатую форму без сортировок за единственный обход дерева.
Метод релаксации является одним из базовых итерационных методов линейной алгебры. Он основывается на методе Гаусса-Зейделя [9], в который добавлен коэффициент релаксации 0<<в<2. При значении коэффициента <в=1 метод релаксации сводится к методу Гаусса-Зейделя.
Метод BiCGStab является вариантом метода сопряженных градиентов для несимметричных матриц. Он относится к семейству методов, основанных на подпространствах Крылова. Для уменьшения количества итераций, необходимых для достижения сходимости метода до заданной точности, использовался вариант метода с предобуславливателем [11].
Обобщенный метод минимальных невязок также относится к семейству методов, основанных на подпространствах Крылова. Его подробное описание дано в работе [11].
Предобуславливатели. Предобуславливателем называется матрица M, такая, что матрица MfxA имеет лучшую обусловленность, чем матрица A. По уменьшению количества итераций методов решения СЛАУ можно судить об эффективности различных предобуславливателей. В работе рассмотрены следующие пять предобуславливателей.
• Неполное LU-разложение (ILU) [11]. Матрица A представляется в виде A = L U + R , где L и U -неполные разложения матрицы; R - остаток. В работе используется вариант без образования дополнительного заполнения, называемый ILU(0).
• Модификация метода неполного LU-разложения с отбрасыванием (ILU with threshold - ILUT) [11]. В данном предобуславливателе применяется другой порядок метода исключения Гаусса при построении неполного разложения. Производится формирование одной строки матрицы, после чего отбрасываются все элементы, кроме m наибольших. Это позволяет сохранять разреженность в матрице, получая некоторую гибкость при формировании разложения.
• Модификация метода неполного LU-разложения Crout ILU (ILUC) [15]. Этот предобуславлива-тель по структуре похож на предобуславливатель ILUT, в нем также происходит построение строки и столбца матрицы с последующим отбрасыванием элементов аналогично предобуславливателю ILUT. Отличие алгоритма заключается в другой последовательности построения разложения.
• Стабилизированный метод нахождения приближенной обратной матрицы (SAINV) [16]. В общем случае этот алгоритм гарантированно работает лишь для симметричных положительно определенных матриц, однако расхождения итерационного алгоритма в упругопластической задаче не наблюдалось.
168
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
• Алгебраический многосеточный метод со сглаженной агрегацией (Smoothed Aggregation algebraic multigrid method - SAAMG) [17]. Для некоторых задач многосеточные методы являются эффективными решателями, поэтому на их основе были разработаны предобуславливатели для итерационных методов решения СЛАУ.
Результаты
вычислительных экспериментов
Эффективность итерационных методов для решения упругопластической задачи определялась по результатам вычислительного эксперимента по сжатию параллелепипеда плоскими плитами. Вычислительные эксперименты проводились на кластере «Уран» Института математики и механики имени Н.Н. Красовского УрО РАН [18]. Он состоит из 208 вычислительных узлов, установленных в модулях с высокой плотностью упаковки. Каждый вычислительный узел оснащен двумя процессорами Intel Quad-Core Xeon, работающими на частоте 3,00 ГГц, и 16/32 Гбайта оперативной памяти. В общей сложности пользователям доступны 1 664 вычислительных ядра и 3 584 Гбайта оперативной памяти. Для передачи данных между вычислительными узлами используется высокоскоростная сеть Infiniband с пропускной способностью 20 Гбит/сек.
В качестве реализаций итерационных методов решения СЛАУ была использована библиотека lis [19, 20]. Решение СЛАУ производилось до удовлетворения условия остановки ||r||/||b||<109, где r - вектор невязки; b - вектор правой части СЛАУ; ||-|| -евклидова норма вектора.
Характеристики СЛАУ. Для упрощения анализа эффективности рассматриваемых методов решения СЛАУ использовалась регулярная сетка при разбиении параллелепипеда на конечные элементы. При этом получается ленточная матрица системы A с пятью ненулевыми лентами. Параметры матрицы A в зависимости от количества разбиений d по каждой координатной оси в конечноэлементной сетке приведены в таблице.
Параметры матрицы в трехмерной тестовой упругопластической задаче
Matrix parameters in 3D test elastoplastic problem
d n P z 8103
10 399 10 401 323-103 1,1
20 278-102 1391 225-104 2,3
30 894 102 2981 724-104 4,2
40 207-103 5171 167105 8,1
50 398 103 7961 322-105 10,6
100 309 104 30911 250-106 -
Здесь n - размерность матрицы; P - полуширина ленты; z - количество элементов aij в матрице, удовлетворяющих условию |a,-,| > 10 , которое на два порядка меньше критерия остановки в методе Нью-тона-Равсона, использованного при достижении условия пластичности Мизеса; 8 - число обусловленности матрицы.
Число обусловленности матрицы определялось как отношение наибольшего к наименьшему сингулярных значений матрицы. Оценка сингулярных значений матрицы осуществлялась при помощи функции svds пакета MATLAB. Для задач с параметрами сетки d = 30, 40 и 50 сингулярные значения оценивали с использованием библиотеки SLEPc [21] с критерием останова 10-3. Для задач с параметром сетки d = 100 оценка числа обусловленности не производилась из-за большого объема матриц.
Производительность методов на небольших сетках. Анализ результатов, полученных методом релаксации, показал, что при значениях коэффициента релаксации <в>1 на сетках с параметром d>15 метод расходится. При значениях <в<1 метод релаксации сходится, но решение СЛАУ производится значительно медленнее, чем при использовании методов BiCGStab и GMRES.
На рисунке 1 показана зависимость ускорения s решения СЛАУ методами BiCGStab и GMRES с пре-добуславливателем ILU(0) от количества используемых MPI-процессов p. Под ускорением понимается величина s = tp/t1, где tp, t1 - время выполнения алгоритма при использовании p и 1 MPI-процессов соответственно.
в) г)
----метод BiCGStab,......- метод GMRES
Рис. 1. Зависимость ускорения s решения СЛАУ от количества MPI-процессовp для сеток с параметром d, равным 10 (а), 20 (б), 30 (в) и 50 (г)
Fig. 1. A relation of linear algebraic equation systems solving s acceleration from MPI-processes p for networks with d-parameter 10 (а), 20 (б), 30 (в) и 50 (г)
На рисунке 2 приведен график зависимости среднего по всему решению упругопластической задачи времени t, затрачиваемого на одну итерацию при использовании метода BiCGStab, от количества MPI-процессов p на задаче с сеткой d=30. На рисунке 3 показана зависимость наибольшего, среднего и наименьшего количества итераций i при решении СЛАУ методом BiCGStab при d = 30 в зависимости от числа MPI-процессов p.
На всех рассмотренных сетках метод BiCGStab показал лучшее ускорение по сравнению с методом
169
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
Рис. 2. Зависимость времени t на одну итерацию от количества MPI-процессов p при использовании метода BiCGStab при d = 30
Fig. 2. A relation of one iteration t-time from MPI-processes p using BiCGStab method when d = 30
100 ■
80 ■ , ,
60 ■ “
40 ■ I ‘ ‘
20 1 i--1---1----1----
0 2 4 6 8
Рис. 3. Наибольшее, среднее (маркеры) и наименьшее количество итераций i при решении СЛАУ методом BiCGStab при d = 30 в зависимости от числа MPI-процессов p
Fig. 3. The greatest, average and the fewest i-iterationsfor linear algebraic equation systems solving with BiCGStab method when d = 30 depending from the quantity of MPI-processes p
GMRES. Для сетки с параметром d = 10 (рис. 1а) у метода GMRES при использовании более 4 процессов имеет место замедление вычислений за счет затрат времени на передачу данных. В методе BiCGStab такое не происходит. Кроме этого, наблюдается скачкообразный рост ускорения в трех случаях, а именно: для сетки с d = 10 при переходе с 2 на 4 процесса, для сетки с d = 20 при переходе с 16 на 32 процесса и для сетки с d = 30 при переходе с 32 на 64 процесса. Этот эффект обусловлен тем, что матрица системы уравнений начинает полностью помещаться в процессорный кэш. Характер графика для сетки с параметром d = 40 аналогичен графику для сетки с d = 50. При этом ускорение метода BiCGStab достигало 5,8 на 64 процессах.
Уменьшение времени на итерацию одновременно с увеличением количества итераций приводит к тому, что на отрезке от 1 до 8 процессов не происходит существенного ускорения (рис. 1б, в, г). Отсутствие ускорения на рассматриваемом отрезке объясняется тем, что использованная реализация предобуславли-вателя ILU(0) в библиотеке lis не производит, по нашему мнению, межпроцессорный обмен. Поэтому при увеличении количества процессов требуется большее количество итераций для достижения требуемой точности. При использовании более восьми процессов время на итерацию уменьшается быстрее, чем увеличивается количество итераций, поэтому общее время решения СЛАУ уменьшается. Применение других предобуславливателей может существенно повлиять на данный эффект.
Метод GMRES показывает лучшее абсолютное время решения СЛАУ на всех рассматриваемых сетках на небольшом количестве процессов, однако метод BiCGStab является более масштабируемым, так как при использовании большего количества процессов у него наблюдается большее ускорение по сравнению с методом GMRES. Например, для решения СЛАУ в задаче с параметром сетки d = 40 одним
процессом методу BiCGStab требуется затратить 17,5 секунды, а методу GMRES - 13,1 секунды. Однако при использовании 64 процессов методу BiCGStab требуется затратить 2,8 секунды, а методу GMRES -3,4 секунды. Это объясняется тем, что при использовании метода BiCGStab требуется меньшее количество операций передачи данных.
Применение прямых методов из работ [2, 3] для решения СЛАУ в упругопластической задаче не позволяло решать на кластере «Уран» ИММ УрО РАН задачи с параметрами сеток d > 35, поскольку для хранения матрицы жесткости требовалось много оперативной памяти. Применение разряженных схем хранения матрицы в совокупности с предобуслов-ленными итерационными методами позволило сократить затраты на хранение матрицы жесткости и дало возможность решать задачу с большим разбиением сетки.
Задержки сети. В работе [22] отмечается, что в силу сложности модели памяти современных компьютерных систем, недетерминированности времени работы сети и других факторов единственной оценкой производительности параллельных алгоритмов остается вычислительный эксперимент.
Для оценки величины случайной погрешности, вносимой в процесс итерационного решения СЛАУ передачей данных, в различное время в течение недели восемь раз осуществлялся запуск решения упругопластической задачи сжатия параллелепипеда с использованием одинаковых входных данных. Для решения использовался метод BiCGStab с предобу-славливателем ILUT. Во время решения производился замер чистого времени решения СЛАУ и количества итераций, потребовавшихся для достижения сходимости.
На рисунке 4 показана зависимость среднего времени одной итерации t от степени деформации параллелепипеда е при решении задачи с параметром сетки d = 100 методом BiCGStab с предобуславлива-телем ILUT при запуске задачи восемь раз в течение недели. Степень деформации вычислялась как
ho h j j
е =------, где h0, h - начальная и текущая высота
h0
параллелепипеда соответственно.
Жирной линией на рисунке 4 показано значение среднего времени одной итерации решения СЛАУ по всем восьми запускам. На рисунке видно, что большинство кривых находятся рядом со средним значением. Две кривые, наиболее сильно отклоняющиеся от средней кривой, соответствуют моментам наибольшей загруженности кластера. Кроме того, поскольку задача ставилась на счет не в эксклюзивном режиме, это могло привести к неоптимальному распределению вычислений на узлы кластера.
На рисунке 5 для данных, приведенных на рисунке 4, показана зависимость коэффициента вариации V времени вычисления одной итерации от степени деформации е при решении упругопластической задачи с сеткой d = 100 методом BiCGStab с предобу-славливателем ILUT при многократном запуске задачи в течение недели.
170
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
Рис. 4. Зависимость среднего времени одной итерации от степени деформации
Fig. 4. One iteration average time depending on deformation ratio
Рис. 5. Зависимость коэффициента вариации времени вычисления одной итерации от степени деформации
Fig. 5. A variation coefficient of one iteration calculation time depending on deformation ratio
Коэффициент вариации вычислялся по формуле ы ст
V = —, где ст - среднеквадратическое отклонение от t
среднего времени одной итерации; t - среднее значение времени одной итерации по всем восьми запускам задачи.
Для всей выборки среднее время итерации t равняется 136,4 мс, среднеквадратическое отклонение ст равняется 6 мс, а коэффициент вариации V - 0,044. В большинстве случаев время одной итерации отличалось от среднего не более чем на 5 %. Таким образом, принимая гипотезу, что случайное отклонение, вносимое работой сети, подчиняется нормальному распределению, можно сказать, что с вероятностью 0,95 время одной итерации не будет отличаться от среднего более, чем на 12 мс.
Производительность методов на больших сетках. Эффективность распараллеливания решения упругопластической задачи сжатия параллелепипеда с параметром сетки d = 100 анализировалась для метода BiCGStab с разными предобуславливателями. Выбор данного метода обусловлен его лучшей производительностью и масштабируемостью, проявленными на небольших сетках.
На рисунке 6 показана зависимость среднего времени t решения СЛАУ и ускорения s по сравнению с 32 процессами от выбранного предобуславли-вателя и количества вычислительных процессов.
Анализ результатов вычислений показал, что предобуславливатель SAAMG требует в среднем в 4 раза больше итераций для решения СЛАУ, чем остальные предобуславливатели. Предобуславливатель на основе алгебраического многосеточного метода требует значительно большего времени для решения СЛАУ, чем другие предобуславливатели при использовании одинакового количества вычислительных процессов.
Наиболее быстрыми являются комбинации пре-добуславливателей ILU и ILUC при использовании 512 процессов. При увеличении количества процессов время решения СЛАУ для большинства предобу-славливателей уменьшается, поэтому можно говорить, что даже при использовании 256 процессов насыщение от задержки сети не достигается. Однако
при использовании 512 процессов и предобу-славливателей ILUC и ILUT наблюдается большее время решения СЛАУ, чем при использовании 256 процессов.
Специфическое поведение предобуславли-вателя SAINV объясняется тем, что его реализация в использованной версии библиотеки имеет утечки памяти.
Поведение ускорений согласуется с зависимостями для времени решения СЛАУ предо-буславливателями SAAMG и ILU.
На основании изложенного можно сделать следующие выводы.
Итерационные методы позволили решать упругопластическую задачу методом конечных элементов с большим разбиением, чем прямые методы.
Метод релаксаций по сравнению с методами BiCGStab и GMRES тратит значительно больше вре-
171
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
мени на решение СЛАУ, поэтому является неэффективным.
Метод GMRES тратит наименьшее время на решение СЛАУ на небольшом количестве процессов, однако метод BiCGStab обладает лучшим ускорением, хорошей масштабируемостью и при использовании большого количества процессоров обеспечивает наименьшее время на решение СЛАУ.
Вычислительный эксперимент по анализу задержки сети при решении тестовой упругопластической задачи показал, что случайное отклонение времени решения СЛАУ от средних значений, вызванное стохастической задержкой сети, в среднем не превышает 5 % .
Предобуславливатель ILUC является наиболее эффективным из рассмотренных по времени решения СЛАУ, однако предобуславливатель SAINV требует наименьшего количества итераций решения СЛАУ методом BiCGStab.
Литература
1. Поздеев А.А., Трусов П.В., Няшин Ю.И. Большие упругопластические деформации: теория, алгоритмы, приложения. М.: Наука, 1986. 234 с.
2. Коновалов А.В., Толмачев А.В., Партин А.С. Параллельное решение упругопластической задачи с применением трехдиагонального алгоритма LU-разложения из библиотеки SCALAPACK // Вычислительная механика сплошных сред. 2011. Т. 4. № 4. С. 34-41.
3. Толмачев А.В., Коновалов А.В., Партин А.С. Использование усеченного варианта алгоритма SPIKE из библиотеки Intel Adaptive SPIKE-Based Solver для решения упругопластической задачи // Вычислительные методы и программирование. 2011. Т. 12. С. 170-175.
4. Демешко И.П., Коновалов А.В. Результаты применения параллельных вычислений для решения двумерных задач прямыми методами // Физико-химическая кинетика в газовой динамике. 2008. Т. 7; URL: http://www.chemphys.edu. ru/arti-cle/106/ (дата обращения: 06.01.2014).
5. Бутюгин Д.С. Алгоритмы решения СЛАУ на системах с распределенной памятью в применении к задачам электромагнетизма // Вестн. Южно-Уральского гос. ун-та. Сер.: Вычислительная математика и информатика. 2012. № 46. С. 5-18.
6. Бутюгин Д.С., Гурьева Я.Л., Ильин В.П. [и др.]. Библиотека параллельных алгебраических решателей KRYLOV // Параллельные вычислительные технологии: тр. междунар. на-уч. конф. (1-5 апреля 2013 г., г. Челябинск). Челябинск: Издат. центр ЮУрГУ, 2013. С. 76-86.
7. Краснопольский Б.И. Об особенностях решения боль-
ших систем линейных алгебраических уравнений на многопроцессорных вычислительных системах различной архитектуры // Вычислительные методы и программирование: новые вычислительные технологии. 2011. № 12. С. 176-182.
8. Копысов С.П., Кузьмин И.М., Недожогин Н.С., Новиков А.К. Параллельные алгоритмы метода дополнения Шура в программной модели CUDA+OpenMP // Вестн. УГАТУ. 2013. Т. 17. № 5 (58). C. 167-177.
9. Watkins D.S. Fundamentals of Matrix Computations. John Wiley & Sons, 2004, 640 p.
10. van der Vorst H. A. BI-CGSTAB: a fast and smoothly converging variant of BI-CG for the solution of nonsymmetric linear systems. SIAM Journ. Sci. Stat. Comput., 1992, vol. 13, no. 2, pp. 631-644; DOI: 10.1137/0913035.
11. Saad Y. Iterative Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, 2003, 547 p.
12. Акимова Е.Н., Демешко И.П., Коновалов А.В. Результаты вычислительных экспериментов решения двумерной упругопластической задачи итерационными методами на кластерной системе // Физико-химическая кинетика в газовой динамике. 2010. Т. 9; URL: http://www.chemphys.edu.ru/article/187/ (дата обращения: 06.01.2014).
13. Konovalov A.V. Constitutive relations for an elastoplastic medium under large plastic deformations. Mechanics of Solids, 1997, vol. 32, no. 5, pp. 117-124.
14. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ. 2-е изд. М.: Вильямс, 2005. 1296 с.
15. Li N., Saad Y., Chow E. Crout Versions of ILU for General Sparse Matrices. SIAM Journ. on Scientific Computing, 2003, vol. 25, no. 2, pp. 716-728.
16. Bridson R., Tang W.-P. Refining an approximate inverse. Journ. Comput. Appl. Math, 2000, vol. 123, no. 1-2, pp. 293-306.
17. Pujii A., Nishida A., Oyanagi Yo. Evaluation of Parallel Aggregate Creation Orders: Smoothed Aggregation Algebraic Multigrid Method. High Performance Computational Science and Engineering. Springer US, 2005, vol. 172, pp. 99-122.
18. Кластер «Уран». URL: http://parallel.uran.ru/node/3 (дата обращения: 23.08.2013).
19. Nishida A. Experience in Developing an Open Source Scalable Software Infrastructure in Japan. Computational Science and 1st Applications. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2010, vol. 6017, pp. 448-462.
20. Kotakemori H., Hasegawa H., Nishida A. Performance evaluation of a parallel iterative method library using OpenMP. High-Performance Computing in Asia-Pacific Region, 2005. Proc. 8th Intern. Conf., 2005, pp. 5-436.
21. Hernandez V., Roman J.E., Vidal V. SLEPc: A scalable and flexible toolkit for the solution of eigenvalue problems. ACM Trans. Math. Softw., 2005, vol. 31, no. 3, pp. 351-362.
22. Ильин В.П. Проблемы высокопроизводительных технологий решения больших разреженных СЛАУ // Вычислительные методы и программирование. 2009. Т. 10. С. 141-147.
DOI: 10.15827/0236-235X.108.167-173 Received 20.01.2014
A PERFORMANCE RESEARCH OF A NUMBER OF ITERATIVE LINEAR SOLVERS WITHIN ELASTOPLASTIC PROBLEM
(The work has been supported by the program of basic research of the Presidium of RAS № 15,
project no. 12-П-1-1025)
Tolmachev A. V., Junior Researcher, tolmachev.arseny@gmail.com;
Konovalov A. V., Dr.Sc. (Engineering), Professor, Head of Laboratory, avk@imach.uran.ru;
Partin AS., Ph.D. (Engineering), Senior Researcher, lmd@imach.uran.ru (Institute of Engineering Science of the Ural Branch of the RAS,
Komsomolskaya St. 34, Ekaterinburg, 620049, Russian Federation)
Abstract. An elastoplastic problem with large plastic deformations is substantially non-linear both geometrically and physically. Most of the finite element solution time is being spent solving linear system in order to find generalized speed vector in the FE grid nodes. To decrease solution time it is crucial to use parallel computations, especially cluster computers. Arising matrix is non-symmetric and has large dimension banded and sparse within band. Direct solvers create fill-in within a band and therefore induce heavy costs both in memory and computation time. We performed a computational experiment
172
Программные продукты и системы /Software & Systems
№ 4 (108), 2014
based on the test problem of parallelepiped compression with plates on “Uran” cluster located in Institute of Mathematics and Mechanics UB RAS in order to analyze the performance of SOR, BiCGStab and GMRES solvers. We estimated linear solver computation time variance that is induced by random latencies in data transfer within the cluster system. Experiment results showed that SOR requires more time than BiCGStab and GMRES thus is inefficient. GMRES is the fastest on a small number of processors. However BiCGStab is more scalable and requires less time than GMRES when using large number of processors. Solve time deviation does not exceed 5 % from the average. An ILUC preconditioner is the most efficient one execution time-wise, however a SAINV preconditioner requires the least number of BiCGStab iterations.
Keywords: elastoplastic problem, finite element method, parallel iterative linear solvers.
References
1. Pozdeev A.A., Trusov P.V., Nyashin Yu.I. Bolshie uprugoplasticheskie deformatsii: teoriya, algoritmy, prilozheniya [Big Elastoplastic Deformations: Theory, Algorithms, Applications]. Moscow, Nauka Publ., 1986, 234 p.
2. Konovalov A.V., Tolmachev A.V., Partin A.S. Parallel solution of the elastic-plastic problem using a tridiagonal algorithm for LU-decomposition from the ScaLAPACK library. Vychislitelnaya mekhanika sploshnykh sred [Computational Continuum Mechanics]. 2011, vol. 4, no. 4, pp. 34-41.
3. Tolmachev A.V., Konovalov A.V., Partin A.S. Application of the truncated SPIKE algorithm from the Intel Adaptive SPIKE-Based Solver for solving elastoplastic problems. Vychislitelnye metody i programmirovanie [Numerical Methods and Programming]. 2011, vol. 12, pp. 170-175 (in Russ.).
4. Demeshko I.P., Konovalov A.V. The results of parallel computing for solving 2D tasks using direct methods. Fiziko-khimicheskaya kinetika v gazovoy dinamike [Physical and Chemical Kinetics in Gas Dynamics]. 2008, vol. 7. Available at: http://www.chemphys.edu.ru/article/106/ (accessed January 6, 2014).
5. Butyugin D.S. Linear algebraic equation systems solving algorithms in the distributed memory systems applying to electromagnetism problems. Vestnik Yuzhno-Uralskogo Gos. Universiteta. Seriya: Vychislitelnaya matematika i informatika [Bulletin of South Ural State University. Series: Computational Mathematics and Software Engineering]. 2012, vol. 46, pp. 5-18 (in Russ.).
6. Butyugin D.S., Guryeva Ya.L., Ilyin V.P. The library of parallel algebraic solvers KRYLOV. Trudy mezhdunar. nauch. konf. "Parallelnye vychislitelnye tekhnologii" (PaVT'2013) [Proc. of the Int. Science Conf. Parallel Computing Technologies (PaVT'2013)]. Chelyabinsk, YuUrGU Publ., 2013, pp. 76-86 (in Russ.).
7. Krasnopolskiy B.I. On the peculiarities of solving large systems of linear algebraic equations on high performance computing systems of different architecture. Vychislitelnye metody i programmirovanie: novye vychislitelnye tekhnologi. [Numerical Methods and Programming]. 2011, vol. 12, pp. 176-182 (in Russ.).
8. Kopysov S.P., Kuzmin I.M., Nedozhogin N.S., Novikov A.K. Parallel algorithms of the Shur complement method in software model CUDA+OpenMP. Vestnik UGATU. [The Bulletin of the Ulyanovsk St. Tech. Univ.]. 2013, vol. 17, no. 5 (58), pp. 210-218 (in Russ.).
9. Watkins D.S. Fundamentals of Matrix Computations. John Wiley & Sons Publ., 2004, 640 p.
10. van der Vorst H.A. BI-CGSTAB: a fast and smoothly converging variant of BI-CG for the solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 1992, vol. 13, no. 2, pp. 631-644.
11. Saad Y. Iterative Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, 2003, 547 p.
12. Akimova E.N., Demeshko I.P., Konovalov A.V. Computing experiments results of solving 2D elastoplastic problem using iteration methods on a cluster system. Fiziko-khimicheskaya kinetika v gazovoy dinamike [Physical and Chemical Kinetics in Gas Dynamics]. 2010, vol. 9. Available at: http://www.chemphys.edu.ru/article/187/ (accessed January 6, 2014).
13. Konovalov A.V. Constitutive relations for an elastoplastic medium under large plastic deformations. Mechanics of Solids. 1997, vol. 32, no. 5, pp. 117-124.
14. Cormen T.H., Leiserson C.E., Rivest R.L., Shtein C. Introduction to Algorithms. MIT Publ., 2001, 984 p. (Russ. ed.: Moscow, Vilyams Publ., 2005, 1296 p.).
15. Li N., Saad Y., Chow E. Crout Versions of ILU for General Sparse Matrices. SIAM Journ. on Scientific Computing. 2003, vol. 25, no. 2, pp. 716-728.
16. Bridson R., Tang W.-P. Refining an approximate inverse. J. Comput. Appl. Math. 2000, vol. 123, no. 1-2, pp. 293-306.
17. Pujii A., Nishida A., Oyanagi Y. Evaluation of Parallel Aggregate Creation Orders: Smoothed Aggregation Algebraic Multigrid Method. High Performance Computational Science and Engineering. Ng M.K., Doncescu A., Yang L.T., Leng T. (Eds.). Springer US Publ., 2005, vol. 172, pp. 99-122.
18. Klaster "Uran" [“Uran” Cluster]. Available at: http://parallel.uran.ru/node/3 (accessed August 23, 2013).
19. Nishida A. Experience in Developing an Open Source Scalable Software Infrastructure in Japan. Computational Science and Its Applications - ICCSA 2010. Lecture Notes in Computer Science. Springer Berlin Heidelberg Publ., 2010, vol. 6017, pp. 448-462.
20. Kotakemori H., Hasegawa H., Nishida A. Performance evaluation of a parallel iterative method library using OpenMP. High-Performance Computing in Asia-Pacific Region, 2005. Proc. 8th Int. Conf. 2005, pp. 5-436.
21. Hernandez V., Roman J.E., Vidal V. SLEPc: A scalable and flexible toolkit for the solution of eigenvalue problems. ACM Trans. Math. Softw. 2005, vol. 31, no. 3, pp. 351-362.
22. Ilyin V.P. The problems of high performance technologies for solving large sparse linear systems. Vychislitelnye metody iprogrammirovanie [Numerical Methods and Programming], 2009, vol. 10, pp. 141-147.
173