Retour d’expérience                             Hadoop MapReduce comme grille de calcul        Marc Bojoly, architecte sen...
Pourquoi une telle idée? C‘est un pattern - peu répandu- mais cité dans la   littérature      Hadoop the Definitive guid...
ConclusionEn un mot…..               …c’est moins performant qu’une grille de calcul@OCTO 2011                            ...
Happy hour !@OCTO 2011                  4
Oui mais encore…. C’est moins performant qu’une grille de calcul…                                  ….sauf dans certains c...
Agenda Le cas d’étude : la VAR Le code Hadoop et GridGain de ce  POC Les mesures pour comparer Les résultats Les opti...
La Value At Risk VAR : une mesure de la perte maximale possible, durant une   période de temps donnée avec une probabilit...
Simuler pour calculer la VAR de produits complexes Simulation de prix       Lorsque l’historique n’est pas        dispon...
Un calcul intensif…adapté au Map/Reduce                                 Map                                       Reduce  ...
Le match : Gridgain versus Hadoop GridGain                                  Hadoop      Conçu comme une pure grille    ...
Le moteur de calcul             Variable 1E3 à 1E9                           Potentiellement                              ...
Aperçu de Gridgain                           Split(…)                           Map(…)                           Algorithm...
Aperçu de GridGain                       Reduce@OCTO 2011                        13
Aperçu de Hadoop             Split                           Map                          N tirages par process           ...
Aperçu de Hadoop                     Reduce@OCTO 2011                      15
Un cas d’utilisation à l’avantage d’Hadoop Objectifs      Réaliser le calcul de façon parallèle      Traiter ensuite le...
Exemple d’analyse explicative avec HiveINSERT OVERWRITE LOCALDIRECTORY "HiveOutput" ROWFORMAT DELIMITED FIELDSTERMINATED B...
Résultat sur GridGain hors du cas d’analyse Les données ne sont pas stockées pour analyse     1 DELL Latitude E6510 avec ...
« combine » rejetée pour les besoins d’analyse Un seul reducer sur Gridgain      C’est un goulet d’étranglement Le calc...
Conservation des paramètres + résultats pour analyse1 machine physique avec 4 coeurs sur mon laptop, un DELL Latitude E651...
GridGain : 1 s., avec données 40 s., Hadoop >= 40 s.1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DE...
Algorithme sur Hadoop (1/2) Extraction de la VAR                                                         La clé intermédi...
Hadoop : Implémentation 1                                            Job Hadoop                                           ...
Algorithme sur Hadoop (1/2)                                                                               La clé intermédi...
Hadoop : Implémentation 2                                              Job Hadoop                                         ...
Optimiser Hadoop : optimiser les accès disques Optimisation de paramètres      Plus de mémoire       (mapred.child.java....
Hadoop dépasse GridGain sur les hauts volumes1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Lati...
Conclusion : des comparaisons… parfois musclée@OCTO 2011                                                    28
Conclusion : fonctionnalités Hadoop / GridGain                             Hadoop                                    GridG...
Questions ?@OCTO 2011                 30
Upcoming SlideShare
Loading in...5
×

Hadoop HPC, calcul de VAR sur Hadoop vs GridGain

1,519

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,519
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Hadoop HPC, calcul de VAR sur Hadoop vs GridGain

  1. 1. Retour d’expérience Hadoop MapReduce comme grille de calcul Marc Bojoly, architecte senior OCTO Technology, mbojoly@octo.com© OCTO 2011
  2. 2. Pourquoi une telle idée? C‘est un pattern - peu répandu- mais cité dans la littérature  Hadoop the Definitive guide  Highly Scalable Blog Les grilles de calculs manipulent également beaucoup de données  Pour accéder aux données nécessaires au calcul  Pour agréger les résultats des différents noeuds Hadoop est efficace pour paralléliser les traitements et offre simultanément des outils pour analyser d’énormes quantités de données@OCTO 2011 2
  3. 3. ConclusionEn un mot….. …c’est moins performant qu’une grille de calcul@OCTO 2011 3
  4. 4. Happy hour !@OCTO 2011 4
  5. 5. Oui mais encore…. C’est moins performant qu’une grille de calcul… ….sauf dans certains cas particuliers Objectifs de la présentation  Vous indiquez lesquels  Vous donner quelques chiffres  Vous permettre d’argument négativement si quelqu’un vous propose une idée similaire@OCTO 2011 5
  6. 6. Agenda Le cas d’étude : la VAR Le code Hadoop et GridGain de ce POC Les mesures pour comparer Les résultats Les optimisations Explications@OCTO 2011 6
  7. 7. La Value At Risk VAR : une mesure de la perte maximale possible, durant une période de temps donnée avec une probabilité maximale fixée 75 € 10% de (mal)chance D’avoir plus de 25€ de perte Prix d’achat@OCTO 2011 7
  8. 8. Simuler pour calculer la VAR de produits complexes Simulation de prix  Lorsque l’historique n’est pas disponible • On simule le prix des produits simples (actions, taux d’intérêt) pour lesquels on a un historique • On utilise le modèle de Black and Sholes pour calculer le prix actuel de l’action Le calcul de Monte-Carlo  Pourquoi ça marche ? • Un calcul précis à partir de tirage aléatoire ! • Basé mathématiquement sur la loi des grands nombres  Hello World : le calcul de Pi@OCTO 2011 8
  9. 9. Un calcul intensif…adapté au Map/Reduce Map Reduce Regroupe tous les prix et Simulation identifie les 9*33%=2 plus Calcule les prix correspondants faibles 3 prix sont retournés par Identifie le plus haut parmi ces 2Paramètres chaque noeud d’entrée : il s’agit de la VAR à 77% 0 1 VAR à 77% 2 Librairie© OCTO Technology 2010 9
  10. 10. Le match : Gridgain versus Hadoop GridGain  Hadoop  Conçu comme une pure grille  Conçu comme un framework de calcul de calcul distribué, scalable et  Basée sur le pattern fiable Map/Reduce  Basée sur le pattern  Open Source Map/Reduce  Open Source Les règles du jeu  Même noyau de calcul  Exécuté sur la même « grille »  Un à 2 portables (DEL Latitude E6510 avec un code i7 quad core avec 4 GB de RAM)  Comparaison sur un cas d’utilisation nécessitant d’utiliser le disque@OCTO 2011 10
  11. 11. Le moteur de calcul Variable 1E3 à 1E9 Potentiellement ~10 000 opérations +,-,*,/ Optimisation@OCTO 2011 11
  12. 12. Aperçu de Gridgain Split(…) Map(…) Algorithme @OCTO 2011 12
  13. 13. Aperçu de GridGain Reduce@OCTO 2011 13
  14. 14. Aperçu de Hadoop Split Map N tirages par process Adapter pour ComputeVar()@OCTO 2011 14
  15. 15. Aperçu de Hadoop Reduce@OCTO 2011 15
  16. 16. Un cas d’utilisation à l’avantage d’Hadoop Objectifs  Réaliser le calcul de façon parallèle  Traiter ensuite les résultats dans la grille de façon colocalisée Cas d’utilisation  Calcul de la VAR comme précédemment  Collecte des résultats de calcul intermédiaires  Analyse avec Hadoop pour expliquer la VAR Implémentations  GridGain calcule puis écrit ses données dans un fichier  Hadoop calcule de façon standard dans HDFS@OCTO 2011 16
  17. 17. Exemple d’analyse explicative avec HiveINSERT OVERWRITE LOCALDIRECTORY "HiveOutput" ROWFORMAT DELIMITED FIELDSTERMINATED BY t selectcp.s0, cp.price from cporder by cp.price; Hello World : on retrouve les formules de Black-and-Sholes…@OCTO 2011 17
  18. 18. Résultat sur GridGain hors du cas d’analyse Les données ne sont pas stockées pour analyse 1 DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM., 4 threads simultanés@OCTO 2011 18
  19. 19. « combine » rejetée pour les besoins d’analyse Un seul reducer sur Gridgain  C’est un goulet d’étranglement Le calcul de la VAR permet de ne pas envoyer toutes les données  Combine : ne renvoyer de chaque nœud que 10% du volume total  Mais on ne sait plus expliquer Quelques résultats Temps standard Temps optim combine@OCTO 2011 2 machines et 6 processus 19
  20. 20. Conservation des paramètres + résultats pour analyse1 machine physique avec 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.@OCTO 2011 20
  21. 21. GridGain : 1 s., avec données 40 s., Hadoop >= 40 s.1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.@OCTO 2011 21
  22. 22. Algorithme sur Hadoop (1/2) Extraction de la VAR La clé intermédiaire avec l’aide du tri par scenario id;percentile size;call price clé  Utilisation de la fonction de tri des clés Donnée en sortie  Données triées par scénario puis par prix 1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 croissant 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 123.11293496630553 120.0 0.05 0.2 14.414516512987014")  Plusieurs tirages peuvent donner le même prix@OCTO 2011 22
  23. 23. Hadoop : Implémentation 1 Job Hadoop Map : compute Reduce: idempotent1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 Job Hive 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 14.414516512987014") 123.11293496630553 120.0 0.05 0.2 Analyse des données Client : lecture du fichier trié par prix Extraction du percentile @OCTO 2011 23
  24. 24. Algorithme sur Hadoop (1/2) La clé intermédiaire Extraction de la VAR par le Reducer scenario id;percentile size;call price Donnée en entrée du reducer Parallélisation : un 1;10;0.513775910851316 ( "252 0.513775910851316", "252 4.181165705822988", "252 14.414516512987014") 84.31301373924966 120.0 103.39569385168355 120.0 123.11293496630553 120.0 0.05 0.05 0.05 0.2 0.2 0.2 reducer par simulation  Utilisation d’un partitionner par identifiant de simulation  Utilisation d’un comparateur par identifiant de simulation ET prix de l’option  Le reducer lit la taille du percentile et extrait la Nième valeur par ordre croissant@OCTO 2011 24
  25. 25. Hadoop : Implémentation 2 Job Hadoop Map : compute Reduce: idempotent FirstPartitionner1;10;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 0.513775910851316", "252 103.39569385168355 120.0 0.05 0.2 4.181165705822988", "252 123.11293496630553 120.0 0.05 0.2 14.414516512987014") Job Hive 1;11;0.513775910851316 ( "252 84.31301373924966 120.0 0.05 0.2 0.513775910851316", "252 4.181165705822988", "252 103.39569385168355 120.0 123.11293496630553 120.0 0.05 0.05 0.2 0.2 Analyse des données 14.414516512987014") Job Hadoop Map : 0 N Reducers: extraction du percentile @OCTO 2011 25
  26. 26. Optimiser Hadoop : optimiser les accès disques Optimisation de paramètres  Plus de mémoire (mapred.child.java.opts) #core-site.xml  Traiter des lots plus importants io.file.buffer.size=131072 (io.file.buffer.size,io.sort.mb, io. #hdfs-site.xml dfs.block.size=134217728 sort.factor,) #mapred-site.xmlmapred.child.java.opts=-  Lire et écrire des blocs plus Xmx384m io.sort.mb=250 importants sur HDFS io.sort.factor=100 (dfs.block.size) Optimisations mineures  Comparer sans désérialiser : 1,19x plus rapide@OCTO 2011 26
  27. 27. Hadoop dépasse GridGain sur les hauts volumes1 machine virtuelle avec 2 GB de RAM et 4 coeurs sur mon laptop, un DELL Latitude E6510 avec un core i67 quad core et 4 GB de RAM.@OCTO 2011 27
  28. 28. Conclusion : des comparaisons… parfois musclée@OCTO 2011 28
  29. 29. Conclusion : fonctionnalités Hadoop / GridGain Hadoop GridGainDesigned to large DataSets Yes (distributed FS) Not includedNb. Of reducers N 1 map(k, v, collector<k, v> output) r GridJobAdapter ( v reduce() )Programming model map(key, value, collector<k, v> output) r Reduce(List<GridJobResult>) reduce(k, v, collector<k, v> output)Between Map and Reduce Sort NA Combine PartitionSerialization Custom Java.serialisationInterface Yes (Web) Partly (JMX)Programming ModelLocality Enforced Possible Un critère de choix principal  Si cela tient en mémoire => GridGain  Sinon => Hadoop et optimiser les accès disques @OCTO 2011 29
  30. 30. Questions ?@OCTO 2011 30
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×