• Aucun résultat trouvé

Mécanismes de récupération d’erreurs

Chapter 8. Résumé en français (French Summary)

8.6.1 Mécanismes de récupération d’erreurs

Sur la base des codes de détection et correction d’erreurs, deux principaux mécanismes de récupération d’erreurs peuvent être utilisés :

- La correction d’erreurs, en utilisant des codes correcteurs d’erreurs ; - La retransmission de la donnée, en utilisant des codes détecteurs d’erreurs. Dans les NoCs, ces mécanismes peuvent être appliqués :

- Commutateur-à-commutateur, S2S (switch-to-switch) ou au niveau du lien, c’est-à-dire à chaque nœud le long du chemin des données ;

- Bout-à-bout, E2E (end-to-end) ou au niveau du transport, c’est-à-dire entre les interfaces réseau (NIs, network interfaces) des nœuds source et destination. Les tableaux suivants reprennent les caractéristiques des mécanismes de base de ré-cupération d’erreurs (la correction et la retransmission), appliquées au S2S ou E2E.

Les schémas S2S traitent les erreurs cumulées le long du chemin. Dans les régimes E2E, la multiplicité d’erreur peut dépasser la capacité des EDC / ECC (Table 8-1). Toutefois, un prix plus élevé est payé pour la mise en œuvre des S2S, en termes de surcoût en surface et puissance, car les blocs de contrôle d’erreurs doivent être ajoutés pour chaque paire de nœuds voisins. Dans les schémas E2E, ceux-ci sont présents uniquement aux NIs. La largeur du tampon de retransmission peut être plus étroite pour les schémas S2S, vu que les tampons stockent des données originales (vs. données codées dans les schémas E2E).

Chapter 8. Résumé en français (French Summary)

Table 8-1 Efficacité du contrôle d’erreurs dans les schémas commutateur-à-commutateur par rapport à bout-à-bout

Critère/schéma S2S E2E

Traite les erreurs cumulées le long du chemin oui non Surcoût en surface et consommation grand petit

Largeur du tampon intermédiaire large étroite

La latence des mécanismes de recouvrement d’erreur dans les quatre cas de base de récupération d’erreurs est présentée dans la Table 8-2. Une retransmission S2S prend 3 cycles d’horloge, alors que la correction d’erreurs S2S ne prend que 1 cycle. La correc-tion a la même latence, y compris pour le cas E2E avec n’importe quel nombre de hops, mais il ne traite pas les erreurs cumulées le long du chemin. La latence de retransmission E2E ne peut pas être estimée simplement, car elle dépend de plusieurs facteurs, comme la longueur du trajet entre les deux nœuds d’extrémité et de la charge de trafic sur cette voie, tant pour la demande de retransmission et la retransmission des données elle-mêmes.

Table 8-2 La latence des mécanismes de récupération d’erreurs

Latence S2S E2E

Retransmission 3 cycles d’horloge / lien dépend du chemin, charge de trafic etc. Correction 1 cycle d’horloge / lien 1 cycle d’horloge

Les codes de correction d’erreurs sont plus complexes que les codes de détection d’erreurs, et donc, les coûts correspondants sont plus élevés. D’autre part, la retransmission implique l’existence de tampons pour stocker des données pour d’éventuelles retransmissions futures. Ainsi, la surface globale pour la retransmission est plus élevée que dans le cas de la correction (Table 8-3). Toutefois, en payant le prix du tampon de retransmission, une plus grande efficacité du système de tolérance aux fautes est atteinte, puisque la récupération est possible aussi pour des erreurs qui ne peuvent pas être corrigées par le code correcteur d’erreurs.

Table 8-3 Surcoût en surface de la correction et de la retransmission

Schéma Surcoût en surface Retransmission grand

Correction petit

L’efficacité des quatre schémas de base de la récupération d’erreurs est synthétisée dans le tableau Table 8-4. Lorsque des erreurs sont susceptibles de se produire uniformément réparties le long du chemin, les schémas S2S sont plus efficaces, car ils traitent chaque erreur quand cela se produit. La correction d’erreurs S2S traite des erreurs d’une multiplicité plus basse (limitée par la capacité du code de correction d’erreurs), uniformément réparties le long du chemin. D’autre part, la retransmission S2S est plus efficace, surtout quand il y a beaucoup d’erreurs uniformément répartis le long du chemin, qui ne peuvent pas être traitées par le code de correction d’erreurs.

Chapter 8. Résumé en français (French Summary)

Table 8-4 Efficacité de la correction et de la retransmission

Efficacité S2S E2E

Retrans-mission

- Erreurs de haute multiplicité - Erreurs uniformément réparties

le long du chemin

- Erreurs de haute multiplicité - Erreurs non uniformément

répar-ties le long du chemin Correction - Erreurs de faible multiplicité

- Erreurs uniformément réparties le long du chemin

- Erreurs de faible multiplicité - Erreurs non uniformément

répar-ties le long du chemin

Si les erreurs ne sont pas uniformément réparties le long du chemin, le contrôle d’erreurs S2S est inutile. Pour gagner en temps de latence, les schémas E2E sont préférés. Comme dans le cas des schémas S2S, la retransmission E2E peut traiter plusieurs types d’erreurs que l’approche de correction. Cette limitation est donnée par la capacité de détection / correction d’erreurs du code sélectionné.

8.6.2 Schémas de contrôle d’erreurs

Deux systèmes principaux de contrôle d’erreurs correspondent aux mécanismes de reprise d’erreurs de base : la correction d’erreurs et de retransmission des données. Dans de nombreux cas, certains types d’erreurs sont plus susceptibles de se produire, tandis que d’autres types (le plus souvent celles d’une multiplicité élevée et un motif irrégulier) sont plus rares. Par conséquent, un compromis entre l’efficacité du schéma de tolérance aux fautes et son coût doit être pris en considération. La solution à cette question est un schéma hybride, qui combine la correction d’erreurs avec la retransmission.

En considérant des applications avec des QoS différentes, nous proposons le schéma de contrôle d’erreurs sélectif. Le schéma sélectif détecte les erreurs et peut éventuellement les corriger. Dans ce schéma, la correction est faite sur la base des informations latérales envoyées sur le lien à coté des éléments de données (les flits). Ces informations sont ajoutées par l’interface réseau, sous le contrôle des applications ou des pilotes des IP du SoC.

Les caractéristiques des schémas de contrôle d’erreurs mentionnés ci-dessus sont synthétisées dans les lignes suivantes :

Correction, FEC (Forward Error Correction) : les données reçues sont toujours

corrigées (uniquement les codes de correction d’erreurs sont utilisés : Hamming SEC/DED, Hsiao).

Détection d’erreurs et retransmission, ED+R (Error Detection and Retransmission) :

les données sont renvoyées lorsque des erreurs sont détectées (des codes de détection d’erreurs sont utilisés : la parité, le code Hamming).

Hybride : corrige autant d’erreurs que possible, sinon demande la retransmission,

pour améliorer la capacité de correction d’erreurs (des codes correcteurs d’erreurs sont utilisés).

Sélectif : corriger les erreurs uniquement lorsque c’est explicitement demandé par les

niveaux supérieurs (des codes correcteurs d’erreurs sont utilisés).

Tous ces schémas peuvent être appliqués soit entre chaque paire de commutateurs adjacents (ou routeurs) ou seulement entre la source et la destination de chaque message, comme représenté dans la Fig. 8-12. Les schémas commutateur-à-commutateur (S2S) sont représentés dans la Fig. 8-12.a-d et ceux bout-à-bout (E2E), dans la Fig. 8-12.e-h.

Chapter 8. Résumé en français (French Summary)

a. Corr. d’erreur commutateur-à-commutateur (S2S FEC) e. Corr. d’erreur bout-à-bout (E2E FEC)

b. Retransmission commutateur-à-comm. (S2S ED+R) f. Retransmission bout-à-bout (E2E ED+R)

c. Schéma hybride commutateur-à-comm. (S2S Hybrid) g. Schéma hybride bout-à-bout (E2E Hybrid)

d. Schéma sélectif commutateur-à-comm. (S2S Selective) h. Schéma sélectif bout-à-bout (E2E Selective)

Fig. 8-12 Schémas de contrôle d’erreurs

Dans le schéma S2S FEC (Fig. 8-12.a), les modules ajoutés au lien simple entre deux routeurs/commutateurs sont : l’encodeur (du côté de l’expéditeur), le détecteur et le correcteur (du côté du récepteur).

Dans la Fig. 8-12.b, le schéma S2S ED+R est représenté. Le module d’encodage est également présent dans la partie émission, et il est complété par un tampon de re-transmission. Lorsque de nouvelles données sont envoyées, elles sont également stockées dans le tampon de retransmission. En cas de demande de retransmission, les données à envoyer sont récupérées dans le tampon de retransmission. Au récepteur, un module de détection a pour rôle de détecter l’erreur et de demander la retransmission des données en cas d’erreurs. Ainsi, le canal de communication est complété par la demande de retrans-mission, dans le sens inverse.

Le schéma S2S hybride combinant la correction d’erreurs et la retransmission est présenté dans la Fig. 8-12.c. Outre le module de détection d’erreurs, le schéma hybride contient des modules pour la retransmission et aussi pour la correction d’erreurs. En cas d’erreurs, le schéma hybride effectue la correction lorsque cela est possible et la retrans-mission autrement. Puisque la retransretrans-mission est plus lente que la correction, le schéma hybride est plus rapide que la retransmission pure. La capacité d’adaptation et la réduc-tion de la latence du schéma hybride sont toutefois payées en surface.

Dans la Fig. 8-12.d, le schéma S2S sélectif de correction d’erreurs est affiché. Les données (flits) envoyées sur les fils sont codées avant de quitter l’interface en amont.

La détection et la correction éventuelle d’erreur sont mises en œuvre avant que les données arrivent dans l’interface en aval (Fig. 8-12.d). Lorsque des erreurs sont détectées, les informations latérales envoyées sur les lignes de commande indiquent si une correction doit être apportée ou non. Si la correction n’est pas nécessaire, parce que soit il n’y a pas d’erreurs détectées soit les erreurs seront corrigées par les couches

Chapter 8. Résumé en français (French Summary)

supérieures, les flits arrivent à l’interface aval avec le délai induit par la détection. Lorsque les erreurs détectées doivent être corrigées, un délai supplémentaire est ajouté par l’opération de correction.

Sur les sorties des modules de détection et de correction du schéma sélectif (Fig. 8-12.d) il y a respectivement des données corrigées et non corrigées. Ces sorties sont multiplexées avant que les données arrivent à l’interface en aval. Le multiplexeur est commandé par une bascule qui est mise à 1 par une décision de correction et remise à 0 lorsque la transmission se termine. Lorsque la bascule est activée, la sortie du module de correction est transmise à l’interface aval. Dans l’autre cas, les données non corrigées à la sortie du module de détection sont transmises. Par conséquent, une fois qu’un flit est corrigé, tous les flits suivants sont retardés d’un cycle d’horloge supplémentaire et l’omission de l’étape de correction devient possible après la fin de la transmission. Ainsi, le schéma sélectif a une latence similaire avec celle de FEC, lorsque la correction est nécessaire, et plus faible autrement.

Les schémas E2E (Fig. 8-12.e-h) fonctionnent selon le même principe que les schémas S2S, mais seulement aux nœuds d’extrémité (c’est-à-dire entre la source et la destination des messages). Dans les schémas de bout-à-bout, les mêmes modules sont toujours présents à chaque routeur connecté à une interface réseau (NI), mais ils ne fonctionnent pas à moins qu’ils appartiennent au nœud source ou au nœud destination du message courant, en réduisant ainsi la latence du message. Pour les demandes de retransmission, à la différence du cas S2S, des fils dédiés ne doivent pas être ajoutés dans le NoC. Au lieu d’avoir du matériel supplémentaire, la demande de retransmission est réalisée par des messages qui transitent par le NoC.

Dans tous les schémas de contrôle d’erreurs, les fils de contrôle contenant des informations critiques sont protégés grâce à la redondance modulaire triple (TMR) et le vote majoritaire.

Pour la détection d’erreurs, des codes de détection d’erreurs simples et doubles sont utilisés. Pour la correction, des codes de correction d’erreurs simples sont utilisés.

Pour faire face à des erreurs multiples, des techniques qui appliquent des codes simples détecteurs / correcteurs sur des blocs ou des groupes entrelacés de bits sont utilisées pour obtenir des codes avec des distances de Hamming plus grandes (comme indiqué dans la sous-section 6.2.3.1, pour les codes de parité). La façon dont les groupes sont formés influe sur la distribution des erreurs dans les motifs. Par exemple, la diaphonie induite par des erreurs multiples affecte habituellement les fils adjacents et l’entrelacement des codes SEC (c.-à-d. des fils adjacents sont dans des groupes différents) corrige toutes ces erreurs.

Néanmoins, tout autre type de codes à distance plus élevée peut également être utilisé à la place du bloc/entrelacement des codes simples.

Documents relatifs