Sono un neofita del calcolo parallelo e sto appena iniziando a provare MPI e Hadoop + MapReduce su Amazon AWS. Ma sono confuso su quando usarne uno sull'altro.Hadoop MapReduce vs MPI (vs Spark vs Mahout vs Mesos) - Quando usarne uno sull'altro?
Per esempio, una regola comune di consigli pollice vedo possono essere riassunti come ...
- Big dati, non iterativi, tolleranza di errore => MapReduce
- Velocità, piccoli dati, iterativi, tipo non-Mapper-riduttore => MPI
ma poi, vedo anche implementazione di MapReduce su MPI (MR-MPI) che non prevede la tolleranza agli errori, ma seems to be più efficace su alcuni benchmark che MapReduce su Hadoop, e sembra gestire grande d ata usando la memoria out-of-core.
Al contrario, ci sono anche implementazioni MPI (MPICH2-YARN) su Hadoop Yarn di nuova generazione con il suo file system distribuito (HDFS).
Inoltre, sembra che ci sia disposizioni entro MPI (scatter-gather, Checkpoint-Restart, ULFM e altri fault tolerance) che imitano diverse caratteristiche di MapReduce paradigma.
E come si adattano Mahout, Mesos e Spark?
Quali criteri possono essere utilizzati per decidere tra (o una combinazione di) Hadoop MapReduce, MPI, Mesos, Spark e Mahout?
possibile dup di http://stackoverflow.com/questions/1530490/what-are-some-scenarios-for-which-mpi-is-a-better-fit-than-mapreduce?rq=1? –
Ho letto quella q & a prima di postare la mia. Lì, vedrai che per ogni risposta inviata, ci sono commenti che dicono che la risposta non è accurata. Prendi la prima risposta, per esempio. Ci sono implementazioni di elementi finiti su MapReduce [1] (http://milindb.tumblr.com/post/8782567841/mapreduce-pregel-and-fem-framework), [2] (http://ieeeplpl.eeee.org/ XPL/login.jsp? tp = & arnumber = 6188175 & url = http% 3A% 2F% 2Fieeexplore.ieee.org% 2Fxpls% 2Fabs_all.jsp% 3Farnumber% 3D6188175). – crackjack
Dopo aver posto questa domanda, mi sono imbattuto in alcune altre opzioni (da aggiungere alla confusione) - come Akka, che sembrano non essere limitate a scenari "ovviamente paralleli" come MapReduce, pur essendo fault tolerant e hanno binding per Infiniband (TCP) ecc. – crackjack