les grilles transactionnelles, enfin des solutions pour l’informatique de gestion ?
Post on 02-Aug-2015
121 Views
Preview:
TRANSCRIPT
©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
©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?
©OCTO Technology – Université d’été du Système d’information
Architecture initiale
Base de donnéeMySQL
Produits & prix
Transactions
Serveur d’Application
JBoss
ORM
Hibernate EcransGrails
RestitutionGrails
©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
©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
©OCTO Technology – Université d’été du Système d’information
Genèse des grilles
un LAN !
Monopro
cesse
ur
Multiprocesseur
Massive Parallel
Processing
Grille
CROSS BAR
©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
©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
©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
©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évisionPour 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
©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
©OCTO Technology – Université d’été du Système d’information
Evolution de notre architecture
Base de donnéesMySQL
Produits & prix
Transactions
Serveur d’Application
JBoss
ORM
Hibernate Ecrans et restitutionGrails
Grille de calculGridgain
©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 grilleImplémentation - Map (split)- Reduce
©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)
Rati
o
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 4Temps /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
Atten
te ré
seau
File d’attente réseau
La grille est limitée par le réseau
©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
©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
ABC
(écritures en base)
©OCTO Technology – Université d’été du Système d’information
B C
Utiliser une grille comme cache distribué
B C
B CBC
Cache
B CAA AA
A
AAA
A
A
©OCTO Technology – Université d’été du Système d’information
B C
La grille maître de la donnée
B C
BC
Cache
B CAA AA
A
AA
A
Nœud dédié
B CAA
©OCTO Technology – Université d’été du Système d’information
B C
Partitionner la donnée
B C
BC
Cache B CA
A
AA
A
B CA
B C
CA
B CA
BA
Rapatriement transparent
©OCTO Technology – Université d’été du Système d’information
Sécuriser la donnée partitionnée
C
BC
Cache
A A
AAA
Etape3 : persister
Etape1 : redonder
Etape2 : acquiter
BA
©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)
01234567
######
Ta
Tb
######
(objets)Ta
Get Ta
Get Tb
Get …
Mono critère
©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 TaTa
Tb
@SpaceId(index)
01234567
###
TaTb
(objets)
TaSelect from Trans. Where SellerID = BNP and / or tradeDate = …
Multi-critère
BNPSG
2008-01-29
2008-01-29
###
©OCTO Technology – Université d’été du Système d’information
…
…
Combiner les index
01234567
TaTb
<tradeID> Ta</tradeID>
<SellerID> BNP </SellerID>…
Transaction Ta
Ta
Select from Trans. Join Seller Where …
Multi « tables »BNPSG
<sellerID> Ta</sellerID>
…
Seller BNP
BNP
01234
BNP B
…
Ta
…
…
…
……
…
…
…
©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 »TradeIdSellerRef
ProdId
Trade
### sérialisé ###
Prod
###
ProdIdProd
###
ProdId(1)ProdId(2)
Navigation objet
Jointures « SQL »
TradeIdSellerRef
Trade
### ### Produit(s) Sérialisé(s) ###
ProdIdProd
###
ProdIdProd
###
Trade.Product(1).ProdId
©OCTO Technology – Université d’été du Système d’information
Bilan d’étape : la grille maître de la donnée
Grille Calcul
data
MySQLConsignation
(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
©OCTO Technology – Université d’été du Système d’information
Architecture exploratoire
Grille Calcul
data
MySQLConsignation
(sens unique)
B… Ta
…
…
…
…… …
…
…
Ta
…
…
…
Moteur de workflow
©OCTO Technology – Université d’été du Système d’information
Vers la fin des tiers physiques
Communications réseaux
Communications inter-process
Modif REM
©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
©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
©OCTO Technology – Université d’été du Système d’information
Conclusion
Application au calcul intensif
Application à la donnée
©OCTO Technology – Université d’été du Système d’information
Grilles de calcul : conclusion
NombreusesrequêtesSans lien
Agrégat deCalculs
Application
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épendancesinflexibles
étendre
remplacer
©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
ApplicationMulti-thread
Limite : Electricité
100 MBps
Cachestandard
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
top related