FR3057127A1 - Processeur adapte pour un reseau ethernet commute deterministe - Google Patents

Processeur adapte pour un reseau ethernet commute deterministe Download PDF

Info

Publication number
FR3057127A1
FR3057127A1 FR1659601A FR1659601A FR3057127A1 FR 3057127 A1 FR3057127 A1 FR 3057127A1 FR 1659601 A FR1659601 A FR 1659601A FR 1659601 A FR1659601 A FR 1659601A FR 3057127 A1 FR3057127 A1 FR 3057127A1
Authority
FR
France
Prior art keywords
processor
frame
calculation group
core
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1659601A
Other languages
English (en)
Other versions
FR3057127B1 (fr
Inventor
Adrien GAUFFRIAU
Benoit Triquet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus Operations SAS
Original Assignee
Airbus Operations SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Airbus Operations SAS filed Critical Airbus Operations SAS
Priority to FR1659601A priority Critical patent/FR3057127B1/fr
Priority to CN201710855968.6A priority patent/CN107920035B/zh
Priority to US15/714,625 priority patent/US10356009B2/en
Publication of FR3057127A1 publication Critical patent/FR3057127A1/fr
Application granted granted Critical
Publication of FR3057127B1 publication Critical patent/FR3057127B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

Processeur à cœurs multiples (10) destiné à être connecté par l'intermédiaire de ports de communication à un réseau Ethernet commuté déterministe (11) utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15), ledit processeur (10) comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de cœurs caractérisé en ce que au moins un groupe de calcul dudit processeur (10) implémente une fonction de commutateur permettant d'interconnecter lesdits équipements dans ledit réseau (11), au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d'émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur (10) implémente une application.

Description

® RÉPUBLIQUE FRANÇAISE
INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE © N° de publication :
(à n’utiliser que pour les commandes de reproduction)
©) N° d’enregistrement national
057 127
59601
COURBEVOIE © Int Cl8 : H 04 L 29/06 (2017.01)
DEMANDE DE BREVET D'INVENTION
A1
©) Date de dépôt : 05.10.16. (© Demandeur(s) : AIRBUS OPERATIONS Société par
(© Priorité : actions simplifiée — FR.
@ Inventeur(s) : GAUFFRIAU ADRIEN et TRIQUET
BENOIT.
(43) Date de mise à la disposition du public de la
demande : 06.04.18 Bulletin 18/14.
©) Liste des documents cités dans le rapport de
recherche préliminaire : Se reporter à la fin du
présent fascicule
(© Références à d’autres documents nationaux ® Titulaire(s) : AIRBUS OPERATIONS Société par
apparentés : actions simplifiée.
©) Demande(s) d’extension : © Mandataire(s) : CABINET LE GUEN ET MAILLET
Société civile professionnelle.
PT PROCESSEUR ADAPTE POUR UN RESEAU ETHERNET COMMUTE DETERMINISTE.
FR 3 057 127 - A1 _ Processeur à coeurs multiples (10) destiné à être connecté par l'intermédiaire de ports de communication à un réseau Ethernet commuté déterministe (11) utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15), ledit processeur (10) comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de coeurs caractérisé en ce que au moins un groupe de calcul dudit processeur (10) implémente une fonction de commutateur permettant d'interconnecter lesdits équipements dans ledit réseau (11), au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d'émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur (10) implémente une application.
PROCESSEUR ADAPTE POUR UN RESEAU ETHERNET COMMUTE DETERMINISTE
La présente invention concerne un processeur à cœurs multiples destiné à être utilisé dans un réseau Ethernet commuté déterministe et un réseau Ethernet commuté déterministe comprenant ledit processeur.
CONTEXTE DE L’INVENTION
L’invention est relative au domaine des réseaux de communication et plus particulièrement aux réseaux de communication embarqués dans les aéronefs.
Les aéronefs comportent généralement un ou plusieurs réseaux de communication embarqués prévus pour permettre des communications entre des équipements embarqués, en particulier des calculateurs embarqués tels que des LRU (« Line Replaceable Unit » en terminologie anglo-saxonne, unité remplaçable spécifique à une fonction) ou des LRM (« Line Replaceable Module » en terminologie anglo-saxonne, unité remplaçable générique). Afin de satisfaire à des exigences règlementaires en matière de certification des aéronefs, un réseau de communication embarqué doit être déterministe. Un réseau de communication est déterministe s’il permet une transmission d’informations entre des équipements connectés à ce réseau avec une durée de transmission (i.e. une latence) inférieure à une durée prédéterminée ainsi qu’une garantie de non perte d’informations durant la transmission. Le standard ARINC 664 part 7 définit un réseau de communication embarqué déterministe, basé sur une technologie Ethernet full-duplex. Un tel réseau peut par exemple correspondre à un réseau de communication AFDX®.
Un réseau conforme au standard ARINC 664 part 7 comprend au moins un commutateur (« switch » en terminologie anglo-saxonne) permettant d’interconnecter des équipements et des systèmes terminaux (« end System » en terminologie anglosaxonne) qui assurent des fonctions d’émission et de réception des données dans le réseau. Chaque communication entre des équipements du réseau emprunte des liens virtuels prédéfinis lors d’une configuration du réseau. Un lien virtuel est défini entre un équipement émetteur et un ou plusieurs équipements récepteurs, via un ou plusieurs commutateurs du réseau. Toutes communications entre équipements sont définies à l’avance, par la définition des liens virtuels, afin de permettre une configuration des commutateurs. Chaque commutateur comporte une table de configuration prédéfinie en fonction des liens virtuels transitant par ce commutateur.
Un commutateur comporte généralement un nombre important de ports de communication, tels que des ports Ethernet, par exemple 24 ports pour certains commutateurs. Or, plus le nombre de ports de communication du commutateur est élevé, plus le nombre de liens virtuels susceptibles de transiter par ce commutateur est élevé et plus la table de configuration est complexe et de taille importante. Etant donnée la complexité d’un tel commutateur, afin de respecter des exigences en particulier en matière de temps de latence, ce commutateur est généralement mis en œuvre au moyen d’un dispositif électronique spécifique. Il en va de même des systèmes terminaux.
Un aéronef moderne peut comporter un nombre élevé de dispositifs spécifiques implémentant des commutateurs ou des systèmes terminaux. Il en résulte une masse, un encombrement et une consommation électrique qu’il serait intéressant de réduire afin d’améliorer les performances de l’aéronef.
Il existe des solutions alternatives utilisant des processeurs et des contrôleurs Ethernet génériques. Mais ces solutions ne permettent pas d’atteindre des débits suffisants.
Il est souhaitable de pallier ces inconvénients de l’état de la technique. Il est notamment souhaitable de proposer un système permettant de réduire le coût et le poids des réseaux Ethernet commutés déterministes utilisant des liens virtuels tout en atteignant des débits suffisants. Il est de plus souhaitable de définir un système adapté pour héberger des applications, des systèmes terminaux et au moins un commutateur dans un unique équipement.
EXPOSE DE L’INVENTION
Selon un aspect de la présente invention, la présente invention concerne un dispositif de type processeur à cœurs multiples destiné à être connecté par l’intermédiaire de ports de communication à un réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements, ledit processeur comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de cœurs, caractérisé en ce qu’au moins un groupe de calcul dudit processeur implémente une fonction de commutateur permettant d’interconnecter lesdites équipements dans ledit réseau, au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d’émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur implémente une application.
De cette manière, un même processeur implémente au moins une fonction de commutateur, au moins une fonction de système terminal et au moins une application, ce qui réduit considérablement le poids, l’encombrement, et le coût lié à la mise en œuvre de telles fonctions et applications.
Selon un mode de réalisation, chaque groupe de calcul implémentant une fonction de commutateur est un groupe de calcul applicatif dudit processeur apte à mettre en œuvre des applications, au moins un premier cœur de chaque groupe de calcul implémentant une fonction de commutateur est alloué à une fonction de routage de trames reçues sur un port de communication dudit processeur, la fonction de routage comprenant une analyse de chaque trame reçue et une utilisation d’une table de routage statique prédéfinie pour déterminer, pour chaque trame reçue, un port de communication dudit processeur sur lequel chaque trame doit être émise, et un deuxième cœur du groupe de calcul implémentant une fonction de commutateur est alloué à une fonction d’émission de chaque trame reçue sur le port de communication déterminé.
Selon un mode de réalisation, chaque premier cœur fournit chaque trame reçue à émettre au deuxième cœur par l’intermédiaire d’une file d’attente mémoire de type premier entré premier sorti.
Selon un mode de réalisation, chaque groupe de calcul implémentant une fonction de système terminal comprend une partie réception, ladite partie réception étant implémentée par un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, suite à une réception d’une trame dans une mémoire interne du groupe de calcul implémentant la partie réception de la fonction de système terminal, un premier, un deuxième et un troisième dudit groupe de calcul mettent en œuvre la partie réception du système terminal.
Selon un mode de réalisation, le premier cœur analyse un entête de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse d’une zone mémoire tampon dans une mémoire externe audit processeur devant être utilisée pour stocker ladite trame, le deuxième cœur assure une fonction de transfert de la trame entre la mémoire interne dudit groupe de calcul et la mémoire externe.
Selon un mode de réalisation, le troisième cœur met en œuvre un service de requêtes permettant à des groupes de calcul applicatifs dudit processeur mettant en œuvre des applications d’accéder, par l’intermédiaire du groupe de calcul implémentant la partie réception de la fonction de système terminal, à la mémoire externe pour y récupérer des données au moment où l’application en a besoin.
Selon un mode de réalisation, chaque groupe de calcul implémentant une fonction de système terminal comprend une partie émission, ladite partie émission utilisant un calendrier partagé stocké dans une mémoire interne d’un groupe de calcul entrée/sortie dudit processeur dédié à des communications avec des ressources externes au processeur, ledit calendrier comprenant une succession de périodes de temps, chaque période de temps pouvant être associée à un ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps, ledit calendrier étant renseigné par des applications mises en œuvre par des groupes de calcul applicatifs dudit processeur et étant lu par un cœur de groupe de calcul implémentant la partie émission de la fonction de système terminal qui prend en charge chaque émission de trame devant être effectuée lorsqu’à un instant courant le calendrier indique qu’une émission de trame doit être effectuée.
Selon un deuxième aspect de l’invention, l’invention concerne un système de type réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements comprenant un dispositif selon le premier aspect.
Selon un troisième aspect de l’invention, l’invention concerne un véhicule comprenant un système selon le deuxième aspect.
Selon un mode de réalisation, le véhicule est un aéronef.
BREVE DESCRIPTION DES DESSINS
Les caractéristiques de la présente invention mentionnées ci-dessus, ainsi que d’autres, apparaîtront plus clairement à la lecture de la description suivante d’un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :
- la Fig. 1 illustre schématiquement un exemple de véhicule dans lequel est mise en œuvre l’invention ;
- la Fig. 2 illustre schématiquement un exemple de processeur manycore ;
- la Fig. 3 illustre schématiquement un exemple de groupe de calcul ;
- La Fig. 4A illustre schématiquement des mécanismes mis en œuvre par un processeur manycore lors d’une réception d’une trame par une fonction de terminal ;
- la Fig. 4B illustre schématiquement un transfert d’une trame vers un groupe de calcul applicatif ;
- la Fig. 5A illustre schématiquement un procédé mis en œuvre par un cœur applicatif d’un groupe de calcul applicatif mettant en œuvre une application lors d’une émission d’une trame par ledit groupe de calcul applicatif ;
- La Fig. 5B illustre schématiquement un procédé mis en œuvre par un cœur entrée/sortie d’un groupe de calcul entrée/sortie lors d’une émission d’une trame par un groupe de calcul applicatif ; et,
- La Fig. 6 illustre schématiquement des mécanismes mis en œuvre par le processeur manycore lors d’une mise en œuvre d’une fonction de commutateur par un groupe de calcul applicatif.
DESCRIPTION DETAILLEE DE DIVERS MODES DE REALISATION
La description détaillée ci-après s’attache à décrire un mode de réalisation de la présente invention dans un contexte d’aéronef comprenant un réseau Ethernet commuté déterministe utilisant des liens virtuels conforme au standard ARFNC 664 part 7. Les principes de la présente invention s’appliquent cependant dans un contexte plus large et pourraient s’appliquer à d’autres types de véhicules tels qu’un bateau, un drone, un véhicule automobile, comprenant un tel réseau. Par ailleurs, l’invention s’applique à tous types de réseaux Ethernet déterministes utilisant des liens virtuels, ces réseaux n’étant pas nécessairement conformes au standard ARFNC 664 part 7. L’invention pourrait aussi être mise en œuvre dans un autre contexte qu’un véhicule, sur tous dispositifs ou appareils comprenant un réseau Ethernet commuté déterministe utilisant des liens virtuels.
La Fig. 1 illustre schématiquement un exemple de véhicule dans lequel est mise en œuvre l’invention. Ledit véhicule est un aéronef 2. Cet aéronef 2 comprend une unité de traitement 1 comprenant un processeur 10. Le processeur 10 est un processeur à cœurs multiples. Comme nous le décrivons par la suite, le processeur 10 met en œuvre des fonctions diverses dont des applications, des fonctions de systèmes terminaux et au moins une fonction de commutateur. Ce processeur est connecté à un réseau Ethernet commuté déterministe utilisant des liens virtuels 11 conforme au standard ARINC 664 part 7. Des équipements embarqués 12, 13, 14, et 15 sont eux aussi reliés audit réseau Ethernet.
On distingue deux types de processeurs à cœurs multiples : les processeurs dits nombreux cœurs (plus connus sous l’appellation anglo-saxonne « manycore ») et les processeurs multiple cœurs (« multicore » en terminologie anglo-saxonne). Les processeurs manycore diffèrent des processeurs multicore dans le nombre de cœurs dans un même processeur. Ainsi un ordre de grandeur du nombre de cœurs dans un processeur multicore est une dizaine de cœurs alors qu’un processeur manycore peut contenir une centaine voire un millier de cœurs. Les processeurs manycore et multicore ont ainsi des architectures différentes, adaptées au nombre de cœurs.
En général, les processeurs manycore sont organisés en groupes de calcul (cluster en terminologie anglo-saxonne) regroupant plusieurs cœurs partageant des ressources locales au groupe de calcul. Les groupes de calcul d’un processeur manycore peuvent communiquer entre eux et avec des ressources extérieures au groupe de calcul en utilisant un réseau interne au processeur appelé réseau sur puce (« Network on Chip (NoC) » en terminologie anglo-saxonne). Un réseau sur puce NoC peut par exemple être un réseau maillé.
Certaines topologies de processeurs manycore comportent deux types de groupes de calcul : les groupes de calcul applicatifs dédiés à des exécutions d’applications et les groupes de calcul entrée/sortie dédiés à des communications avec des ressources externes au processeur.
La description détaillée ci-après s’attache à décrire un mode de réalisation de la présente invention utilisant un processeur manycore. Les principes de la présente invention s’appliquent cependant dans un contexte plus large et pourraient s’appliquer à des processeurs multicore.
La Fig. 2 illustre schématiquement un exemple de processeur manycore 10.
Le processeur manycore 10 comprend une pluralité de groupes de calcul applicatifs 200 à 215 (ici « 16» groupes de calcul applicatifs) et une pluralité de groupes de calcul entrée/sortie 100 à 115 (ici « 16 » groupes de calcul entrée/sortie). Au moins un des groupes de calcul entrée/sortie est adapté pour communiquer avec une mémoire externe 300 par exemple de type DDR SDRAM (« Double data Rate Synchronous Dynamic Random Access Memory » en terminologie anglo-saxonne :
mémoire à accès aléatoire dynamique synchronisé à débit doublé). Les communications entre les groupes de calculs (applicatifs et/ou entrée/sortie) utilisent un réseau sur puce NoC maillé. Dans ce réseau sur puce NoC maillé, chaque groupe de calcul applicatif est relié à « 4 » autres groupes de calcul (applicatifs et/ou entrée/sortie) et chaque groupe de calcul entrée/sortie est relié à un groupe de calcul applicatif. Chaque groupe de calcul entrée/sortie comprend une pluralité de cœurs, dits cœurs entrée/sortie.
Le processeur manycore 10 comprend une pluralité de ports de communication externe non représentés dont des ports Ethernet qui sont des interfaces physiques entre le processeur manycore 10 et le réseau Ethernet commuté déterministe utilisant des liens virtuels 11.
La Fig. 3 illustre schématiquement un exemple de groupe de calcul applicatif
200.
Le groupe de calcul applicatif 200 comprend « 16 » cœurs numérotés de 2000 à 2015, dits cœurs applicatifs, une mémoire interne partagée 2016, et un cœur de gestion de ressources 2017. Le cœur de gestion de ressources 2017 possède des privilèges qui permettent de configurer différentes ressources du groupe de calcul applicatif 200 et notamment de configurer le réseau sur puce NoC. Tous les groupes de calcul du processeur manycore 10 sont supposés identiques au groupe de calcul applicatif 200.
Dans le processeur 10, au moins un cœur entrée/sortie exécute un processus maître engendrant des processus esclaves. Chaque processus esclave est exécuté par un groupe de calcul applicatif. Lorsqu’un groupe de calcul applicatif met en œuvre une application, au moins un cœur applicatif de ce groupe prend en charge une exécution de ladite application. Lorsque l’application est décomposée en plusieurs tâches parallèles (« multithread » en terminologie anglo-saxonne), plusieurs cœurs applicatifs du groupe de calcul applicatif peuvent être impliqués parallèlement dans l’exécution de ladite application. Les cœurs applicatifs se partagent la mémoire interne du groupe de calcul applicatif auquel ils appartiennent lors de l’exécution des tâches.
Comme dit plus haut, le processeur manycore 10 implémente au moins une fonction de commutateur. Chaque fonction de commutateur est implémentée par un groupe de calcul applicatif. La fonction de commutateur est implémentée de manière distribuée par une pluralité de cœurs applicatifs.
Un but de la fonction de commutateur est de recevoir des trames conformes au standard ARINC 664 part 7, appelées simplement trames par la suite, sur un port de communication Ethernet du processeur manycore 10, d’analyser ces trames et de les renvoyer sur des ports de communication Ethernet du processeur manycore 10 définis dans une table de routage statique. Les trames sont reçues en provenance d’un équipement embarqué connecté au réseau Ethernet commuté déterministe utilisant des liens virtuels 11 et émises en direction d’un autre équipement embarqué connecté audit réseau Ethernet 11.
Dans un réseau conforme au standard ARINC 664 part 7, des données provenant d’équipements embarqués différents ou d’applications différentes circulent. Ces équipements embarqués ou applications ont des niveaux de criticité (« Development Assurance Level (DAL) » en terminologie anglo-saxonne) qui peuvent être différents. Il est souhaitable d’éviter qu’un équipement embarqué ou une application de niveau de criticité faible vienne perturber des données d’un autre équipement embarqué ou d’une autre application ayant un niveau de criticité élevé. Afin d’éviter ces perturbations, une ségrégation spatiale forte est assurée entre les trames reçues ou transmises par chacun des ports de communication Ethernet. Pour ce faire, au moins deux cœurs applicatifs sont alloués à chaque port. Par ailleurs, on attribue des espaces mémoires qui sont différents pour les données de chacun des ports. De plus on attribue des privilèges pour chaque processeur traitant les données d’un port. Si un processeur tente d’accéder à une zone mémoire d’un autre port, il y a aura une exception matérielle qui sera levée. On garantit ainsi un isolement des données. Cette ségrégation spatiale permet d’isoler des problèmes pouvant survenir sur un port de communication Ethernet de manière à ce que ces problèmes n’affectent pas d’autres ports de communication Ethernet.
Au moins un premier cœur applicatif implémentant le commutateur est alloué à une fonction de routage des trames. Lors d’une réception d’une trame sur un port de communication Ethernet du processeur manycore 10, le premier cœur applicatif analyse ladite trame, et utilise une table de routage statique prédéfinie pour déterminer, pour chaque trame, le port de communication Ethernet sur lequel chaque trame doit être émise.
Un deuxième cœur applicatif du groupe de calcul applicatif implémentant le commutateur est alloué à une fonction d’émission desdites trames reçues sur le port de communication déterminé.
Chaque premier cœur applicatif fournit les trames à émettre au deuxième cœur applicatif par l’intermédiaire d’une file d’attente mémoire de type premier entré premier sorti (« First In, First Out (FIFO) » en terminologie anglo-saxonne). Plus précisément, chaque premier cœur dépose une information représentative de chaque trame à transmettre (i.e. dépose un pointeur sur une zone de la mémoire interne du groupe de calcul applicatif dans laquelle est stockée chaque trame à transmettre) dans la file d’attente. Le deuxième cœur applicatif vérifie la présence d’une information représentative d’une trame à émettre dans la file d’attente et lorsqu’au moins une information représentative d’une trame à émettre est présente, chaque trame à émettre correspondante est émise dans l’ordre d’insertion des informations représentatives des trames dans la file d’attente mémoire.
Dans un mode de réalisation, le deuxième cœur applicatif gère la libération des zones mémoire stockant des trames dans la mémoire interne du groupe de calcul applicatif lorsque chaque traitement devant être appliqué auxdites trames a été appliqué.
Dans un mode de réalisation, un troisième cœur applicatif, différent de chaque premier et du deuxième cœur applicatif, gère la libération des zones mémoires stockant des trames lorsque chaque traitement devant être appliqué auxdites trames a été appliqué.
On dit alors que le troisième cœur (ou le deuxième cœur) assure une fonction de « d’éboueur » (« garbage collector » en terminologie anglo-saxonne).
Dans un mode de réalisation, plusieurs groupes de calcul applicatifs du processeur manycore 10 implémentent chacun une fonction de commutateur différente.
La Fig· 6 illustre schématiquement des mécanismes mis en œuvre par le processeur manycore 10 lors d’une mise en œuvre d’une fonction de commutateur par un groupe de calcul applicatif.
Dans une étape 600, le processeur manycore 10 reçoit une trame sur un port de communication Ethernet. Ce port de communication Ethernet correspond à une interface physique sur un lien virtuel sur lequel est connecté l’équipement embarqué émetteur de la trame.
Dans une étape 601, la trame est transférée vers la mémoire interne du groupe de calcul applicatif hébergeant la fonction de commutateur. Ce transfert est assuré par une configuration statique d’un contrôleur d’accès direct en mémoire (« Direct Memory Access (DMA) » en terminologie anglo-saxonne) du processeur manycore 10 et en utilisant le réseau sur puce NoC.
ίο
Dans une étape 602, le premier cœur assurant la fonction de routage détermine le port de communication Ethernet sur lequel la trame doit être émise et met à disposition ladite trame au second cœur assurant la fonction d’émission par l’intermédiaire de la file d’attente mémoire destinée à cet effet.
Dans une étape 603, le deuxième cœur configure des mécanismes matériels du processeur 10 assurant le transfert de la trame de la mémoire interne du groupe de calcul applicatif vers le port Ethernet déterminé.
Dans une étape 604, lesdits mécanismes matériels émettent la trame sur le port de communication Ethernet déterminé. Ce port de communication Ethernet correspond à une interface physique sur un lien virtuel sur lequel est connecté l’équipement embarqué destinataire de la trame. La zone mémoire stockant la trame dans la mémoire interne du groupe de calcul applicatif hébergeant la fonction de commutateur est alors libérée.
Par ailleurs, le processeur manycore 10 implémente au moins une fonction de système terminal. Il faut alors distinguer une partie réception d’une partie émission d’un système terminal.
La partie réception d’un système terminal est implémentée par un groupe de calcul entrée/sortie. A l’image d’un groupe de calcul applicatif, un groupe de calcul entrée/sortie possède une mémoire interne partagée entre les cœurs de ce groupe de calcul entrée/sortie. Cette mémoire interne n’est pas suffisante pour recevoir un ensemble de trames devant être traitées par la fonction de système terminal. Chaque trame est donc reçue dans un premier temps dans des zones mémoires tampon typiquement appelées boîtes aux lettres (mailbox en terminologie anglo-saxonne) situées dans une mémoire externe au processeur manycore 10. L’implémentation d’un système terminal par un groupe de calcul entrée/sortie est justifiée par le fait que parmi tous les groupes de calcul constituant le processeur manycore 10, seuls les groupes de calcul entrée/sortie peuvent accéder rapidement et directement à la mémoire externe. Suite à cette réception dans une boîte aux lettres, chaque trame est prise en charge par des mécanismes matériels (« hardware » en terminologie anglosaxonne) qui viennent écrire la trame dans la mémoire interne du groupe de calcul entrée/sortie.
Suite à cette écriture de la trame en mémoire interne du groupe de calcul entrée/sortie, un premier, un deuxième et un troisième cœurs du groupe de calcul entrée/sortie mettent en œuvre la partie réception du système terminal.
Le premier cœur analyse un entête MAC (« Medium Access Control » en terminologie anglo-saxonne, contrôle d’accès au médium) de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse de boîte aux lettres devant être utilisée pour stocker la trame.
Le premier cœur communique avec le deuxième cœur par l’intermédiaire d’une file d’attente mémoire de type premier entré premier sorti (FIFO). A l’aide de cette file d’attente mémoire, le premier cœur communique au deuxième cœur une adresse en mémoire interne du groupe de calcul entrée/sortie de la trame et une adresse en mémoire externe de la boîte aux lettres devant être utilisée pour stocker la trame.
Le deuxième cœur assure une fonction de transfert de la trame entre la mémoire interne du groupe de calcul entrée/sortie et la mémoire externe, i.e. entre l’adresse en mémoire interne du groupe de calcul entrée/sortie et l’adresse en mémoire externe.
Le troisième cœur met en œuvre un service de requêtes conformes au standard ARFNC 664 part 7 permettant aux groupes de calcul applicatifs du processeur manycore 10 mettant en œuvre des applications d’accéder, par l’intermédiaire du groupe de calcul entrée/sortie, à la mémoire externe pour y récupérer des données au moment où l’application en a besoin. Lorsqu’une application mise en œuvre par un groupe de calcul applicatif doit récupérer une donnée dans la mémoire externe, il transmet une requête au groupe de calcul entrée/sortie par l’intermédiaire du réseau sur puce NoC. Le groupe de calcul entrée/sortie accède alors à la mémoire externe pour y récupérer la donnée souhaitée et retransmet cette donnée vers le groupe de calcul applicatif par l’intermédiaire du réseau sur puce NoC.
La Fig. 4A illustre schématiquement des mécanismes mis en œuvre par le processeur 10 lors d’une réception d’une trame par la fonction de terminal.
Dans une étape 400, le processeur manycore 10, par l’intermédiaire d’un port de communication Ethernet, reçoit une trame.
Dans une étape 401, la trame est transférée du port de communication Ethernet vers la mémoire interne d’un groupe de calcul entrée/sortie. Ce transfert est assuré par une configuration statique d’un contrôleur d’accès direct en mémoire (« Direct Memory Access (DMA) » en terminologie anglo-saxonne) du processeur manycore 10 et en utilisant le réseau sur puce NoC.
Dans une étape 402, un premier cœur entrée/sortie du groupe de calcul entrée/sortie analyse l’entête MAC et utilise une table de configuration prédéfinie pour déterminer l’adresse de la boîte aux lettres devant être utilisée pour stocker la trame. Lors de l’étape 402, l’adresse en mémoire interne de la trame et l’adresse en mémoire externe de la boîte aux lettres devant être utilisée pour stocker la trame sont inscrites par le premier cœur entrée/sortie dans la file d’attente mémoire destinée à cet effet.
Dans une étape 403, un deuxième cœur entrée/sortie du groupe de calcul entrée/sortie effectue le transfert entre la mémoire interne du groupe de calcul entrée/sortie et la boîte aux lettres déterminée en mémoire externe. Pour ce faire, le deuxième cœur entrée/sortie consulte le contenu de la file d’attente mémoire.
La Fig. 4B illustre schématiquement un transfert d’une trame vers un groupe de calcul applicatif.
Dans une étape 410, le troisième cœur du groupe de calcul entrée/sortie mettant en œuvre le service de requêtes conformes au standard ARINC 664 part 7 reçoit une requête conforme au standard ARINC 664 part 7 en provenance d’un groupe de calcul applicatif mettant en œuvre une application. Cette requête indique un numéro de boîte aux lettres dont l’application souhaite récupérer les données.
Dans une étape 411, le troisième cœur configure des mécanismes matériels du processeur 10 tels que le contrôleur d’accès direct en mémoire (DMA) et le réseau sur puce NoC pour qu’ils prennent en charge le transfert effectif de la trame de la boîte aux lettres stockant la trame vers le groupe de calcul applicatif ayant effectué la requête.
Dans une étape 412, les mécanismes matériels mettent en œuvre le transfert de la trame.
La partie émission d’un terminal utilise un calendrier partagé comprenant une succession de périodes de temps. Dans ce calendrier partagé, chaque période de temps peut être associée à un ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps.
Le calendrier partagé est renseigné par des applications mises en œuvre par des groupes de calcul applicatifs. Lorsqu’une application souhaite émettre une trame, elle met en œuvre un mécanisme d’émission.
Dans une première étape du mécanisme d’émission, l’application positionne la trame depuis une boîte aux lettres contenant la trame vers la mémoire interne du groupe de calcul applicatif mettant en œuvre l’application. L’application utilise pour cela des mécanismes matériels du processeur 10 tels que le contrôleur d’accès direct en mémoire (DMA) et le réseau sur puce NoC. Chaque lien virtuel est associé à une file d’attente mémoire de type premier entré premier sorti.
Suite au positionnement de la trame dans la mémoire interne du groupe de calcul applicatif, dans une deuxième étape du mécanisme d’émission, l’application poste une requête dans la file d’attente mémoire associée au lien virtuel concerné par ladite émission. La requête indique un identifiant de la boîte aux lettres qui doit être utilisée.
Dans une troisième étape du mécanisme d’émission, le cœur de gestion de ressources du groupe de calcul applicatif vient ensuite positionner dans la boîte aux lettres concernée, la trame à émettre, ainsi qu’une information comprenant une adresse de ladite boîte aux lettres à un instant d’émission souhaité dans le calendrier partagé afin d’indiquer qu’une émission est à effectuer audit instant sur le lien virtuel concerné.
Le calendrier partagé est stocké dans la mémoire interne d’un groupe de calcul entrée/sortie. Ce calendrier est lu par un cœur entrée/sortie dédié dudit groupe de calcul entrée/sortie. Lorsqu’à un instant courant, le calendrier indique qu’une émission de trame doit être effectuée sur un lien virtuel donné, le cœur entrée/sortie dédié prend en charge ladite émission. Pour ce faire, ledit cœur entrée/sortie configure un mécanisme matériel du processeur 10 qui va émettre les données utiles sur un port Ethernet correspondant au lien virtuel.
La Fig. 5A illustre schématiquement un procédé mis en œuvre par un cœur applicatif d’un groupe de calcul applicatif mettant en œuvre une application lors d’une émission d’une trame par ledit groupe de calcul applicatif.
Dans une étape 500 (première étape du mécanisme d’émission), le cœur applicatif du groupe de calcul applicatif mettant en œuvre l’application transfère une trame à émettre dans la mémoire interne dudit groupe applicatif.
Dans une étape 501 (deuxième étape du mécanisme d’émission), le cœur applicatif poste une requête dans la file d’attente mémoire associée au lien virtuel concerné par ladite émission.
Dans une étape 502, (troisième étape du mécanisme d’émission) le cœur de gestion de ressource dudit groupe de calcul applicatif positionne la trame à émettre dans la boîte aux lettres concernée par l’émission et inscrit une information comprenant une adresse de ladite boîte aux lettres à un instant d’émission souhaité dans le calendrier partagé.
La Fig. 5B illustre schématiquement un procédé mis en œuvre par un cœur entrée/sortie d’un groupe de calcul entrée/sortie lors d’une émission d’une trame par un groupe de calcul applicatif.
Dans une étape 510, le cœur entrée/sortie du groupe de calcul entrée/sortie 5 procède à la lecture du calendrier. Cette étape est réalisée en temps réel et en continu par le cœur entrée/sortie. Lorsque, lors de la lecture du calendrier, à un instant courant, une information comprenant une adresse d’une boîte aux lettres contenant une trame à transmettre est indiquée, le cœur entrée/sortie passe à une étape 511.
Lors de l’étape 511, le cœur entrée/sortie configure des mécanismes matériels 10 du processeur 10 mettant effectivement en œuvre l’émission de la trame.
Dans une étape 512, les mécanismes matériels mettent effectivement en œuvre l’émission de la trame.

Claims (10)

  1. REVENDICATIONS
    1) Dispositif de type processeur à cœurs multiples (10) destiné à être connecté par l’intermédiaire de ports de communication à un réseau Ethernet commuté déterministe (11) utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15), ledit processeur (10) comprenant une pluralité de groupes de calcul comprenant chacun une pluralité de cœurs, caractérisé en ce qu’au moins un groupe de calcul dudit processeur (10) implémente une fonction de commutateur permettant d’interconnecter lesdits équipements dans ledit réseau (11), au moins un groupe de calcul dudit processeur implémente une fonction de système terminal assurant des fonctions d’émission et de réception de données dans le réseau et au moins un groupe de calcul dudit processeur (10) implémente une application.
  2. 2) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de calcul implémentant une fonction de commutateur est un groupe de calcul applicatif dudit processeur (10) apte à mettre en œuvre des applications, au moins un premier cœur de chaque groupe de calcul implémentant une fonction de commutateur est alloué à une fonction de routage de trames reçues sur un port de communication dudit processeur, la fonction de routage comprenant une analyse de chaque trame reçue et une utilisation d’une table de routage statique prédéfinie pour déterminer, pour chaque trame reçue, un port de communication dudit processeur (10) sur lequel chaque trame doit être émise, et un deuxième cœur du groupe de calcul implémentant une fonction de commutateur est alloué à une fonction d’émission de chaque trame reçue sur le port de communication déterminé.
  3. 3) Dispositif selon la revendication 2, caractérisé en ce que chaque premier cœur fournit chaque trame reçue à émettre au deuxième cœur par l’intermédiaire d’une file d’attente mémoire de type premier entré premier sorti.
  4. 4) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de calcul implémentant une fonction de système terminal comprend une partie réception, ladite partie réception étant implémentée par un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, suite à une réception d’une trame dans une mémoire interne du groupe de calcul implémentant une partie réception d’une fonction de système terminal, un premier, un deuxième et un troisième cœur dudit groupe de calcul mettent en œuvre la partie réception du système terminal.
  5. 5) Dispositif selon la revendication 4, caractérisé en ce que le premier cœur analyse un entête de la trame et fait une recherche dans une table de configuration prédéfinie afin de déterminer une adresse d’une zone mémoire tampon dans une mémoire externe audit processeur (10) devant être utilisée pour stocker ladite trame, le deuxième cœur assure une fonction de transfert de la trame entre la mémoire interne dudit groupe de calcul et la mémoire externe.
  6. 6) Dispositif selon la revendication 4 ou 5, caractérisé en ce que le troisième cœur met en œuvre un service de requêtes permettant à des groupes de calcul applicatifs du processeur (10) mettant en œuvre des applications d’accéder, par l’intermédiaire du groupe de calcul implémentant la partie réception de la fonction de système terminal, à la mémoire externe pour y récupérer des données au moment où l’application en a besoin.
  7. 7) Dispositif selon la revendication 1, caractérisé en ce que chaque groupe de calcul implémentant une fonction de système terminal comprend une partie émission, ladite partie émission utilisant un calendrier partagé stocké dans une mémoire interne d’un groupe de calcul entrée/sortie du processeur (10) dédié à des communications avec des ressources externes au processeur, ledit calendrier comprenant une succession de périodes de temps, chaque période de temps pouvant être associée à un ou plusieurs liens virtuels sur lesquels des trames doivent être émises pendant ladite période de temps, ledit calendrier étant renseigné par des applications mises en œuvre par des groupes de calcul applicatifs dudit processeur (10) et étant lu par un cœur de groupe de calcul implémentant la partie émission de la fonction de système terminal qui prend en charge chaque émission de trame devant être effectuée lorsqu’à un instant courant le calendrier indique qu’une émission de trame doit être effectuée.
  8. 8) Système de type réseau Ethernet commuté déterministe utilisant des liens virtuels sur lequel sont connectés des équipements (12, 13, 14, 15) comprenant un dispositif selon l’une quelconque des revendications 1 à 7.
  9. 9) Véhicule comprenant un système selon la revendication 8.
  10. 10) Véhicule selon la revendication 9, caractérisé en ce que le véhicule est un aéronef (2).
    1/4
    2/4
FR1659601A 2016-10-05 2016-10-05 Processeur adapte pour un reseau ethernet commute deterministe Active FR3057127B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1659601A FR3057127B1 (fr) 2016-10-05 2016-10-05 Processeur adapte pour un reseau ethernet commute deterministe
CN201710855968.6A CN107920035B (zh) 2016-10-05 2017-09-21 用于确定***换式以太网的多核处理器类型装置、***及运载工具
US15/714,625 US10356009B2 (en) 2016-10-05 2017-09-25 Processor designed for a deterministic switched ethernet network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1659601 2016-10-05
FR1659601A FR3057127B1 (fr) 2016-10-05 2016-10-05 Processeur adapte pour un reseau ethernet commute deterministe

Publications (2)

Publication Number Publication Date
FR3057127A1 true FR3057127A1 (fr) 2018-04-06
FR3057127B1 FR3057127B1 (fr) 2019-04-19

Family

ID=57960540

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1659601A Active FR3057127B1 (fr) 2016-10-05 2016-10-05 Processeur adapte pour un reseau ethernet commute deterministe

Country Status (3)

Country Link
US (1) US10356009B2 (fr)
CN (1) CN107920035B (fr)
FR (1) FR3057127B1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3107375B1 (fr) * 2020-02-14 2022-04-08 Safran Electronics & Defense Procede de transmission de donnees et puce electronique de type manycore
CN115794732B (zh) * 2023-01-29 2023-07-04 北京超摩科技有限公司 一种基于芯粒的片上网络和封装上网络分层互连***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179528A1 (en) * 2012-01-11 2013-07-11 Bae Systems Controls, Inc. Use of multicore processors for network communication in control systems
US20140215491A1 (en) * 2011-01-14 2014-07-31 Cisco Technology, Inc. System and method for internal networking, data optimization and dynamic frequency selection in a vehicular environment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2905047B1 (fr) * 2006-08-17 2008-11-14 Airbus France Sas Reseau afdx supportant une pluralite de classes de service
FR2914519B1 (fr) * 2007-03-26 2009-06-12 Airbus France Sas Procede de controle d'integrite des donnees dans un reseau afdx.
CN101197782B (zh) * 2007-12-26 2010-06-09 中兴通讯股份有限公司 一种基于多核处理器的网络设备的控制方法及***
JP2013511857A (ja) * 2009-09-23 2013-04-04 エアロバイロメント,インコーポレイテッド 性能監視を使用するマルチパスネットワーク常用冗長性
CN102045250B (zh) * 2009-10-26 2012-05-23 杭州华三通信技术有限公司 Vpls中组播报文的转发方法和服务提供商边缘设备
CN101882127B (zh) * 2010-06-02 2011-11-09 湖南大学 一种多核心处理器
US10819791B2 (en) * 2013-10-11 2020-10-27 Ge Aviation Systems Llc Data communications network for an aircraft
EP2924934B1 (fr) * 2014-03-28 2018-09-26 Airbus Operations GmbH Commutateur ethernet et procédé permettant d'établir des motifs de réacheminement dans un commutateur ethernet
CN104077138B (zh) * 2014-06-27 2017-08-29 中国科学院计算技术研究所 一种集成网络路由器的众核处理器***及其集成方法和实现方法
GB2532773A (en) * 2014-11-27 2016-06-01 Airbus Operations Sas Improvements in or relating to avionics networks
FR3034271B1 (fr) * 2015-03-26 2018-05-18 Airbus Operations (S.A.S.) Reseau de communication embarque d'un vehicule et commutateur d'un tel reseau de communication
US9762509B2 (en) * 2015-04-20 2017-09-12 Ge Aviation Systems Llc Apparatus and method of operating a network traffic policing module
FR3045256B1 (fr) * 2015-12-14 2017-12-08 Airbus Operations Sas Reseau de communication embarque d'un vehicule et abonne d'un tel reseau de communication
US10986028B2 (en) * 2016-03-05 2021-04-20 Ge Aviation Systems, Llc Aircraft message routing system
FR3050086A1 (fr) * 2016-04-11 2017-10-13 Airbus Operations Sas Reseau de communication embarque d'un aeronef et systeme de communication
US9967172B2 (en) * 2016-10-11 2018-05-08 Panasonic Avionics Corporation Methods and systems for content loading and offloading to and from a transportation vehicle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215491A1 (en) * 2011-01-14 2014-07-31 Cisco Technology, Inc. System and method for internal networking, data optimization and dynamic frequency selection in a vehicular environment
US20130179528A1 (en) * 2012-01-11 2013-07-11 Bae Systems Controls, Inc. Use of multicore processors for network communication in control systems

Also Published As

Publication number Publication date
CN107920035A (zh) 2018-04-17
CN107920035B (zh) 2020-07-24
US20180097747A1 (en) 2018-04-05
FR3057127B1 (fr) 2019-04-19
US10356009B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
US10986062B2 (en) Subscription transfer
US11036669B2 (en) Scalable direct inter-node communication over peripheral component interconnect-express (PCIe)
JP6514330B2 (ja) 複数のコンピュートサブシステムを備えるチップ上のシステム
KR101941416B1 (ko) 네트워킹 기술들
US9009648B2 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US10067741B1 (en) Systems and methods for I/O device logging
US20190044879A1 (en) Technologies for reordering network packets on egress
US8370855B2 (en) Management of process-to-process intra-cluster communication requests
US20180006970A1 (en) Technologies for scalable packet reception and transmission
US11863469B2 (en) Utilizing coherently attached interfaces in a network stack framework
WO2010139896A1 (fr) Procédé et dispositif de chargement et d'exécution d'instructions à cycles déterministes dans un système avionique multi-coeurs ayant un bus dont le temps d'accès est non prédictible
AU2014200239A1 (en) System and method for multiple sender support in low latency fifo messaging using rdma
US10917362B1 (en) Assisted sideband traffic management
US10609155B2 (en) Scalable self-healing architecture for client-server operations in transient connectivity conditions
JP2020035453A (ja) I/oステアリングエンジンを備えるシステムオンチップ
US11283723B2 (en) Technologies for managing single-producer and single consumer rings
FR3057127A1 (fr) Processeur adapte pour un reseau ethernet commute deterministe
EP3631639B1 (fr) Communications pour dispositif de réseau prédiffusé programmable par l'utilisateur
US8521895B2 (en) Management of application to application communication requests between data processing systems
US11405766B2 (en) Connecting computer processing systems and transmitting data
US20180267914A1 (en) Device interfacing
US10956256B2 (en) Targeted crash fixing on a client device
Balle et al. Inter-kernel links for direct inter-FPGA communication
EP3792759A1 (fr) Procédé d'accès aux ressources partagées d'une plateforme informatique, programme d'ordinateur et plate-forme informatique associés
US10901820B1 (en) Error state message management

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20180406

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8