Parareal


Parareal es un algoritmo paralelo de análisis numérico y se utiliza para la solución de problemas de valores iniciales . [1] Fue introducido en 2001 por Lions , Maday y Turinici. Desde entonces, se ha convertido en uno de los métodos de integración en paralelo en el tiempo más estudiados. [ cita requerida ]

A diferencia de, por ejemplo, Runge-Kutta o los métodos de varios pasos , algunos de los cálculos en Parareal se pueden realizar en paralelo y Parareal es, por lo tanto, un ejemplo de un método de integración en paralelo en el tiempo . Si bien históricamente la mayoría de los esfuerzos para paralelizar la solución numérica de ecuaciones diferenciales parciales se centraron en la discretización espacial, en vista de los desafíos de la computación a exaescala , los métodos paralelos para la discretización temporal se han identificado como una posible forma de aumentar la concurrencia en el software numérico . [2] Debido a que Parareal calcula la solución numérica para múltiples pasos de tiempo en paralelo, se categoriza como un método paralelo a través de los pasos . [3] Esto contrasta con los enfoques que utilizan el paralelismo a través del método como Runge-Kutta paralelo o métodos de extrapolación, donde las etapas independientes se pueden calcular en paralelo o en paralelo a través de los métodos del sistema como la relajación de la forma de onda. [4] [5]

Parareal puede derivarse como un método de red múltiple en el método de tiempo o como disparo múltiple a lo largo del eje del tiempo. [6] Ambas ideas, multirredes en el tiempo y la adopción de disparos múltiples para la integración del tiempo, se remontan a las décadas de 1980 y 1990. [7] [8] Parareal es un método ampliamente estudiado y se ha utilizado y modificado para una variedad de aplicaciones diferentes. [9] Las ideas para paralelizar la solución de problemas de valor inicial se remontan aún más atrás: el primer artículo que propone un método de integración paralelo en el tiempo apareció en 1964. [10]

Visualización del algoritmo Parareal. El propagador grueso aquí está etiquetado mientras que el propagador fino está etiquetado .

Parareal resuelve un problema de valor inicial de la forma

Aquí, el lado derecho puede corresponder a la discretización espacial de una ecuación diferencial parcial en un enfoque de método de líneas .

Parareal ahora requiere una descomposición del intervalo de tiempo. dentro los llamados segmentos de tiempo tal que

Cada segmento de tiempo se asigna a una unidad de procesamiento al paralelizar el algoritmo, de modo que es igual al número de unidades de procesamiento utilizadas para Parareal: en un código basado en MPI , por ejemplo, este sería el número de procesos, mientras que en un código basado en OpenMP ,sería igual al número de subprocesos .

Parareal se basa en la aplicación iterativa de dos métodos para la integración de ecuaciones diferenciales ordinarias . Uno, comúnmente etiquetado, debe ser de alta precisión y costo computacional, mientras que el otro, típicamente etiquetado , debe ser computacionalmente económico pero puede ser mucho menos preciso. Por lo general, se elige alguna forma de método de Runge-Kutta tanto para el integrador grueso como para el fino, donde puede ser de orden inferior y utilizar un intervalo de tiempo mayor que . Si el problema del valor inicial proviene de la discretización de un PDE,También puede utilizar una discretización espacial más burda, pero esto puede afectar negativamente a la convergencia a menos que se utilice una interpolación de alto orden. [11] El resultado de la integración numérica con uno de estos métodos durante un intervalo de tiempo por algún valor inicial dado en luego se escribe como

o .

La integración de tiempo en serie con el método fino correspondería entonces a un cálculo paso a paso de

En cambio, Parareal usa la siguiente iteración

dónde es el contador de iteraciones. A medida que la iteración converge y, los términos del método grueso se cancelan y Parareal reproduce la solución que se obtiene mediante la ejecución en serie del método fino únicamente. Se puede demostrar que Parareal converge después de un máximo deiteraciones. [6] Para que Parareal proporcione aceleración, sin embargo, tiene que converger en un número de iteraciones significativamente menor que el número de segmentos de tiempo, es decir.

En la iteración Parareal, la evaluación computacionalmente costosa de se puede realizar en paralelo en unidades de procesamiento. Por el contrario, la dependencia de en significa que la corrección aproximada debe calcularse en orden de serie.

Acelerar

Bajo algunos supuestos, se puede derivar un modelo teórico simple para la aceleración de Parareal. [12] Aunque en las aplicaciones estos supuestos pueden ser demasiado restrictivos, el modelo sigue siendo útil para ilustrar las compensaciones que están involucradas en la obtención de una aceleración con Parareal.

Primero, suponga que cada segmento de tiempo consiste exactamente en pasos del integrador fino y de pasos del integrador grueso. Esto incluye, en particular, la suposición de que todos los segmentos de tiempo tienen la misma longitud y que tanto el integrador grueso como el fino utilizan un tamaño de paso constante en toda la simulación. En segundo lugar, denote por y el tiempo de cálculo requerido para un solo paso de los métodos fino y grueso, respectivamente, y suponga que ambos son constantes. Por lo general, esto no es exactamente cierto cuando se usa un método implícito , porque entonces los tiempos de ejecución varían según el número de iteraciones requeridas por el solucionador iterativo .

Bajo estos dos supuestos, el tiempo de ejecución del método fino que se integra sobre los intervalos de tiempo se pueden modelar como

El tiempo de ejecución de Parareal usando unidades de procesamiento y rendimiento iteraciones es

Aceleración de Parareal entonces es

Estos dos límites ilustran la compensación que debe hacerse al elegir el método aproximado: por un lado, tiene que ser barato y / o utilizar un paso de tiempo mucho mayor para hacer que el primer límite sea lo más grande posible, por otro lado entregar el número de iteraciones tiene que mantenerse bajo para mantener el segundo límite grande. En particular, la eficiencia paralela de Parareal está limitada por

es decir, por la inversa del número de iteraciones requeridas.

Inestabilidad para valores propios imaginarios

La versión básica de Parareal tiene problemas con los valores propios imaginarios . [6] Por lo general, solo converge hacia las últimas iteraciones, es decir, como enfoques y la aceleración siempre será más pequeño que uno. Entonces, o el número de iteraciones es pequeño y Parareal es inestable o, sies lo suficientemente grande para hacer que Parareal sea estable, no es posible acelerar. Esto también significa que Parareal es típicamente inestable para ecuaciones hiperbólicas . [13] Aunque el análisis formal de Gander y Vandewalle cubre solo problemas lineales con coeficientes constantes, el problema también surge cuando Parareal se aplica a las ecuaciones no lineales de Navier-Stokes cuando el coeficiente de viscosidad se vuelve demasiado pequeño y el número de Reynolds demasiado grande. [14] Existen diferentes enfoques para estabilizar Parareal, [15] [16] [17] uno es Parareal mejorado en el subespacio de Krylov.

Hay múltiples algoritmos que se basan directamente o al menos se inspiran en el algoritmo original de Parareal.

Parareal mejorado por el subespacio de Krylov

Al principio se reconoció que para problemas lineales la información generada por el método fino se puede utilizar para mejorar la precisión del método aproximado . [16] Originalmente, la idea fue formulada para el integrador de tiempo implícito paralelo PITA, [18] un método estrechamente relacionado con Parareal pero con pequeñas diferencias en cómo se realiza la corrección. En cada iteración el resultado se calcula para valores por . Basado en esta información, el subespacio

se define y actualiza después de cada iteración de Parareal. [19] Denotar comola proyección ortogonal de a . Luego, reemplace el método grueso con el integrador mejorado.

A medida que aumenta el número de iteraciones, el espacio crecerá y el propagador modificado será más preciso. Esto conducirá a una convergencia más rápida. Esta versión de Parareal también puede integrar de forma estable ecuaciones diferenciales parciales hiperbólicas lineales. [20] También existe una extensión a problemas no lineales basada en el método de base reducida. [17]

Correcciones diferidas espectrales híbridas Parareal

M. Minion ha propuesto un método con una eficiencia paralela mejorada basado en una combinación de Parareal con correcciones espectrales diferidas (SDC) [21] . [22] Limita la elección del integrador grueso y fino a SDC, sacrificando la flexibilidad para mejorar la eficiencia en paralelo. En lugar del límite de, el límite de la eficiencia paralela en el método híbrido se convierte en

con siendo el número de iteraciones del método base serial SDC y el número típicamente mayor de iteraciones del método híbrido paralelo. El híbrido Parareal-SDC se ha mejorado aún más mediante la adición de un esquema de aproximación completo como se usa en multirredes no lineales . Esto llevó al desarrollo del esquema de aproximación completa en paralelo en el espacio y el tiempo (PFASST). [23] Se ha estudiado el rendimiento de PFASST para PEPC, un solucionador de partículas basado en código de árbol de Barnes-Hut desarrollado en el Centro de Supercomputación Juelich . Las simulaciones que utilizan los 262144 núcleos en el sistema IBM BlueGene / P JUGENE mostraron que PFASST podría producir una aceleración adicional más allá de la saturación de la paralelización del árbol espacial. [24]

Reducción de tiempo de red múltiple (MGRIT)

El método de reducción de tiempo de múltiples redes (MGRIT) generaliza la interpretación de Parareal como algoritmos de múltiples redes en el tiempo a múltiples niveles utilizando diferentes suavizadores. [25] Es un enfoque más general, pero para una elección específica de parámetros es equivalente a Parareal. La biblioteca XBraid que implementa MGRIT está siendo desarrollada por el Laboratorio Nacional Lawrence Livermore .

ParaExp

ParaExp utiliza integradores exponenciales dentro de Parareal. [26] Aunque se limita a problemas lineales, puede producir una aceleración paralela casi óptima.

  1. ^ Leones, Jacques-Louis; Maday, Yvon; Turinici, Gabriel (2015). "Una discretización" parareal "en el tiempo de los PDE" (PDF) . Comptes Rendus de l'Académie des Sciences, Serie I . 332 (7): 661–668. Código Bibliográfico : 2001CRASM.332..661L . doi : 10.1016 / S0764-4442 (00) 01793-6 .
  2. ^ Jack Dongarra; Jeffrey Hittinger; John Bell; Luis Chacón; Robert Falgout; Michael Heroux; Paul Hovland; Esmond Ng; Clayton Webster; Stefan Wild (marzo de 2014). Investigación en matemáticas aplicadas para computación a exaescala (PDF) (Informe). Departamento de Energía de Estados Unidos . Consultado en agosto de 2015 . Verifique los valores de fecha en: |accessdate=( ayuda )
  3. ^ Burrage, Kevin (1997). "Métodos paralelos para EDO". Avances en Matemática Computacional . 7 (1–2): 1–31. doi : 10.1023 / A: 1018997130884 .
  4. ^ Iserles, A .; NøRSETT, SP (1 de octubre de 1990). "Sobre la teoría del Runge paralelo - métodos de Kutta". Revista IMA de análisis numérico . 10 (4): 463–488. doi : 10.1093 / imanum / 10.4.463 . ISSN  0272-4979 .
  5. ^ Ketcheson, David; Waheed, Umair bin (13 de junio de 2014). "Una comparación de Runge-Kutta explícito de alto orden, extrapolación y métodos de corrección diferida en serie y en paralelo". Comunicaciones en Matemática Aplicada y Ciencias Computacionales . 9 (2): 175–200. arXiv : 1305.6165 . doi : 10.2140 / camcos.2014.9.175 . ISSN  2157-5452 .
  6. ^ a b c Gander, Martin J .; Vandewalle, Stefan (2007). "Análisis del método de integración temporal paralela de tiempo parareal". Revista SIAM de Computación Científica . 29 (2): 556–578. CiteSeerX  10.1.1.154.6042 . doi : 10.1137 / 05064607X .
  7. ^ Hackbusch, Wolfgang (1985). Métodos parabólicos de redes múltiples . Métodos de Computación en Ciencias Aplicadas e Ingeniería, VI . págs. 189-197. ISBN 9780444875976. Consultado en agosto de 2015 . Verifique los valores de fecha en: |access-date=( ayuda )
  8. ^ Kiehl, Martin (1994). "Disparos múltiples en paralelo para la solución de problemas de valor inicial". Computación paralela . 20 (3): 275–295. doi : 10.1016 / S0167-8191 (06) 80013-X .
  9. ^ Gander, Martin J. (2015). 50 años de integración temporal en tiempo paralelo . Contribuciones en Ciencias Matemáticas y Computacionales. 9 (1 ed.). Springer International Publishing. doi : 10.1007 / 978-3-319-23321-5 . ISBN 978-3-319-23321-5.
  10. ^ Nievergelt, Jürg (1964). "Métodos paralelos para la integración de ecuaciones diferenciales ordinarias". Comunicaciones de la ACM . 7 (12): 731–733. doi : 10.1145 / 355588.365137 .
  11. ^ Ruprecht, Daniel (1 de diciembre de 2014). "Convergencia de Parareal con engrosamiento espacial" (PDF) . PAMM . 14 (1): 1031–1034. doi : 10.1002 / pamm.201410490 . ISSN  1617-7061 .
  12. ^ Minion, Michael L. (2010). "Un método híbrido de correcciones diferidas espectrales pararealistas" . Comunicaciones en Matemática Aplicada y Ciencias Computacionales . 5 (2): 265-301. doi : 10.2140 / camcos.2010.5.265 .
  13. ^ Personal, Gunnar Andreas; Rønquist, Einar M. (1 de enero de 2005). Barth, Timothy J .; Griebel, Michael; Keyes, David E .; Nieminen, Risto M .; Roose, Dirk; Schlick, Tamar; Kornhuber, Ralf; Hoppe, Ronald; Périaux, Jacques (eds.). Estabilidad del algoritmo parareal . Apuntes de clase en Ciencias e Ingeniería Computacionales. Springer Berlín Heidelberg. págs. 449–456. doi : 10.1007 / 3-540-26825-1_46 . ISBN 9783540225232.
  14. ^ Steiner, Johannes; Ruprecht, Daniel; Speck, Robert; Krause, Rolf (1 de enero de 2015). Abdulle, Assyr; Deparis, Simone; Kressner, Daniel; Nobile, Fabio; Picasso, Marco (eds.). Convergencia de Parareal para las ecuaciones de Navier-Stokes según el número de Reynolds . Apuntes de clase en Ciencias e Ingeniería Computacionales. Springer International Publishing. págs. 195–202. CiteSeerX  10.1.1.764.6242 . doi : 10.1007 / 978-3-319-10705-9_19 . ISBN 9783319107042.
  15. ^ Dai, X .; Maday, Y. (1 de enero de 2013). "Método parareal estable en el tiempo para sistemas hiperbólicos de primer y segundo orden" . Revista SIAM de Computación Científica . 35 (1): A52 – A78. doi : 10.1137 / 110861002 . ISSN  1064-8275 . S2CID  32336370 .
  16. ^ a b Farhat, Charbel; Cortial, Julien; Dastillung, Climène; Bavestrello, Henri (30 de julio de 2006). "Integradores implícitos de tiempo paralelo para la predicción en tiempo casi real de respuestas dinámicas estructurales lineales". Revista Internacional de Métodos Numéricos en Ingeniería . 67 (5): 697–724. Código bibliográfico : 2006IJNME..67..697F . doi : 10.1002 / nme.1653 . ISSN  1097-0207 .
  17. ^ a b Chen, Feng; Hesthaven, Jan S .; Zhu, Xueyu (1 de enero de 2014). Quarteroni, Alfio; Rozza, Gianluigi (eds.). Sobre el uso de métodos de base reducida para acelerar y estabilizar el método parareal . MS&A - Modelado, simulación y aplicaciones. Springer International Publishing. págs. 187–214. doi : 10.1007 / 978-3-319-02090-7_7 . ISBN 9783319020891.
  18. ^ Farhat, Charbel; Chandesris, Marion (7 de noviembre de 2003). "Integradores de tiempo paralelos descompuestos en el tiempo: estudios de teoría y viabilidad para aplicaciones de fluidos, estructuras y estructuras de fluidos". Revista Internacional de Métodos Numéricos en Ingeniería . 58 (9): 1397-1434. Código bibliográfico : 2003IJNME..58.1397F . doi : 10.1002 / nme.860 . ISSN  1097-0207 .
  19. ^ Gander, M .; Petcu, M. (2008). "Análisis de un algoritmo parareal mejorado subespacio de Krylov para problemas lineales" . ESAIM: Actas . 25 : 114-129. doi : 10.1051 / proc: 082508 .
  20. ^ Ruprecht, D .; Krause, R. (30 de abril de 2012). "Integración explícita en paralelo en el tiempo de un sistema de advección acústica lineal". Computadoras y fluidos . 59 : 72–83. arXiv : 1510.02237 . doi : 10.1016 / j.compfluid.2012.02.015 .
  21. ^ Dutt, Alok; Greengard, Leslie; Rokhlin, Vladimir (1 de junio de 2000). "Métodos de corrección espectral diferida para ecuaciones diferenciales ordinarias". BIT Matemáticas numéricas . 40 (2): 241–266. doi : 10.1023 / A: 1022338906936 . ISSN  0006-3835 .
  22. ^ Minion, Michael (5 de enero de 2011). "Un método híbrido de correcciones diferidas espectrales pararealistas" . Comunicaciones en Matemática Aplicada y Ciencias Computacionales . 5 (2): 265-301. doi : 10.2140 / camcos.2010.5.265 . ISSN  2157-5452 .
  23. ^ Emmett, Matthew; Minion, Michael (28 de marzo de 2012). "Hacia un método eficiente de paralelo en el tiempo para ecuaciones diferenciales parciales" . Comunicaciones en Matemática Aplicada y Ciencias Computacionales . 7 (1): 105-132. doi : 10.2140 / camcos.2012.7.105 . ISSN  2157-5452 .
  24. ^ Speck, R .; Ruprecht, D .; Krause, R .; Emmett, M ​​.; Minion, M .; Winkel, M .; Gibbon, P. (1 de noviembre de 2012). Un solucionador masivo de N-cuerpos paralelos de espacio-tiempo . Computación de alto rendimiento, redes, almacenamiento y análisis (SC), Conferencia internacional de 2012 para . págs. 1-11. doi : 10.1109 / SC.2012.6 . ISBN 978-1-4673-0805-2.
  25. ^ Falgout, R .; Friedhoff, S .; Kolev, T .; MacLachlan, S .; Schroder, J. (1 de enero de 2014). "Integración en tiempo paralelo con Multigrid". Revista SIAM de Computación Científica . 36 (6): C635 – C661. CiteSeerX  10.1.1.701.2603 . doi : 10.1137 / 130944230 . ISSN  1064-8275 .
  26. ^ Gander, M .; Güttel, S. (1 de enero de 2013). "PARAEXP: un integrador paralelo para problemas lineales de valor inicial". Revista SIAM de Computación Científica . 35 (2): C123 – C142. CiteSeerX  10.1.1.800.5938 . doi : 10.1137 / 110856137 . ISSN  1064-8275 .

  • paralelos-en-tiempo.org