faible latence, haut debit perfug (septembre 2014)

264
Basses latences, hauts débits : les secrets de la finance pour avoir des systèmes réactifs Cyrille DUPUYDAUBY Thomas PIERRAIN SOCIETE GENERALE

Upload: thomas-pierrain

Post on 19-Jun-2015

506 views

Category:

Engineering


1 download

DESCRIPTION

vidéo disponible : http://tv.octo.com/videos/les-secrets-de-la-finance-pour-avoir-des-systemes-reactifs/ Comment concevoir des systèmes capables d’encaisser des dizaines de milliers d’updates par seconde sans s’engorger, ni dépasser la milli seconde de traitement ? Comment écrire du code scalable qui reste lisible –mais garanti 100% sans deadlock ? Que recouvre le reactive manifesto ? et les termes : conflation, sequencer, immutable state ? Après vous avoir présenté les besoins et contraintes du trading électronique, nous répondrons à toutes ces questions dans une session … résolument réactive. Note: il s'agit de la présentation que nous avions faîte à DEVOXX France en Avril 2014, mais revue et corrigée pour notre session au PerfUG de Septembre (avec une nouvelle charte graphique donc)

TRANSCRIPT

Page 1: Faible latence, haut debit PerfUG (Septembre 2014)

Basses latences, hauts débits : les secrets de la finance pour avoir des systèmes réactifs

Cyrille DUPUYDAUBY Thomas PIERRAIN !SOCIETE GENERALE

Page 2: Faible latence, haut debit PerfUG (Septembre 2014)

use case driven (blog) Many Cores (blog)

Qui sommes nous ?

Page 3: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Agenda

• Banque d’investissement & marchés électroniques (–10mn)

• Construisons ensemble un « Pricer » (–20mn)

• Patterns: sequencer et conflation (–20mn)

• Reactive Manifesto & Conclusion (– 5 mn)

Page 4: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

La banque d'investissement

• Fournir des solutions de financement

• Proposer des solutions d'investissements

• Créer des produits financiers

• Agir sur les marchés

Page 5: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrainhttp://upload.wikimedia.org/wikipedia/commons/b/b8/Sao_Paulo_Stock_Exchange.jpg

Page 6: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Les activités de marché

Page 7: Faible latence, haut debit PerfUG (Septembre 2014)

Carnet d’ordres

Prix

Moteur

Page 8: Faible latence, haut debit PerfUG (Septembre 2014)

PAS

COMPRIS?

Page 9: Faible latence, haut debit PerfUG (Septembre 2014)
Page 10: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le supermarché

Page 11: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Les acteurs

Investisseurs

Market Makers

Scalpers

Page 12: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Les automatesAlgo trading

Arbitrage

Page 13: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Les enjeux

• Complexité !

• Fiabilité/disponibilité !

• Capacité en volume !

• Latence !

!

Page 14: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Les enjeux

• Complexité • 5200 Releases/an

• Fiabilité/disponibilité • 5,5 * 24

• Capacité en volume • 5M executions/jour, 250K market update/Sec

• Latence • ≈ 5 ms end to end, 50 µsec pour haute fréquence

Page 15: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Agenda

• Banque d’investissement & marchés électroniques (–10mn)

• Construisons ensemble un « Pricer » (–20mn)

• Patterns: sequencer et conflation (–20mn)

• Reactive Manifesto & Conclusion (– 5 mn)

Page 16: Faible latence, haut debit PerfUG (Septembre 2014)

Le Pasta Pricer

Page 17: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Mission

• Calculer en temps réel le prix des paquets de pâtes proposées

• Offre en pates: • 4 tailles de paquet: 250g, 500g, 1Kg, 2Kg

• 4 types de farine: basique, premium, bio, complète

• 3 recettes: sans oeufs, avec et riche en oeuf

• 50 formes et couleurs différentes

soit 2400 types de pates !

Page 18: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Calculer le prix

• Le prix dépend des cours • des différents types de blés

• des oeufs (le cas échéant)

• du carton et/ou du plastique (emballage)

• d’autres ingrédients optionnels (pates colorées): tomate épinards

Page 19: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Designons notre Pasta pricer!

en mode ¨EVENT STORMING¨

Page 20: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Bases pour notre représentationPasta pricer

des flux d evenementson reçoit ..

on publie ..

dans la même boite...

Page 21: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Bases pour notre représentationPasta pricer

3 étapes

Calculerdecoder encoder

Page 22: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Bases pour notre représentationPasta pricer

3 étapes

Calc Encdecinputs outputs

pennepennepennepennepennepennepennegnocchi

pennepennepennepennepennepennepennepenne

2400 pates différentes

Page 23: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Designons notre Pasta pricer!

on commence?

Page 24: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 25: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

1110010101...

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 26: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 27: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Page 28: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Page 29: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Page 30: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 31: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 32: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

gnocchi

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Oeufs 1.5 €

Page 33: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

gnocchi

Gnocchi 5.4 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Page 34: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

gnocchi

Gnocchi 5.4 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Page 35: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

gnocchi

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Page 36: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

pennepennepennepennepennepennepenne————

Page 37: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

penne

Oeufs 1.5 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 38: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

penne

penne 2.1 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 39: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

penne

penne 2.1 €

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 40: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

penne

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 41: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

01100101100

Oeufs 1.5 €

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 42: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

penne

pennepennepennepennepennepennepennepen

nepennepenne—- — pen

nepennepennepennepennepennepenne————

Page 43: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

penne——— —

——pennepennepennepennepennepennepenne————

0110010110

0…

Page 44: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Oeufs 1.5 €

Calc Encdec

Pasta pricer

pennepennepenne—-

— ——

0110010110

0…

Page 45: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

Oeufs 1.5 €

pennepenne——-

0110010110

0…

Page 46: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

Calc Encdec

Pasta pricer

pennepennepennepennepennepennepenne————

—pennepennepennepennepennepennepenne————

Page 47: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche mono thread

avis sur la solution?-On n exploite pas la CPU au mieux -prix des dernières pâtes calculées en retard - le mono-thread: intéressant pour la ultra low

latency - pas ici avec nos contraintes - le moment de // nos calculs !

Page 48: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

Page 49: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâtePasta pricer

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

1110010101...

Page 50: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâtePasta pricer

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

Oeufs bios 3.5 €

Page 51: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâtePasta pricer

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...Oeufs bios 3.5 €

Page 52: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâtePasta pricer

—- —

penne

—————

—- —

—- ——- —

—————

gnocchi

dec

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

Page 53: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

oeufs 3.5 €

Page 54: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

penne 5.4 €

.... .... €

...... 8.2 €

.... €

Page 55: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

penne 5.4 €

.... .... €

...... 8.2 €

.... €

Page 56: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

Page 57: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- —

penne

—————

—- —

—- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

Page 58: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- ——- —

—- ——- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

penne

—————

Page 59: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- ——- —

—- —

—————

gnocchi

11101001011

11100...

111101.

.....

....

—- —

penne

—————

Page 60: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 61: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 62: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 63: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 64: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

11100...

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 65: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

11101001011

111101.

.....

....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 66: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

111101.

.....

....—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 67: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

111101.

.....

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 68: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

encCalc

...dec

Pasta pricer

—- ——- —

—- —

—————

gnocchi

—- —

penne

—————

Page 69: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche 1 worker thread / pâte

Avis?-2400 threads ... Ca va pas la tête ?!? - context switches de malade -modèle pas scalable... ni raisonnable - il faut // d accord- mais plus finement -approche suivante !

Page 70: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 71: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

1110010101...

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 72: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 73: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 74: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Oeufs bios 3.5 €

Oeufs bios 3.5 €

Page 75: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Gnocchi bio

5.4 €

penne bio

3.2 €

Page 76: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

Gnocchi bio

5.4 €

penne bio

3.2 €

Page 77: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

01100011010

11111000110

Page 78: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

penne bio

01100011010

11111000110

Page 79: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

…11111000110

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 80: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

11111000110

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 81: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

11111000110

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 82: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche pool de threadPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100011010

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 83: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche « pool de thread »Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 84: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche « pool de thread »

c est mieux, non?

Page 85: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche « pool de thread »

race conditions ?!?

Page 86: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer: concentrons nous sur les gnocchis !

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 87: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

1110010101...

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 88: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 89: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 90: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

Page 91: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

0001110010 ...

Page 92: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

carton +1.2 €

Page 93: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

carton +1.2 €

Page 94: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

carton +1.2 €

Page 95: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Page 96: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

Oeufs bios 3.5 €

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Page 97: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

5.4 €

Gnocchi bio

4.4 € !!!

!!!

Page 98: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

gnocchi bio

Gnocchi bio

4.4 €

01100101100

… 5.4 €

Page 99: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

Gnocchi bio

4.4 €

01100101100

5.4 €

Page 100: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

gnocchi bio

pennepennepennepennepennepennepenne pen

nepennepennepennepenne ... ..

..

01100101100

1100010111 …

5.4 €

4.4 €

Page 101: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100101100

1100010111 …

5.4 €

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

Page 102: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

01100101100

1100010111 …

5.4 €

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

dernier prix pour les gnocchis: 4.4 € !!!

Page 103: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…Pasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

pennepennepennepenne

.... ... pennepennepennepenne

.. ....

1100010111 …

4.4 €

pennepennepennepennepennepennepenne pen

nepennepennepennepennepenneGnocchi

dernier prix pour les gnocchis: 4.4 € !!!

Page 104: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pool de thread & race conditions…

Probleme:- le dernier prix publié pour les gnocchis

ne tient pas compte de la dernières info reçue

solution:- Il faut que les prix soient publiés en

respectant l ordre des inputs reçus

Page 105: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche multi tasks / thread pool

respecter l ordre OK, mais comment?

avec des locks?

Page 106: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche multi tasks / thread pool

les vieux maitres en multithreading ont un dicton :

¨qui dit lock ... ... dit deadlock¨

Page 107: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Approche multi tasks / thread pool

1. Protéger l acces à nos ressources (pates  dans un monde // et asynchrone

2. pas de deadlock - donc pas de lock ni de wait sans timeout dans le code du pricer

3. pas d expertise de dingue obligatoire en multithreading

en resume, on veut:

Page 108: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

En réalité, si on résume encore +

On veut rendre la programmation reactive

accessible à tous et sans danger

Page 109: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Agenda

• Banque d’investissement & marchés électroniques (–10mn)

• Construisons ensemble un « Pricer » (–20mn)

• Patterns: sequencer et conflation (–20mn)

• Reactive Manifesto & Conclusion (– 5 mn)

Page 110: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Programmation réactive pour tous !

Notre solution:

¨Le sequencer¨

Page 111: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Programmation réactive pour tous !

¨Le sequencer¨- un pattern qui garantit l ordre d execution des

tâches associées à un ¨état¨ donnéex: un stream de prix, une négociation, un workflow, etc.

!

- Maintient la cohérence de cet état dans un environnement complètement asynchrone et //

Page 112: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Programmation réactive pour tous !

¨Le sequencer¨

8 9

!

1 2

1 2 3

Page 113: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en post-it

Sequencer gnocchi

gnocchi

classe qui agrège un sequencer

le sequencer a qui on confie des

tâches a ¨sequencer¨

interface Sequencer{ void dispatch(Action action); }

programmation asynchrone

Page 114: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en actionPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 115: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

1110010101...

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 116: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 117: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 118: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 119: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

0110110101…

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 120: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

0110110101…

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 121: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 122: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 123: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 124: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 125: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 126: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 127: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

farine 0.5 €

Sequ gnocchi

gnocchi

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 128: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

farine 0.5 €

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 129: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

farine 0.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 130: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 131: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 132: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 133: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 134: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 135: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 136: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

on REFAIT LE MATCH ?

Page 137: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en actionPasta pricer

Calc

Calc

Calc

Enc

Enc

Enc

dec

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 138: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

1110010101...

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 139: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 140: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 141: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 142: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs 1.5 €

Sequ gnocchi

gnocchi

0110110101…

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 143: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

0110110101…

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 144: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 145: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 146: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Oeufs 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 147: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 148: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

Gnocchi 5.4 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 149: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

farine 0.5 €

Sequ gnocchi

gnocchi

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 150: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

farine 0.5 €

Sequ gnocchi

gnocchi

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 151: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

farine 0.5 €

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 152: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

farine 0.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 153: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 154: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

GNOCCHI 6.1 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 155: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi

gnocchi

01100101100

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 156: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 157: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 158: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le sequencer en action

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

Gnocchi

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Page 159: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Et sous le capot du sequencer ?

Page 160: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

l’implémentation elle, utilise des locks ou des CAS (Compare and Swap) en interne

« Complexité » encapsulée

Page 161: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

!

interface IUnitOfExecution { void dispatch(Action action); }

Pour un usage d’une simplicité …

Page 162: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Du code !

du code !

Page 163: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Pasta Pricer powered by

Page 164: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Avantages du sequencer

simplicité lisibilité fiabilité

non bloquant !

en revanche ... !

il va nous manquer un autre outil ...

Page 165: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Un autre outil ?!?

¨et oui ... de l eau qui

dort, se méfier il faut ¨

Page 166: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Le problème des pics de charge

Comment les absorber sans prendre de la

latence?

Page 167: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi epinard

gnocchi epinard

épinard 1.5 €

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Sequ rotini

epinard

rotini epinard

épinard 1.5 €

Sequ pici

epinard

Pici epinard

épinard 1.5 €

système déjà chargé

Page 168: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 169: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

1110010101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 170: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 171: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 172: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

100100101...

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 173: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

farine bio 1.1 €

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 174: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 175: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

100100101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 176: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

oeufs bios 2.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 177: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101...

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 178: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 179: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

100100101...

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 180: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

blé bios 0.2 € . .. ..

.. .. ..

.. .. .. .

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 181: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

blé bios 0.2 € . .. ..

.. .. ..

.. .. .. .

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101...

farine bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 182: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 183: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 184: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 185: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 186: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 187: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 188: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

01100101100…

01100101100…

01100101100…

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €Oeufs

bios 3.5 €

Page 189: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

Page 190: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

Page 191: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

!!!

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

!!!

Page 192: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Exemple de pic de charge

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

SEQ

GnocchiSEQ

farfalle

SEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

GnocchiSEQ

penne

Oeufs bios 3.5 €

OEUFS BIOS 1.7 €blé bios

0.2 €farine

bio 1.1 €

oeufs bios 2.2 €farine

bio 1.1 €

prix plus frais !!!

!!! vieux prix

Page 193: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

En cas de pic de charge…

comment dépenser sa CPU a bon escient ?

la conflation

Page 194: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

La conflation

¨ C est le moyen d amortir les pics de charge quand le système est déjà bien occupé ¨

Page 195: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

2 types de conflationle Balking Le dernier message sur le même sujet vient remplacer le précédent. ¨Annule et remplace¨

le merge le dernier message sur le même sujet vient fusionner son contenu avec le précédent

Oeufs bios 3.5 €

Oeufs bios 4.1 €

Oeufs bios 4.1 €

t1 t0 t2

Oeufs bios 5kg: 20 €

Oeufs bios 1kg: 5 €

Oeufs bios 1 kg: 5 €

5 kg: 20 €

t0t1 t2

Page 196: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

A ne pas confondre avec …

La conflation n est pas de

l échantillonage !

Page 197: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Sequ gnocchi epinard

gnocchi epinard

épinard 1.5 €

Sequ rotini

epinard

rotini epinard

épinard 1.5 €

Sequ pici

epinard

Pici epinard

épinard 1.5 €

système déjà chargé

Page 198: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 199: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

1110010101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 200: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 201: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 202: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

100100101...

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 203: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

farine bio 1.1 €

Oeufs bios 3.5 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

Page 204: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 205: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

100100101...

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 206: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

oeufs bios 2.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 207: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.9 €

Page 208: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

0111100101... farine

bio 1.1 €Oeufs

bios 3.9 €

Page 209: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €

farine bio 1.1 €Oeufs

bios 3.9 €

Page 210: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 211: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

100100101... farine

bio 1.1 €Oeufs

bios 3.5 €

Page 212: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

blé bios 0.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 213: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

blé bios 0.2 €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

farine bio 1.1 €Oeufs

bios 3.5 €

0111100101...

Page 214: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…OEUFS

BIOS 1.7 €

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 3.5 €

Page 215: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer système déjà chargé

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 216: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

.. .. .. .

.. .. €

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 217: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 218: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 219: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

. .. .. .. .. .. .. .. ..

.

.. .. ..

.. .. ..

.. . . .. ..

01100101100…

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 220: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

01100101100…

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 221: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

01100101100…

01100101100…

01100101100…

blé bios 0.2 €

farine bio 1.1 €Oeufs

bios 1.7 €

Page 222: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 1.7 €

blé bios 0.2 €

farine bio 1.1 €

Page 223: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Même pic de charge… avec conflation

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 1.7 €

blé bios 0.2 €

farine bio 1.1 €

prix frais ;-/ engorgement limité

Page 224: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Back pressure obligatoire !

¨la conflation ne s exerce que sur un système déjà occupé ¨

Page 225: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Page 226: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

1110010101...

Page 227: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

Page 228: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

Page 229: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

Page 230: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

100100101...

Oeufs bios 3.5 €

Page 231: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Page 232: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Page 233: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Page 234: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

100100101...

Page 235: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

Page 236: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

Page 237: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

0111100101...

Page 238: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Page 239: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Page 240: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

100100101...

Page 241: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

blé bios 0.2 €

Page 242: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

blé bios 0.2 €

0111100101...

Page 243: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €Blé

bio 0.2 €

Oeufs bios 1.7 €

Page 244: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

Oeufs bios 1.7 €

Page 245: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

Page 246: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

Page 247: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

L’impact négatif des buffers intermédiaires…

Calc

Calc

Calc

Enc

Enc

Enc

dec

Pasta pricer

Oeufs bios 3.5 €

farine bio 1.1 €

Oeufs bios 3.9 €

farine bio 1.1 €

Blé bio

0.2 €

oeufs bios 1.7 €

prend du retard par le centre !!!

Page 248: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

… pour que la conflation soit effective …

évitez les buffer ou les files

intermédiaires !

Page 249: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Donc …

Pour juguler les pics de charge

Page 250: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Demo

Page 251: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Facteurs clés pour le succès

• L’importance de la modélisation de votre //isme !

• L’importance de la mesure

SLA percentiles !

Page 252: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Un avis, maître ?

¨un ensemble de propriétés, un

système Réactif est ¨

Page 253: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Agenda

• Banque d’investissement & marchés électroniques (–10mn)

• Construisons ensemble un « Pricer » (–20mn)

• Patterns: sequencer et conflation (–20mn)

• Reactive Manifesto & Conclusion (– 5 mn)

Page 254: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Reactive manifesto v2

react to events react to load

: covered today

Page 255: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Etre réactif …

Ce n’est pas un marteau en or

Page 256: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Etre réactif …

C’est une forme particulière de design

Page 257: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Une forme de design …

… qui a besoin de nouvelles patterns

Page 258: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Etre réactif …1. Ce n’est pas un marteau en or

2. C’est une forme particulière de design

3. Qui a besoin de nouvelles patterns

Page 259: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Une dern

ière

chose …

Page 260: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Page 261: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

« Michonne » statement

• Application scalable verticalement

• Deadlock-free applications - OO composable dans un env //

• Concurrence « digeste » (tout public)

• Modèle de concurrence modifiable a posteriori

• TDD friendly

Page 262: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

La philosophie Michonne

• No lock-no deadlock

• Approche pit of success

• Une librairie, pas un framework

• Des primitives plutôt que des acteurs

• Modèle de composition façon « poupée russe » (sequencer, conflation, …)

• Un modèle asynchrone

Page 263: Faible latence, haut debit PerfUG (Septembre 2014)

Venez jouer avec nous !

Essayez Michonne ! !

pour aider à raffiner son API

!et/ou

!

Rejoignez le projet

en .NET, ou pour portage Java?

Merci pour votre attention !

Page 264: Faible latence, haut debit PerfUG (Septembre 2014)

@cyrdup @tpierrain

Quelques références1. Sites / blogs

• http://www.reactivemanifesto.org/

• http://mechanical-sympathy.blogspot.fr/ (Martin THOMPSON)

• http://dupdob.wordpress.com/ (many cores)

• http://tpierrain.blogspot.fr/ (use case driven)

2. Vidéos • Metrics, Metrics everywhere (Coda HALE)

https://www.youtube.com/watch?v=czes-oa0yik

• Vidéo: How NOT to measure latency (Gil TENE) http://www.infoq.com/presentations/latency-pitfalls

• React2014: https://www.youtube.com/user/reactconf/videos

3. Ouvrage: • Release It!: Design and deploy prod ready software (Michael T. NYGARD)