В отличие от, например, метода Рунге-Кутты или многошаговых методов, некоторые вычисления в Parareal могут выполняться параллельно , и поэтому Parareal является одним из примеров метода параллельной во времени интеграции. Хотя исторически большинство усилий по распараллеливанию численного решения уравнений с частными производными были сосредоточены на пространственной дискретизации, ввиду проблем, связанных с экзамасштабными вычислениями , параллельные методы временной дискретизации были определены как возможный способ повышения параллелизма в численном программном обеспечении . [3]
Поскольку Parareal вычисляет численное решение для нескольких временных шагов параллельно, он классифицируется как параллельный по шагам метод. [4]
Это контрастирует с подходами, использующими параллелизм по методу, такими как параллельный метод Рунге-Кутты или экстраполяционные методы, где независимые этапы могут быть вычислены параллельно или параллельно по системным методам, таким как релаксация формы волны. [5] [6]
История
Parareal может быть получен как многосеточный метод по времени или как метод множественной съемки по оси времени. [7]
Обе идеи, многосеточный по времени, а также принятие множественной съемки для временной интеграции, восходят к 1980-м и 1990-м годам. [8] [9]
Parareal — широко изученный метод, который использовался и модифицировался для ряда различных приложений. [10]
Идеи распараллеливания решения задач начального значения уходят еще дальше: первая статья, предлагающая метод параллельной интеграции по времени, появилась в 1964 году. [11]
Алгоритм
Проблема
Цель состоит в том, чтобы решить задачу начального значения вида
Правая часть предполагается гладкой (возможно, нелинейной) функцией. Она также может соответствовать пространственной дискретизации уравнения в частных производных в подходе метода линий . Мы хотим решить эту задачу на временной сетке равноотстоящих точек , где и . Выполняя эту дискретизацию, мы получаем разделенный временной интервал, состоящий из временных срезов для .
Цель состоит в том, чтобы вычислить численные приближения к точному решению с использованием метода последовательного шага по времени (например, Рунге-Кутта), который имеет высокую численную точность (и, следовательно, высокую вычислительную стоимость). Мы называем этот метод точным решателем , который распространяет начальное значение в момент времени на конечное значение в момент времени . Цель состоит в том, чтобы вычислить решение (с высокой числовой точностью) с использованием таким образом, чтобы мы получили
Проблема этого решения (и причина попытки решения задачи параллельно в первую очередь) заключается в том, что его невозможно вычислить в режиме реального времени.
Как это работает
Вместо использования одного процессора для решения задачи начального значения (как это делается в классических методах пошагового выполнения по времени), Parareal использует процессоры. Цель состоит в том, чтобы использовать процессоры для решения меньших задач начального значения (по одной на каждом временном срезе) параллельно. Например, в коде на основе MPI будет числом процессов, тогда как в коде на основе OpenMP будет равно числу потоков .
Parareal использует второй метод пошагового выполнения по времени для решения этой задачи начального значения параллельно, называемый грубым решателем . Грубый решатель работает так же, как и точный решатель, распространяя начальное значение на интервал времени длиной , однако он делает это с гораздо меньшей числовой точностью, чем (и, следовательно, с гораздо меньшими вычислительными затратами). Наличие грубого решателя, который является гораздо менее вычислительно затратным, чем точный решатель, является ключом к достижению параллельного ускорения с Parareal.
В дальнейшем будем обозначать парареальное решение в момент времени и итерации как .
Нулевая итерация
Во-первых, запустите грубый решатель последовательно на всем интервале времени , чтобы вычислить приблизительное начальное приближение решения:
Последующие итерации
Далее запустите точный решатель на каждом из временных интервалов параллельно, используя самые последние значения решения:
Теперь последовательно обновим значения парареального решения, используя предиктор-корректор:
На этом этапе можно использовать критерий остановки, чтобы определить, не меняются ли значения решения на каждой итерации. Например, можно проверить это, проверив,
и некоторая толерантность . Если этот критерий не удовлетворяется, последующие итерации могут быть запущены с применением точного решателя параллельно, а затем предиктора-корректора. Однако, как только критерий удовлетворяется, говорят, что алгоритм сошелся в итерациях. Обратите внимание, что существуют и другие критерии остановки, которые были успешно протестированы в Parareal.
Замечания
Parareal должен воспроизводить решение, полученное последовательным применением точного решателя, и будет сходиться за максимальное число итераций. [7]
Однако для того, чтобы Parareal обеспечивал ускорение, он должен сходиться за число итераций, значительно меньшее, чем число временных срезов, т. е . .
В итерации Parareal вычислительно затратная оценка может быть выполнена параллельно на процессорах. Напротив, зависимость от означает , что грубая коррекция должна вычисляться в последовательном порядке.
Обычно для грубого и точного интегратора выбирается некоторая форма метода Рунге-Кутты, где может быть более низкого порядка и использовать больший временной шаг, чем . Если проблема начального значения вытекает из дискретизации уравнения в частных производных, можно также использовать более грубую пространственную дискретизацию, но это может отрицательно повлиять на сходимость, если не используется интерполяция высокого порядка. [12]
Ускорение
При некоторых допущениях можно вывести простую теоретическую модель ускорения Parareal . [13]
Хотя в приложениях эти допущения могут быть слишком ограничительными, модель все равно полезна для иллюстрации компромиссов, которые связаны с получением ускорения с помощью Parareal.
Во-первых, предположим, что каждый временной срез состоит ровно из шагов точного интегратора и шагов грубого интегратора. Это включает в себя, в частности, предположение, что все временные срезы имеют одинаковую длину и что как грубый, так и точный интегратор используют постоянный размер шага на протяжении всего моделирования. Во-вторых, обозначим через и время вычисления, необходимое для одного шага точного и грубого методов соответственно, и предположим, что оба являются постоянными. Это, как правило, не совсем верно, когда используется неявный метод, потому что тогда время выполнения меняется в зависимости от количества итераций, требуемых итеративным решателем .
При этих двух предположениях время выполнения точного метода, интегрирующего по временным срезам, можно смоделировать как
Время выполнения Parareal с использованием процессорных блоков и выполнением итераций составляет
Ускорение Парареала тогда равно
Эти две границы иллюстрируют компромисс, который необходимо сделать при выборе грубого метода: с одной стороны, он должен быть дешевым и/или использовать гораздо больший временной шаг, чтобы сделать первую границу как можно больше, с другой стороны, количество итераций должно быть низким, чтобы вторая граница оставалась большой. В частности, параллельная эффективность Parareal ограничена
то есть на величину, обратную числу требуемых итераций.
Неустойчивость для мнимых собственных значений
У ванильного Parareal есть проблемы с задачами с мнимыми собственными значениями . [7] Обычно он сходится только к самым последним итерациям, то есть по мере приближения , и ускорение всегда будет меньше единицы. Поэтому либо число итераций мало, и Parareal нестабилен, либо, если достаточно велико, чтобы сделать Parareal стабильным, ускорение невозможно. Это также означает, что Parareal обычно нестабилен для гиперболических уравнений. [14] Несмотря на то, что формальный анализ Гандера и Вандевалле охватывает только линейные задачи с постоянными коэффициентами, проблема также возникает, когда Parareal применяется к нелинейным уравнениям Навье–Стокса , когда коэффициент вязкости становится слишком малым, а число Рейнольдса слишком большим. [15] Существуют различные подходы к стабилизации Parareal, [16] [17] [18] один из них — Parareal, улучшенный подпространством Крылова.
Варианты
Существует множество алгоритмов, которые напрямую основаны или, по крайней мере, вдохновлены оригинальным алгоритмом Parareal.
Крылов-подпространство улучшено Парареально
На раннем этапе было признано, что для линейных задач информация, полученная с помощью точного метода, может быть использована для повышения точности грубого метода . [17] Первоначально идея была сформулирована для параллельного неявного интегратора времени PITA, [19] метода, тесно связанного с Parareal, но с небольшими различиями в том, как выполняется коррекция. В каждой итерации результат вычисляется для значений для . На основе этой информации подпространство
определяется и обновляется после каждой итерации Parareal. [20] Обозначим как ортогональную проекцию из в . Затем замените грубый метод на улучшенный интегратор .
По мере увеличения числа итераций пространство будет расти, а модифицированный пропагатор станет более точным. Это приведет к более быстрой сходимости. Эта версия Parareal также может стабильно интегрировать линейные гиперболические уравнения в частных производных. [21] Также существует расширение для нелинейных задач, основанное на методе редуцированного базиса. [18]
Метод с улучшенной параллельной эффективностью, основанный на сочетании Parareal со спектральными отложенными коррекциями (SDC) [22], был предложен М. Миньоном. [23] Он ограничивает выбор грубого и точного интегратора SDC, жертвуя гибкостью ради улучшенной параллельной эффективности. Вместо предела , граница параллельной эффективности в гибридном методе становится
где число итераций последовательного базового метода SDC и обычно большее число итераций параллельного гибридного метода. Гибрид Parareal-SDC был дополнительно улучшен путем добавления полной аппроксимационной схемы , используемой в нелинейной многосетке . Это привело к разработке параллельной полной аппроксимационной схемы в пространстве и времени (PFASST). [24] Производительность PFASST была изучена для PEPC, решателя частиц на основе кода дерева Барнса-Хата , разработанного в Центре суперкомпьютеров Юлиха . Моделирование с использованием всех 262 144 ядер в системе IBM BlueGene /P JUGENE показало, что PFASST может обеспечить дополнительное ускорение сверх насыщения пространственной древовидной параллелизации. [25]
Многосеточное сокращение времени (MGRIT)
Метод многосеточного сокращения во времени (MGRIT) обобщает интерпретацию Parareal как многосеточного во времени алгоритма на нескольких уровнях с использованием различных сглаживателей. [26] Это более общий подход, но для определенного выбора параметров он эквивалентен Parareal. Библиотека XBraid, реализующая MGRIT, разрабатывается Национальной лабораторией Лоуренса в Ливерморе .
ПараЭксп
ParaExp использует экспоненциальные интеграторы в Parareal. [27] Хотя он ограничен линейными задачами, он может обеспечить почти оптимальное параллельное ускорение.
Ссылки
^ Львы, Жак-Луи; Мадей, Ивон; Туриничи, Габриэль (2015). [Lions maday «Парареалистическая» во времени дискретизация PDE's]. Comptes Rendus de l'Académie des Sciences, Série I. 332 (7): 661–668. Бибкод : 2001CRASM.332..661L. дои : 10.1016/S0764-4442(00)01793-6. {{cite journal}}: Проверить |url=значение ( помощь )
^ Пентланд, Камран; Тамборрино, Массимилиано; Самаддар, Дебасмита; Аппель, Линтон (2022). «Стохастический парареаль: применение вероятностных методов к временному распараллеливанию» (PDF) . Журнал SIAM по научным вычислениям . 45 (3): S82–S102. doi :10.1137/21M1414231. S2CID 235485544.
^ Джек Донгарра; Джеффри Хиттингер; Джон Белл; Луис Чакон; Роберт Фалгоут; Майкл Эро; Пол Ховланд; Эсмонд Нг; Клейтон Вебстер; Стефан Уайлд (март 2014 г.). Исследования прикладной математики для экзафлопсных вычислений (PDF) (Отчет). Министерство энергетики США . Получено 29 августа 2015 г.
^ Беррейдж, Кевин (1997). «Параллельные методы для ОДУ». Успехи вычислительной математики . 7 (1–2): 1–31. doi :10.1023/A:1018997130884. S2CID 15778447.
^ Исерлес, А.; Нёрсетт, С.П. (1990-10-01). «О теории параллельных методов Рунге—Кутты». Журнал численного анализа IMA . 10 (4): 463–488. doi :10.1093/imanum/10.4.463. ISSN 0272-4979.
^ Кетчесон, Дэвид; Вахид, Умайр бин (2014-06-13). «Сравнение явных методов Рунге–Кутты высокого порядка, экстраполяции и отложенной коррекции в последовательных и параллельных системах». Communications in Applied Mathematics and Computational Science . 9 (2): 175–200. arXiv : 1305.6165 . doi :10.2140/camcos.2014.9.175. ISSN 2157-5452. S2CID 15242644.
^ abc Гандер, Мартин Дж.; Вандевалле, Стефан (2007). «Анализ метода парареального времени — параллельного времени — интегрирования». Журнал SIAM по научным вычислениям . 29 (2): 556–578. CiteSeerX 10.1.1.154.6042 . doi :10.1137/05064607X.
^ Хакбуш, Вольфганг (1985). Параболические многосеточные методы. С. 189–197. ISBN9780444875976. Получено 29 августа 2015 г. . {{cite book}}: |journal=проигнорировано ( помощь )
^ Киль, Мартин (1994). «Параллельная многократная стрельба для решения задач начального значения». Параллельные вычисления . 20 (3): 275–295. doi :10.1016/S0167-8191(06)80013-X.
^ Гандер, Мартин Дж. (2015). 50 лет параллельной интеграции времени . Вклад в математические и вычислительные науки. Том 9 (1-е изд.). Springer International Publishing. doi : 10.1007/978-3-319-23321-5 . ISBN978-3-319-23321-5.
^ Нивергельт, Юрг (1964). «Параллельные методы интегрирования обыкновенных дифференциальных уравнений». Сообщения ACM . 7 (12): 731–733. doi : 10.1145/355588.365137 . S2CID 6361754.
^ Рупрехт, Дэниел (2014-12-01). «Сходимость парареальных с пространственным огрублением» (PDF) . Труды по прикладной математике и механике . 14 (1): 1031–1034. doi :10.1002/pamm.201410490. ISSN 1617-7061. S2CID 26356904.
^ Миньон, Майкл Л. (2010). «Гибридный метод парареальных спектральных отложенных поправок». Сообщения по прикладной математике и вычислительной науке . 5 (2): 265–301. doi : 10.2140/camcos.2010.5.265 .
^ Персонал, Гуннар Андреас; Ренквист, Эйнар М. (1 января 2005 г.). Барт, Тимоти Дж.; Грибель, Майкл; Киз, Дэвид Э.; Ниеминен, Ристо М.; Руз, Дирк; Шлик, Тамар; Корнхубер, Ральф; Хоппе, Рональд; Перио, Жак (ред.). Устойчивость парареалистического алгоритма . Конспекты лекций по вычислительной технике и технике. Шпрингер Берлин Гейдельберг. стр. 449–456. дои : 10.1007/3-540-26825-1_46. ISBN9783540225232.
^ Штайнер, Йоханнес; Рупрехт, Даниэль; Шпек, Роберт; Краузе, Рольф (2015-01-01). «Сходимость парареальных уравнений Навье-Стокса в зависимости от числа Рейнольдса». В Abdulle, Assyr; Deparis, Simone; Kressner, Daniel; Nobile, Fabio; Picasso, Marco (ред.). Численная математика и передовые приложения - ENUMATH 2013. Конспект лекций по вычислительной науке и технике. Том 103. Springer International Publishing. С. 195–202. CiteSeerX 10.1.1.764.6242 . doi :10.1007/978-3-319-10705-9_19. ISBN9783319107042.
^ Dai, X.; Maday, Y. (2013-01-01). «Стабильный парареальный во времени метод для гиперболических систем первого и второго порядка». Журнал SIAM по научным вычислениям . 35 (1): A52–A78. arXiv : 1201.1064 . Bibcode : 2013SJSC...35A..52D. doi : 10.1137/110861002. ISSN 1064-8275. S2CID 32336370.
^ ab Farhat, Charbel; Cortial, Julien; Dastillung, Climène; Bavestrello, Henri (2006-07-30). "Параллельные во времени неявные интеграторы для прогнозирования линейных структурных динамических реакций в режиме, близком к реальному времени". International Journal for Numerical Methods in Engineering . 67 (5): 697–724. Bibcode :2006IJNME..67..697F. doi :10.1002/nme.1653. ISSN 1097-0207. S2CID 121254646.
^ ab Chen, Feng; Hesthaven, Jan S.; Zhu, Xueyu (2014-01-01). "Об использовании методов редуцированного базиса для ускорения и стабилизации парареального метода". В Quarteroni, Alfio ; Rozza, Gianluigi (ред.). Методы редуцированного порядка для моделирования и вычислительной редукции. MS&A - Моделирование, имитация и приложения. Springer International Publishing. стр. 187–214. doi :10.1007/978-3-319-02090-7_7. ISBN9783319020891.
^ Фархат, Шарбель; Чандесрис, Мэрион (2003-11-07). «Параллельные интеграторы времени с временным разложением: теория и исследования осуществимости для приложений «жидкость, структура» и «жидкость–структура». Международный журнал численных методов в машиностроении . 58 (9): 1397–1434. Bibcode : 2003IJNME..58.1397F. doi : 10.1002/nme.860. ISSN 1097-0207. S2CID 61667246.
^ Гандер, М.; Петку, М. (2008). «Анализ парареального алгоритма, улучшенного подпространством Крылова, для линейных задач». ESAIM: Труды . 25 : 114–129. doi : 10.1051/proc:082508 .
^ Рупрехт, Д.; Краузе, Р. (2012-04-30). «Явная параллельная во времени интеграция линейной акустической адвективной системы». Компьютеры и жидкости . 59 : 72–83. arXiv : 1510.02237 . doi : 10.1016/j.compfluid.2012.02.015. S2CID 15703896.
^ Датт, Алок; Грингард, Лесли; Рохлин, Владимир (2000-06-01). «Спектральные методы отложенной коррекции для обыкновенных дифференциальных уравнений». BIT Numerical Mathematics . 40 (2): 241–266. doi :10.1023/A:1022338906936. ISSN 0006-3835. S2CID 43449672.
^ Миньон, Майкл (2011-01-05). «Гибридный метод парареальных спектральных отложенных поправок». Сообщения по прикладной математике и вычислительной науке . 5 (2): 265–301. doi : 10.2140/camcos.2010.5.265 . ISSN 2157-5452.
^ Эмметт, Мэтью; Миньон, Майкл (28.03.2012). «К эффективному параллельному по времени методу для уравнений с частными производными». Communications in Applied Mathematics and Computational Science . 7 (1): 105–132. doi : 10.2140/camcos.2012.7.105 . ISSN 2157-5452.
^ Спек, Р.; Рупрехт, Д.; Краузе, Р.; Эмметт, М.; Миньон, М.; Винкель, М.; Гиббон, П. (2012-11-01). "Массивный пространственно-временной параллельный N-тел решатель". Международная конференция по высокопроизводительным вычислениям, сетям, хранению и анализу 2012 г. . стр. 1–11. doi :10.1109/SC.2012.6. ISBN978-1-4673-0805-2. S2CID 1620219.
^ Falgout, R.; Friedhoff, S.; Kolev, T.; MacLachlan, S.; Schroder, J. (2014-01-01). «Параллельная интеграция по времени с помощью Multigrid». Журнал SIAM по научным вычислениям . 36 (6): C635–C661. Bibcode : 2014SJSC...36C.635F. CiteSeerX 10.1.1.701.2603 . doi : 10.1137/130944230. ISSN 1064-8275.
^ Гандер, М.; Гюттель, С. (2013-01-01). "PARAEXP: Параллельный интегратор для линейных задач с начальными значениями". Журнал SIAM по научным вычислениям . 35 (2): C123–C142. Bibcode :2013SJSC...35C.123G. CiteSeerX 10.1.1.800.5938 . doi :10.1137/110856137. ISSN 1064-8275.