Qual è lo stato dell'arte nei metodi ODE paralleli?


39

Attualmente sto esaminando metodi paralleli per l'integrazione ODE. C'è molta letteratura nuova e vecchia là fuori che descrive una vasta gamma di approcci, ma non ho trovato sondaggi recenti o articoli di panoramica che descrivono l'argomento in generale.

C'è il libro di Burrage [1], ma ha quasi 20 anni e quindi non copre molte delle idee più moderne come l'algoritmo parareale.

[1] K. Burrage, Metodi paralleli e sequenziali per equazioni differenziali ordinarie, Clarendon Press, Oxford, 1995

Risposte:


35

Non sono a conoscenza di alcun recente articolo di panoramica, ma sono attivamente coinvolto nello sviluppo dell'algoritmo PFASST, quindi posso condividere alcuni pensieri.

Sono a conoscenza di tre grandi classi di tecniche parallele al tempo:

  • attraverso il metodo - gli stadi indipendenti di RK o gli integratori di estrapolazione possono essere valutati in parallelo; vedi anche il RIDC (algoritmo di correzione differita integrale revisionista)
  • attraverso il problema - rilassamento della forma d'onda
  • attraverso il dominio del tempo - Parareal; PITA (algoritmo parallelo nel tempo); e PFASST (schema parallelo di approssimazione completa nello spazio e nel tempo).

I metodi che si parallelizzano attraverso il metodo di solito si comportano molto vicino alle specifiche ma non si ridimensionano oltre una manciata di (tempo) processori. In genere sono relativamente più facili da implementare rispetto ad altri metodi e sono buoni se hai qualche core in più in giro e stai cercando accelerazioni prevedibili e modeste.

I metodi che si parallelizzano nel dominio del tempo includono Parareal, PITA, PFASST. Questi metodi sono tutti iterativi e sono composti da propagatori "grossolani" economici (ma inesatti) e propagatori "fini" costosi (ma accurati). Raggiungono l'efficienza parallela valutando iterativamente il propagatore fine in parallelo per migliorare una soluzione seriale ottenuta usando il propagatore grossolano.

Gli algoritmi Parareal e PITA soffrono di un limite superiore piuttosto sfortunato alla loro efficienza parallela : dove è il numero di iterazioni richieste per ottenere la convergenza in tutto il dominio. Ad esempio, se l'implementazione di Parareal richiedesse la convergenza di 10 iterazioni e si utilizzino 100 processori (tempo), la maggiore velocità che si potrebbe sperare sarebbe 10x. L'algoritmo PFASST allenta questo limite superiore ibridando le iterazioni parallele al tempo con le iterazioni del metodo di stepping time della correzione differita spettrale e incorporando le correzioni dello schema di approssimazione completa in una gerarchia di discretizzazioni spazio / tempo.E < 1 / K KEE<1/KK

Molti giochi possono essere giocati con tutti questi metodi per provare ad accelerarli, e sembra che le prestazioni di queste tecniche tra domini dipendono dal problema che stai risolvendo e da quali tecniche sono disponibili per accelerare il grosso propagatore (griglie grossolane, operatori grossolani, fisica grossolana ecc.).

Alcuni riferimenti (vedi anche riferimenti elencati nei documenti):

Ho scritto due implementazioni di PFASST che sono disponibili in rete: PyPFASST e libpfasst .


1
Attualmente sto imparando il parareale. E penso che mi sia di grande aiuto.
eccstartup,

Questa è un'ottima panoramica. Tuttavia, è opportuno menzionare esplicitamente che gli ODE vengono spesso risolti dopo una discretizzazione spaziale dei PDE. Pertanto, il parallelismo attraverso il metodo può produrre una grande scalabilità per migliaia di core se il tuo dominio spaziale è abbastanza grande. Questo perché la stragrande maggioranza dei tempi di calcolo viene calcolata, ad esempio, nelle valutazioni RHS in fase RK.
NoseKnows Tutto il

15

Anche se questo post ha ormai due anni, nel caso qualcuno vi si imbattesse, lasciatemi dare un breve aggiornamento:

Martin Gander ha recentemente scritto un bell'articolo di recensione, che fornisce una prospettiva storica sul campo e discute molti diversi metodi PINT: http://www.unige.ch/~gander/Preprints/50YearsTimeParallel.pdf

Ora esiste anche un sito Web della comunità che elenca molti riferimenti e fornisce descrizioni di diversi metodi: http://www.parallel-in-time.org/

Una discussione dell'algoritmo Parareal parallel-in-time in particolare può essere trovata qui: https://en.wikipedia.org/wiki/Parareal


1
Un po 'sorpreso dal fatto che Gander non parli dell'approccio MGRIT di Falgout, et al., Specialmente perché sembra essere supportato da un bel software (XBraid), ma so che i documenti MGRIT sono usciti solo di recente.
Geoff Oxberry,

1
Ciao Geoff, sono abbastanza sicuro che Martin Gander abbia scritto l'articolo prima che i documenti MGRIT fossero pubblicati - mentre il documento di revisione apparirà nel 2015, penso che la prestampa sia già online alla fine del 2013.
Daniel,

1
A prima vista sembra che "parallelo attraverso il metodo" sia omesso in questa recensione - per esempio, l'estrapolazione non è mai menzionata.
David Ketcheson,

4

u0u(t)=exp(λt)u0, Reλ>0.


Come ho già detto, ho già trovato molti articoli sui singoli argomenti. Quello che mi manca è una panoramica generale sugli approcci.
Florian Brucker,

1
FWIW, l'algoritmo PFASST mostra un'ottima convergenza (che sarà presto pubblicata) per i sistemi Hamiltoniani anche per molti (centinaia) di processori a tempo. Detto questo, ottenere un'apprezzabile accelerazione dipende (ancora una volta) dal rendere i propagatori grossolani molto più economici del propagatore fine - un'espansione multipolare o qualche altro approccio multifisico sembra essere necessario per ottenere una buona accelerazione per i sistemi di particelle.
Matthew Emmett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.