©OCTO Technology – Université d’été du Système d’information
Les grilles transactionnelles, enfin des
solutions pour l’inf...
©OCTO Technology – Université d’été du Système d’information
Une application de gestion…
Valorisation et
Contrôle de risqu...
©OCTO Technology – Université d’été du Système d’information
Architecture initiale
Base de
donnée
MySQL
Produits
& prix
Tr...
©OCTO Technology – Université d’été du Système d’information
Agenda
• Définition retenue pour une grille
• Application au ...
©OCTO Technology – Université d’été du Système d’information
Les grilles : étendre plutôt que remplacer
Le mythe de la pui...
©OCTO Technology – Université d’été du Système d’information
Genèse des grilles
un LAN !
Monoprocesseur
M
ultiprocesseurMa...
©OCTO Technology – Université d’été du Système d’information
Cache
Machine 2
Un middleware chargé de la distribution
Exécu...
©OCTO Technology – Université d’été du Système d’information
Agenda
• Définition retenue pour une grille
• Application au ...
©OCTO Technology – Université d’été du Système d’information
Valorisation et
Contrôle de risque
Utilisation d’une grille d...
©OCTO Technology – Université d’été du Système d’information
Un calcul intensif
…
100,0%
101,0%
102,0%
103,0%
104,0%
105,0...
©OCTO Technology – Université d’été du Système d’information
Comment distribuer le calcul
OAT 7,50% 95-2005-04-25 EUR
OAT ...
©OCTO Technology – Université d’été du Système d’information
Evolution de notre architecture
Base de
données
MySQL
Produit...
©OCTO Technology – Université d’été du Système d’information
Bilan d’étape : code simple
@gridify
split
reduce
Code métier...
©OCTO Technology – Université d’été du Système d’information
0
1
2
3
4
5
0 100 200 300 400 500
Taille calcul (nb. points)
...
©OCTO Technology – Université d’été du Système d’information
Agenda
• Définition retenue pour une grille
• Application au ...
©OCTO Technology – Université d’été du Système d’information
Cache Standard
Cache
A B C
A B C
A B C
A B C
A
B
C
(écritures...
©OCTO Technology – Université d’été du Système d’information
B C
Utiliser une grille comme cache distribué
B C
B CB
C
Cach...
©OCTO Technology – Université d’été du Système d’information
B C
La grille maître de la donnée
B C
B
C
Cache
B CAA AA
A
AA...
©OCTO Technology – Université d’été du Système d’information
B C
Partitionner la donnée
B C
B
C
Cache
B CA
A
AA
A
B CA
B C...
©OCTO Technology – Université d’été du Système d’information
Sécuriser la donnée partitionnée
C
B
C
Cache
A A
A
AA
Etape3 ...
©OCTO Technology – Université d’été du Système d’information
Transaction Tb
L’accès à la donnée dans un cache
<tradeID>
Ta...
©OCTO Technology – Université d’été du Système d’information
Transaction Tb
Etendre les index
<tradeID>
Ta
</tradeID>
<tra...
©OCTO Technology – Université d’été du Système d’information
…
…
Combiner les index
0
1
2
3
4
5
6
7
Ta
Tb
<tradeID>
Ta
</t...
©OCTO Technology – Université d’été du Système d’information
Trade
TradeId
Product(s)
.java
Limitation actuelle du modèle:...
©OCTO Technology – Université d’été du Système d’information
Bilan d’étape : la grille maître de la donnée
Grille Calcul
d...
©OCTO Technology – Université d’été du Système d’information
Architecture exploratoire
Grille Calcul
data
MySQL
Consignati...
©OCTO Technology – Université d’été du Système d’information
Vers la fin des tiers physiques
Communications réseaux
Commun...
©OCTO Technology – Université d’été du Système d’information
Quelle différence avec Oracle 10G?
A
SELECT TradeId
From Trad...
©OCTO Technology – Université d’été du Système d’information
Conclusion
Agenda
• Définition retenue pour une grille
• Appl...
©OCTO Technology – Université d’été du Système d’information
Conclusion
Application au calcul intensif
Application à la do...
©OCTO Technology – Université d’été du Système d’information
Grilles de calcul : conclusion
Nombreuses
requêtes
Sans lien
...
©OCTO Technology – Université d’été du Système d’information
Grilles de données : conclusion
Clé / Valeur Requête Multi-cr...
Prochain SlideShare
Chargement dans…5
×

Les grilles transactionnelles, enfin des solutions pour l’informatique de gestion ?

488 vues

Publié le

Les grilles transactionnelles, enfin des solutions pour l'informatique de gestion?

En 5 ans les grilles se sont imposée dans quelques niches métiers. Belle revanche pour ce matériel issu de la bureautique qui se pose en alternative aux grands systèmes en faisant le choix de la répartition des calculs. Si le domaine du calcul intensif à révélé les grilles, force est de constater que cet usage très spécialisé en restreint les cas d'usages. Les grilles de données permettent aujourd'hui d'étendre très largement leur champ d'application. Comment fait-on pour répartir du code, de la données, des transactions ? Telles sont les questions que nous souhaitons aborder au travers d'un exemple de traitement bancaire.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
488
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Faire click pour que la grille apparaisse
  • Citer le chiffre de 285000 instructions par calcul élémentaire ?
  • Etape 1 : Le cache std : 1 seule clef
    Etape 2 : Le cache grille =&amp;gt; multi clef
    Etape 3 : Le cache grille =&amp;gt; Querry (where / or / and)
    Etape 4 : Le cache grille =&amp;gt; Même parfois des jointures (entre 2 objets)
  • Etape 1 : Le cache std : 1 seule clef
    Etape 2 : Le cache grille =&amp;gt; multi clef
    Etape 3 : Le cache grille =&amp;gt; Querry (where / or / and)
    Etape 4 : Le cache grille =&amp;gt; Même parfois des jointures (entre 2 objets)
  • Etape 1 : Le cache std : 1 seule clef
    Etape 2 : Le cache grille =&amp;gt; multi clef
    Etape 3 : Le cache grille =&amp;gt; Querry (where / or / and)
    Etape 4 : Le cache grille =&amp;gt; Même parfois des jointures (entre 2 objets)
  • Pas d’autojointure (avec schéma)
    Car les fils sont sérialisés !!! =&amp;gt; gigaspace, oracle coherence : même limite
    Il faut choisir entre navigabilité objet et requêtage
  • Rajouter les enveloppes (en dehors de la grille)
  • Rajouter les enveloppes (en dehors de la grille)
  • Sclae up : à gauche je rajoute une tranche de salami et je grossi / remplace la base en bas
    À droite je rajoute une seule machine et j’embarque les couches
    Préparer transition vers discours de DOJ?
  • http://www.nytimes.com/2006/06/14/technology/14search.html?pagewanted=2&amp;_r=1
  • Evaluation : TPC/C
    http://www.tpc.org/results/FDR/TPCC/IBM_595_20080610_fdr.pdf
    60 days calculation = stockage de toutes les données produites pendant 60 jours 8 heures par jour -&amp;gt; 100 MBps
    Mesure du Log sur 30 min. -&amp;gt; 200 MBps
    Coherence
    http://wiki.tangosol.com/display/COH33UG/Evaluating+Performance+and+Scalability
    Taille de la mémoire
    http://petercoates.net/files/gigasizing.pdf
    http://www.tpc.org/results/FDR/TPCC/HP_ML370G5_TPCC_071112_FDR.pdf
  • Les grilles transactionnelles, enfin des solutions pour l’informatique de gestion ?

    1. 1. ©OCTO Technology – Université d’été du Système d’information Les grilles transactionnelles, enfin des solutions pour l’informatique de gestion ? Marc Bojoly Raoul Emin
    2. 2. ©OCTO Technology – Université d’été du Système d’information Une application de gestion… Valorisation et Contrôle de risque Moteur de workflow Émettre l’instruction de règl. livraison (SWIFT) MySQL Réception de la transaction Assurer la tenue de position Assurer le suivi de la livraison Qui n’a pas un logiciel de ce type? Quel peut être l’apport des grilles sur cette application?
    3. 3. ©OCTO Technology – Université d’été du Système d’information Architecture initiale Base de donnée MySQL Produits & prix Transactions Serveur d’Application JBoss ORM Hibernate Ecrans Grails Restitution Grails
    4. 4. ©OCTO Technology – Université d’été du Système d’information Agenda • Définition retenue pour une grille • Application au calcul intensif • Application à la donnée
    5. 5. ©OCTO Technology – Université d’été du Système d’information Les grilles : étendre plutôt que remplacer Le mythe de la puissance « à la demande » sur le réseau Un ensemble de ressources distribuées et coordonnées autour d’un objectif commun
    6. 6. ©OCTO Technology – Université d’été du Système d’information Genèse des grilles un LAN ! Monoprocesseur M ultiprocesseurMassive Parallel Processing Grille CROSS BAR
    7. 7. ©OCTO Technology – Université d’été du Système d’information Cache Machine 2 Un middleware chargé de la distribution Exécutant Tâche Machine 1
    8. 8. ©OCTO Technology – Université d’été du Système d’information Agenda • Définition retenue pour une grille • Application au calcul intensif • Application à la donnée
    9. 9. ©OCTO Technology – Université d’été du Système d’information Valorisation et Contrôle de risque Utilisation d’une grille de calcul Moteur de workflow Émettre l’instruction de règl. livraison (SWIFT) Assurer le suivi de la livraison MySQL Réception de la transaction Assurer la tenue de position Valorisation et Contrôle de risque
    10. 10. ©OCTO Technology – Université d’été du Système d’information Un calcul intensif … 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time 2) Prévision Pour ligne 1 1) Scénario(s) pour ligne 1 3) Valorisation retenue Répéter… 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time 100,0% 101,0% 102,0% 103,0% 104,0% 105,0% 106,0% 107,0% 108,0% 109,0% 110,0% 0 0,5 1 1,5 2 2,5Time
    11. 11. ©OCTO Technology – Université d’été du Système d’information Comment distribuer le calcul OAT 7,50% 95-2005-04-25 EUR OAT 5,50% 96-2007-04-25 EUR OAT 5,25% 2004-04-25-EUR BTAN 4,50% 2002-07-12 EUR BTAN 4% 2000-07-12 EUR BTAN 5YR 4,55% 2003-07-12 EUR BTAN 5,50% 2001-10-12 EUR BTAN 7,75% CAT 335 ECH 2000-04-12 EUR 0 1 2 3 4 5 6 7 Valeur du portefeuille Map Reduce
    12. 12. ©OCTO Technology – Université d’été du Système d’information Evolution de notre architecture Base de données MySQL Produits & prix Transactions Serveur d’Application JBoss ORM Hibernate Ecrans et restitution Grails Grille de calcul Gridgain
    13. 13. ©OCTO Technology – Université d’été du Système d’information Bilan d’étape : code simple @gridify split reduce Code métier: Annotations @Gridify Au niveau de la grille Implémentation - Map (split) - Reduce
    14. 14. ©OCTO Technology – Université d’été du Système d’information 0 1 2 3 4 5 0 100 200 300 400 500 Taille calcul (nb. points) Ratio Bilan d’étape : optimisation nécessaire • Distribuer le calcul a un coût • La grille est efficace – Pour du traitement processeur – Pour des calculs suffisamment intensifs… • Le réseau est fortement sollicité par la grille • L’accès aux données aussi Processeurs x 4 Temps /2,5 0 0,5 1 1,5 2 2,5 3 100 200 300 400 500 600 700 800 900 1000 2000 3000 4000 Nb. calculs Ratio 0 5 10 15 20 25 Attenteréseau File d’attente réseau La grille est limitée par le réseau
    15. 15. ©OCTO Technology – Université d’été du Système d’information Agenda • Définition retenue pour une grille • Application au calcul intensif • Application à la donnée
    16. 16. ©OCTO Technology – Université d’été du Système d’information Cache Standard Cache A B C A B C A B C A B C A B C (écritures en base)
    17. 17. ©OCTO Technology – Université d’été du Système d’information B C Utiliser une grille comme cache distribué B C B CB C Cache B CAA AA A A AA A A
    18. 18. ©OCTO Technology – Université d’été du Système d’information B C La grille maître de la donnée B C B C Cache B CAA AA A AA A Nœud dédié B CAA
    19. 19. ©OCTO Technology – Université d’été du Système d’information B C Partitionner la donnée B C B C Cache B CA A AA A B CA B C CA B CA BA Rapatriement transparent
    20. 20. ©OCTO Technology – Université d’été du Système d’information Sécuriser la donnée partitionnée C B C Cache A A A AA Etape3 : persister Etape1 : redonder Etape2 : acquiter BA
    21. 21. ©OCTO Technology – Université d’été du Système d’information Transaction Tb L’accès à la donnée dans un cache <tradeID> Ta </tradeID> <tradeDate> 2008-01-29 </tradeDate> <SellerID> BNP ParisBas </SellerID> … Transaction Ta Sérialisé ! Ta Tb @SpaceId (index) 0 1 2 3 4 5 6 7 ###### Ta Tb ###### (objets) Ta Get Ta Get Tb Get … Mono critère
    22. 22. ©OCTO Technology – Université d’été du Système d’information Transaction Tb Etendre les index <tradeID> Ta </tradeID> <tradeDate> 2008-01-29 </tradeDate> <SellerID> BNP ParisBas </SellerID> … Transaction Ta Ta Tb @SpaceId (index) 0 1 2 3 4 5 6 7 ### Ta Tb (objets) Ta Select from Trans. Where SellerID = BNP and / or tradeDate = … Multi-critère BNP SG 2008-01-29 2008-01-29 ###
    23. 23. ©OCTO Technology – Université d’été du Système d’information … … Combiner les index 0 1 2 3 4 5 6 7 Ta Tb <tradeID> Ta </tradeID> <SellerID> BNP </SellerID> … Transaction Ta Ta Select from Trans. Join Seller Where … Multi « tables » BNP SG <sellerID> Ta </sellerID> … Seller BNP BNP 0 1 2 3 4 BNP B … Ta … … … … … … … …
    24. 24. ©OCTO Technology – Université d’été du Système d’information Trade TradeId Product(s) .java Limitation actuelle du modèle: (choisir entre navigabilité objet et requêtage) Trade TradeId Product(s) .java Product ProdId .java Select from Trans. Join Product Where ProductId = xx Jointures « SQL »TradeId SellerRef ProdId Trade ### sérialisé ### Prod ### ProdId Prod ### ProdId(1) ProdId(2) Navigation objet Jointures « SQL » TradeId SellerRef Trade ### ### Produit(s) Sérialisé(s) ### ProdId Prod ### ProdId Prod ### Trade.Product(1).ProdId
    25. 25. ©OCTO Technology – Université d’été du Système d’information Bilan d’étape : la grille maître de la donnée Grille Calcul data MySQL Consignation (sens unique) B … Ta … … … … … … … … Ta … … Moteur workflow • Programmation des accès à la donnée “classique” (type hibernate/cache) • Conception objet dictée par les contraintes de requêtage • Persistence asynchrone en base délicate
    26. 26. ©OCTO Technology – Université d’été du Système d’information Architecture exploratoire Grille Calcul data MySQL Consignation (sens unique) B… Ta … … … … … … … … Ta … … … Moteur de workflow
    27. 27. ©OCTO Technology – Université d’été du Système d’information Vers la fin des tiers physiques Communications réseaux Communications inter-process Modif REM
    28. 28. ©OCTO Technology – Université d’été du Système d’information Quelle différence avec Oracle 10G? A SELECT TradeId From Trade T JOIN BuyerParty B ON T.BuyerPartyReference = B.BuyerId
    29. 29. ©OCTO Technology – Université d’été du Système d’information Conclusion Agenda • Définition retenue pour une grille • Application au calcul intensif • Application à la donnée
    30. 30. ©OCTO Technology – Université d’été du Système d’information Conclusion Application au calcul intensif Application à la donnée
    31. 31. ©OCTO Technology – Université d’été du Système d’information Grilles de calcul : conclusion Nombreuses requêtes Sans lien Agrégat de Calculs Application Google 1 CPU 10 CPU 100 CPU 100 000 CPU 1 000 CPU 10 000 CPU Ferme www Système mono-processeur Grilles de calcul Grilles de calcul + cache Limite : Electricité Dépendances inflexibles étendre remplacer
    32. 32. ©OCTO Technology – Université d’été du Système d’information Grilles de données : conclusion Clé / Valeur Requête Multi-critères Grilles De données Application Multi-thread Limite : Electricité 100 MBps Cache standard Base de données Relationnel 1000 MBps 10 MBps Limite : Débit disque Base de données du TPCC étendre faire des compromis remplacer 80.000$/Mbps 16.000$/Mbps

    ×