Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 18
Текст из файла (страница 18)
Разумеется, необходимо по максимуму использовать возможности традиционных последовательных отладчиков, приэтом создавая собственное ядро, управляющее параллельностью. Наоснове наблюдений1) нет никакой надежды завоевать простых пользователей без развитого GUI-интерфейса, GUI не необходим системным программистам, но им и отладчик нужен в меньшей степени;2) простые пользователи консервативны. GUI должен быть при85вычным;3) разработка GUI – крайне трудоемкий процесс.Мы пошли дальше и предложили использовать готовую существующую GUI-оболочку отладчиков GNU DDD. Существеннымипреимуществами DDD является зрелость, обширная пользовательскаябаза и значительное число поддерживаемых отладчиков команднойстроки.
Наиболее существенный недостаток – недостаточноструктурированная реализация (это является почти неизбежнымследствием долгого существования продукта).В качестве временного решения ядром управления параллельностью служит подсистема mpigdb из MPICH2 (поддерживается версия1.0.1 библиотеки). Е е использование в этом качестве потребовало некоторых модификаций, которые существенно упростила прозрачнаяструктура соответствующих исходных текстов библиотеки. Общаяструктура отладочной системы изображена на рис. 1.Рис.
1. Структура диалогового отладчикаТекущая версия (рис. 2) описываемой разработки предоставляетследующие возможности:1) отслеживание местонахождения каждого процесса параллельной программы;2) наблюдение за изменением данных на каждом процессе;3) поддержку глобальных точек останова в параллельной программе;4) поддержку глобального стека вызовов параллельной программы.Описанные модификации выполнялись с DDD версии 3.3.9.86Рис 2. Внешний вид свободного диалогового отладчикаРазумеется, в настоящее время коммерческие отладчики Etnus TotalView и Allinea DDT существенно опережают по функциональностиописываемую разработку.
Дальнейшее развитие будет осуществлятьсяпо двум направлениям:1) реализация традиционных средств диалоговой отладки с активным использованием преимуществ свободной лицензии проекта;2) добавление в отладочный процесс распределенных утверждений(assert) на основе наблюдения за глобальными состояниями.Хотелось бы выразить благодарности А.С. Игумнову (ИММ УрОРАН, г. Екатеринбург) за инициирование работы в области параллельной отладки на раннем этапе, а А.А. Ионову (ННГУ) – за участие в отладке и модификации mpigdb. Дополнительная информация о проекте,включая исходные тексты, доступна по адресу http://parallel.uran.ru/unn-itlab-mpi/ru/debugger.html.Литература1.
Авербух В.Л., Байдалин А.Ю. Проектирование видов отображениядля системы параллельного программирования DVM // Алгоритмы и программные средства параллельных вычислений / ИММ УрО РАН, Екатеринбург. 2001. Вып. 5.872. В. Ф. Алексахин, К. Н. Ефимкин, В. Н. Ильяков, В. А. Крюков,М. И. Кулешова, Ю. Л. Сазанов Средства отладки MPI-программ в DVMсистеме // Научный сервис в сети Интернет: технология распредел енныхвычислений: Тр. Всерос. науч. конф.
(19–24 сентября 2005, г. Новороссийск). – М.: Изд-во МГУ, 2005. С.113–115.3. Игумнов А.С. Открытая платформа отладки параллельных программ // Научный сервис в сети Интернет-2003: Тр. Всерос. науч. конф.(22–27 сентября 2003, г. Новороссийск). – М.: Изд-во МГУ, 2003. С.
92–94.4. Карпов Ю.Г., Борщев А.В., Рудаков В.В. О корректности параллельных алгоритмов // Программирование, № 4, 1996. С. 5–17.5. Лацис А.О. Как построить и использовать суперкомпьютер. – М.:Бестселлер, 2003. – 274 с.6. Пасынков И.Г., Подергина Н.В., Самофалов В.В., Тюрин В.Ф., Ускова Т.И. Символьный диалоговый отладчик ОС Диспак (возможности и реализация). – Свердловск, УНЦ АН СССР, 1980.7. Самофалов В.В., Коновалов А.В., Шарф С.В. Производительностьпараллельного ввода-вывода // Научный сервис в сети Интернет-2003: Тр.Всероссийской научной конференции (22–27 сентября 2003, Новороссийск).
– М., Изд-во МГУ, 2003. С. 212–215.8. Falzone C., Chan A., Lusk E., Gropp W. Collective Error Detection forMPI Collective Operations // Euro PVMMPI'05, 2005.9. Krammer B., Müller M.S., Resch M.M. MPI Application DevelopmentUsing the Analysis Tool MARMOT // ICCS 2004, Krakow, Poland, June 7–9,2004. Lecture Notes in Computer Science / Springer, 2004. V. 3038. Р.
464–471.10. Mattern F., R. Schwarz Detecting Causal Relationships in DistributedComputations: In Search of the Holy Grail // Distributed Computing. 1994. V. 7,No. 3. Р. 149–174.11. Samofalov V., Krukov V., Kuhn B., Zheltov S., Konovalov A., DeSouza J.Automated Correctness Analysis of MPI Programs with Intel®Message Checker// Представлено к публикации в трудах конференции ParCo’2005.ЧИСЛЕННОЕ РЕШЕНИЕ АДВЕКТИВНО-ДИФФУЗИОННЫХУРАВНЕНИЙ НА МНОГОПРОЦЕССОРНОЙ ТЕХНИКЕ СРАСПРЕДЕЛЕННОЙ ПАМЯТЬЮЕ.А.
ДанилкинТомский Государственный УниверситетВведениеНесомненно, что главной движущей силой развития параллельныхкомпьютеров были потребности научных вычислений, а одной из са88мых важных задач в области научных вычислений является решениесистем линейных алгебраических уравнений. При решении СЛАУ высокого порядка, особое место занимают проблемы с разреженнымиматрицами специальной структуры, возникающими из сеточных аппроксимаций многомерных краевых задач.Для решения таких задач невыгодно применять прямые методывроде метода исключения Гаусса. Эти методы не учитывают структурыматрицы, вынуждают хранить матрицу целиком, что делает нерациональным использование оперативной памяти, подвержены влияниюпогрешности округления. В наше время для решения этих ресурсоемких задач наиболее эффективным средством стали итерационные методы неполной факторизации [1], которые применяются совместно соспектральными или вариационными принципами ускорения процессарешения.
Их главными достоинствами являются рекордная практическая экономичность, высокие теоретические оценки сходимости последовательных приближений и широкие возможности конструирования адаптивных алгоритмов для различных классов задач.Цель данной работы заключается в исследовании возможных подходов решения систем связанных линейных дифференциальных уравнений методом конечного объема на многопроцессорной системе сраспределенной памятью и выбор оптимального с точки зрения минимизации межпроцессорных обменов.Математическая постановка задачиТребуется решить систему двух связанных линейных дифференциальных уравнений в единичном квадрате ((x, y) ∈ [0, 1]×[1, 0], G –граница) с граничными условиями третьего рода⎧ ∂ ⎛ 1 ∂u ⎞ ∂ ⎛ 1 ∂u ⎞ 1 ∂u 1∂u⎜⎜ D⎟⎟ + ⎜⎜ D⎟⎟ + E+ B v = F 1 ; α1+ β1u = γ1 ;⎪G∂∂∂∂∂∂yxnxxy⎝⎠⎝⎠⎪G(1)⎨∂∂vv⎪ ∂ ⎛⎜ 2 ∂ v ⎞⎟ ∂ ⎛⎜ 2 ∂ v ⎞⎟222222⎪ ∂ x ⎜ D ∂ x ⎟ + ∂ y ⎜ D ∂ y ⎟ + E ∂ x + B u =F ; α ∂n + β v G =γ ;⎝⎠⎝⎠G⎩где D i, E i, B i, F i достаточно раз непрерывно дифференцируемыефункции.
α i, β i, γ i (i = 1, 2) константы.Метод решенияАппроксимация дифференциальной задачи осуществлялась на основе метода конечного объема. Основная идея этого метода заключа89ется в разбиении расчетной области на непересекающиеся, граничащиедруг с другом конечные объемы так, чтобы один узел расчетной сеткисодержался только в своем конечном объеме.
Разбив таким образомрасчетную область, интегрируем каждое уравнение системы по каждому конечному объему. При вычислении интегралов используются интерполяционные квадратурные формулы численного интегрированиядля зависимых величин, входящих в (1). В результате такого приближенного интегрирования получается дискретный аналог системы дифференциальных уравнений⎧apij uij = aeij ui +1 j + awij ui −1 j + anij uij +1 + asij uij −1 + ad ij vij + bij ; 0≤ i ≤ Nx,(2)⎨ ′⎩apij vij = aeij′ vi +1 j + awij′ vi −1 j + anij′ vij +1 + asij′ vij −1 + ad ij′ uij + bij′ ; 0 ≤ j ≤ Ny;Матрица полученной системы сеточных уравнений (2) имеет вид,показанный на рис. 1. Здесь U, V – компоненты столбца неизвестных,B – столбец свободных членов.⎛{bij }⎞⎟.U = {uij }, V = {vij }, B = ⎜⎜⎟′b{}ij⎝⎠Рис. 1Матрица системы (обозначим ее через A) имеет большое количество нулевых элементов, а ненулевые выстроены в диагонали, как показано на рис.
1. Матрица A состоит из четырех больших блоков, два изкоторых пятидиагональные матрицы и два содержат лишь по однойненулевой главной диагонали.Метод решения систем линейных алгебраических уравненийВ качестве метода решения системы сеточных уравнений рассматривается стабилизирующий метод бисопряженных градиентов [3] спредобуславливанием по Булеву [1, 2]. В настоящее время этот метод90является одним из наиболее быстродействующих по времени и количеству итераций.