2010-04-18 9 views
2

Est-il correct de dire que le calcul parallèle avec MapReduce itératif peut être justifié principalement lorsque la taille des données d'apprentissage est trop grande pour le calcul non parallèle pour la même logique?Hadoop: Performance itérative MapReduce

Je suis conscient qu'il y a un surcoût pour démarrer des jobs MapReduce. Cela peut être critique pour le temps d'exécution global lorsqu'un grand nombre d'itérations est requis.

Je peux imaginer que le calcul séquentiel est plus rapide que le calcul parallèle avec MapReduce itératif tant que la mémoire permet de conserver un ensemble de données dans de nombreux cas.

Répondre

1

Aucun système de traitement parallèle n'a beaucoup de sens si une seule machine fait le travail, la plupart du temps. La complexité associée à la plupart des tâches de parallélisation est importante et nécessite une bonne raison d'en faire usage.

Même s'il est évident qu'une tâche ne peut pas être résolue sans traitement parallèle dans un temps acceptable, les frameworks d'exécution parallèles sont de différentes saveurs: des outils scientifiques de plus bas niveau comme PVM or MPI à haut niveau, spécialisés (par exemple map/reduce) des frameworks comme Hadoop.

Parmi les paramètres à prendre en compte, citons l'heure de début et l'évolutivité (à quelle distance du système l'échelle du système est-elle proche). Hadoop ne sera pas un bon choix si vous avez besoin de réponses rapidement, mais pourrait être un bon choix si vous pouvez adapter votre processus dans un cadre de réduction de la carte.

0

Vous pouvez vous référer au projet HaLoop (http://code.google.com/p/haloop) qui résout exactement ce problème.

+3

@anuj Il n'y a vraiment aucune raison pour l'édition en gras que vous semblez faire dans diverses éditions. Le lien est bon, mais donnez juste l'orthographe capitalisée aux projets et vous êtes prêt à partir. – Bart

+0

encore sry pour cela. –

+0

@anujarora Merci pour l'édition – Khalefa