Domanda

Per middleware orientato ai messaggi mi riferisco a tecnologie come Advanced Message Queuing Protocol .

Ovviamente AMQP è una bestia diversa da MPI, ma io penserei calcoli a memoria distribuita che operano in modo master-slave potrebbe essere implementato banalmente utilizzando AMQP, lasciando maniglia AMQP distribuzione del lavoro equo ai schiavi finiscono pezzi invece di gestire la coda di lavoro in modo esplicito nel master.

Il vantaggio di AMQP (se si ha migliaia di macchine che lavorano insieme) sarebbe che la morte di una singola macchina non sarebbe stallo progresso del calcolo a MPI_Bcasts, perché AMQP potrebbe usare semplicemente un fan-out, invece di MPI_Bcast e che sarebbe non bloccante al progresso del calcolo generale.

Ci sono esempi di AMQP in uso per il coordinamento compito in calcolo distribuito?

Aggiornamento: Gearman fornisce un approccio davvero bello fault tolerant distribuito calcolo.

È stato utile?

Soluzione

Penso che sia utile distinguere tra il calcolo distribuito e calcolo parallelo. Ritengo che il calcolo parallelo è una sottoclasse di calcolo distribuito. In Distributed Computing molti processori sono utilizzati per affrontare un problema, e il problema può essere scomposto in una serie di attività (ad esempio, client-server, per dare un esempio molto semplice) e processori potrebbe essere in esecuzione una serie di codici.

Nel calcolo parallelo, tuttavia, ogni processore è probabile esegue lo stesso codice ma ottenere una parte diversa dei dati da elaborare.

Ora, non esiste una linea dura e veloce dove finisce di calcolo distribuiti e paralleli inizia, ma se si guardano le due estremità dello spettro ci sono esempi canonici che hanno caratteristiche molto diverse. Suppongo che Google potrebbe dare prova di un'esempio canonico di calcolo distribuito, mentre i tipi di simulazioni scientifiche che i grandi centri di supercomputer familiare offrono un esempio canonico di calcolo parallelo.

Tutto quanto sopra è semplicemente sfondo alla mia risposta alla tua domanda:

Sì, si potrebbe certamente utilizzare AMQP per affrontare calcoli paralleli e sì, si potrebbe usare MPI per implementare calcoli distribuiti, ma penso che si sarebbe lottando contro le caratteristiche dei protocolli che sono progettati per le estremità opposte dello spettro.

E no, io non conosco nessuno con AMQP per fare quello che io chiamo il calcolo parallelo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top