47
MSR 2009, 16-18 Novembre 2009 Une méthode de calcul pour les délais pire-cas de bout en bout pour les réseaux SpaceWire Thomas Ferrandiz, Fabrice Frances, Christian Fraboul 1

Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

MSR 2009, 16-18 Novembre 2009

Une méthode de calcul pour les délais pire-cas de bout en bout pour les réseaux SpaceWireThomas Ferrandiz, Fabrice Frances, Christian Fraboul

1

Page 2: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

SpaceWire

✤ Standard de l’ESA de réseau embarqué à haut débit pour les réseaux bord satellites

✤ basé sur des liens série, point-à-point, bi-directionnels et full-duplex

✤ vitesse variable de 2 à 200 Mbps

✤ unité de transmission : caractère (donnée ou contrôle)

✤ contrôle de flux sur chaque lien : l’émetteur n’émet que si le récepteur l’y a autorisé

2

Page 3: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Wormhole

✤ les nœuds peuvent être interconnectés grâce à des routeurs

✤ Contraintes :

✤ faible utilisation mémoire (très couteuse dans le spatial)

✤ compatibilité avec les liens point-à-point

3

Page 4: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

N3 envoie un paquet à N4

4

Page 5: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

R2 retransmet les données au fur et à mesure de leur arrivée

5

Page 6: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

N1 commence à émettre un paquet vers N4

6

Page 7: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

Le paquet de N1 reste bloqué dans R2

7

Page 8: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

N2 tente d’envoyer un paquet à N3.Il reste bloqué dans R1

8

Page 9: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

Une fois le paquet de N3 transmis à N4,le paquet de N1 est transmis à N4.

Le paquet de N2 attend encore.

9

Page 10: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Routage Worhole

R1R2

N1

N2

N3

N4

Les paquets peuvent rester bloqués durant des délais importants et irréguliers

⇒ recherche d’un délai pire-cas

9

Page 11: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Principe du calcul

✤ la transmission d’un paquet a lieu en 2 phases

✤ 1ère phase : l’en-tête du paquet crée un «circuit virtuel» entre la source et la destination

✤ délais à la source si plusieurs paquets sont émis simultanément

✤ délais dans chaque routeur traversé si d’autres paquets occupent déjà le port de sortie

✤ 2ème phase : le corps du paquet est transféré sur le circuit virtuel

✤ même délai que sur un lien point-à-point : T/C10

Page 12: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Un exemple pour commencer

N1

N2

N3

N4

L1

L2

L3L4

L5

11

Page 13: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

12

Page 14: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

12

Page 15: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

12

Page 16: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l1)

12

Page 17: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l1)

12

Page 18: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l3)

12

Page 19: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l3)

12

Page 20: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l3)

12

Page 21: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 22: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 23: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 24: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 25: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 26: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 27: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 28: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 29: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) = d(fv, l3) + d(fr, l5) + max[d(fj , l4), d(fb, l5)]

12

Page 30: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l3) + d(fr, null)+ max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 31: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l3) + d(fr, null)+ max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 32: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l3) + d(fr, null)+ max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 33: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l3) + d(fr, null)+ max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 34: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l4) + d(fr, null)+ 2.max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 35: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l4) + d(fr, null)+ 2.max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 36: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, l4) + d(fr, null)+ 2.max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 37: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Calculons le délai du flux vert

N1

N2

N3

N4

L1

L2

L3

L4

L5

d(fv) =d(fv, null) + d(fo, null) + d(fr, null)+ 2.max[d(fj , null) + d(fo, null), d(fb, null)]

12

Page 38: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Résultat

Fin de la recursion : d(fi, null) = TiC , ∀i

avec Ti : taille max des paquets du flux iet C : capacite des liens

d(fv) =Tv + Tr + To + 2.max(Tj + To, Tb)

C

13

Page 39: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Modèle du réseau

✤ réseau = graphe orienté

✤ flux = chemin dans le graphe d’une source vers une destination

et une taille maximale de paquet

✤ links(f) = liste ordonnées des liens empruntés par f

✤ Autres notations : first(f), next(f,l), prev(f,l), null

N1

N2

N3

14

Page 40: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Hypothèses pour le calcul

✤ routage statique

✤ tous les liens ont la même capacité C

✤ tous les flux ont la même priorité

✤ la source émet ses paquets à la vitesse maximale

✤ la destination traite chaque paquet dès qu’il arrive

✤ pour chaque flux f,

✤ les paquets d’un même flux n’interagissent pas entre eux15

Tf ≤ nb routeurs ∗ taille buffer (56 octets)

Page 41: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Délai dans un routeur

✤ Délai pour un paquet p :

✤ seuls les paquets sortants par le même port que p ont un impact

✤ 1 paquet par autre port d’entrée peut passer avant p (accès équitable)

✤ si plusieurs flux entrent par le même port, on prend le délai max

✤ chacun de ces paquets peut lui-même être bloqué ensuite

✤ ⇒ formulation récursive du délai

Phase 1Routeur

SourcePhase 2

16

Page 42: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Délai dans un routeur

d(f, l) =�

lin∈Bf,l

[ maxfin∈Ulin

d(fin, next(fin, l)) + dsw]

+ d(f, next(f, l)) + dsw

ou

Bf,l = {lin ∈ L, lin �= prev(l),pour lesquels ∃fin ∈ F |next(fin, lin) = l}

(Bf,l est l’ensemble des liens utilises immediatement avant lpar un flux fin et qui ne sont pas prev(f, l))

etUlin = {fin ∈ F |lin ∈ links(fin)}

(Ulin est l’ensemble des flux qui utilisent lin)

Phase 1Routeur

SourcePhase 2

17

Page 43: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Délai à la source

✤ causé par les flux de même source que p

✤ accès au lien de sortie équitable : au pire, un paquet de chaque flux peut passer avant p

d(f, first(f)) =�

fin∈SF

d(fin, next(fin, l)) + d(f, next(f, l))

ou

SF = {fin ∈ F |fin �= f et first(fin) = first(f)}

Phase 1Routeur

SourcePhase 2

18

Page 44: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Délai pendant la phase 2

✤ connexion équivalente à un lien point-à-point entre la source et la destination

✤ la destination ne retarde pas le paquet

d(f, null) =Tf

C

Phase 1Routeur

SourcePhase 2

19

Page 45: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Conclusion

✤ méthode simple permettant de calculer une borne supérieure sur le délai pire-cas d’un flux dans un réseau SpaceWire

✤ borne déterministe, pas probabiliste

✤ fonctionne sur un réseau de topologie quelconque, à condition qu’il n’y ait pas d’interblocages ni d’auto-dépendance

20

Page 46: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Perspectives

✤ utiliser des hypothèses plus fortes sur le trafic en entrée pour obtenir des bornes plus serrées et gérer l’auto-dépendance des flux (ex : enveloppes du Network Calculus)

✤ utiliser le model-checking pour déterminer un pire-cas atteignable sur des architectures de référence

✤ compléter le modèle : 2 niveaux de priorités, terminaux

21

Page 47: Une méthode de calcul pour les délais pire-cas de bout en ...afsec.asr.cnrs.fr/wp-content/uploads/2009/12/F... · N4 Une fois le paquet de N3 transmis à N4, le paquet de N1 est

Merci pour votre attentionQuestions ?

22