FR2945394A1 - Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique. - Google Patents

Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique. Download PDF

Info

Publication number
FR2945394A1
FR2945394A1 FR0953077A FR0953077A FR2945394A1 FR 2945394 A1 FR2945394 A1 FR 2945394A1 FR 0953077 A FR0953077 A FR 0953077A FR 0953077 A FR0953077 A FR 0953077A FR 2945394 A1 FR2945394 A1 FR 2945394A1
Authority
FR
France
Prior art keywords
data
processing
logic
source data
specific
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
FR0953077A
Other languages
English (en)
Other versions
FR2945394B1 (fr
Inventor
Marc Battyani
Rolland Eric Le
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.)
Novasparks Fr
Original Assignee
HPC Platform 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 HPC Platform SAS filed Critical HPC Platform SAS
Priority to FR0953077A priority Critical patent/FR2945394B1/fr
Priority to US12/776,939 priority patent/US20100287294A1/en
Priority to EP10162456A priority patent/EP2251794A1/fr
Publication of FR2945394A1 publication Critical patent/FR2945394A1/fr
Application granted granted Critical
Publication of FR2945394B1 publication Critical patent/FR2945394B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Logic Circuits (AREA)

Abstract

La présente invention concerne un dispositif (110) de traitement à très faible latence de données sources (111, 111') relatives à des opérations spécifiques, ces données sources (111, 111') étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce qu'il comprend au moins un circuit logique (112) configuré pour traiter de façon autonome ces données sources (111, 111') au moyen d'une structure prédéterminée telle que la transmission des données (111, 111') dans cette structure permet d'effectuer la réception des paquets, le traitement de leurs données sources (111, 111') et l'émission de données finales (119, 119') générées par ce traitement.

Description

Dispositif de traitement à très faible latence de paquets de données propres à une application spécifique
La présente invention concerne un dispositif de traitement à très faible latence de paquets de données propres à une application spécifique, notamment à une application financière. L'art antérieur: Un nombre croissant d'innovations technologiques sont issues d'applications professionnelles dans lesquelles l'informatique est un outil de gestion et/ou de prise de décision. 10 Ainsi, les banques et les principaux acteurs financiers sont devenus des pôles de développement informatique reconnus tant par la qualité que par la quantité des investissements effectués dans la recherche technologique. De fait, le traitement des données financières requiert ainsi des systèmes informatiques particulièrement performants devant traiter, avec une 15 grande fiabilité, une quantité élevée de données en un temps connu et limité. A titre d'exemple, on connaît des serveurs de marchés financiers devant traiter un débit d'informations, pouvant atteindre plusieurs millions de paquets réseau par seconde, avec une grande fiabilité, comme décrit dans la 20 demande de brevet US 2008/0243675 Al. Par la suite, le délai de traitement d'un paquet de données par un dispositif est dénommé latence , une telle latence étant typiquement définie par une valeur moyenne, par un écart type et/ou par une valeur maximale. Dans un serveur visant à traiter des opérations financières, il est préfé- 25 rable que cette latence soit limitée et déterministe, c'est-à-dire déterminable en fonction de paramètres d'utilisation du dispositif, afin de traiter ces opérations selon des règles précises. De fait un serveur devant traiter des données financières, par exemple relatives à des opérations de bourse, doit respecter une chronologie5 d'arrivée pour faire correspondre des ordres de vente avec des ordres d'achat selon cette chronologie (gestion critique du carnet d'ordres) Toutefois, une telle chronologie ne peut pas être correctement respectée si ces ordres ne sont pas transmis et/ou traités avec des délais similaires.
De plus une latence importante dans le traitement des données se traduit par des pertes potentielles d'opportunités sur les marchés bousiers pour un utilisateur si, par exemple, son offre est traitée moins rapidement qu'une offre concurrente.
Le problème de l'art antérieur : Les dispositifs précédemment décrits présentent une latence, déterminée en considérant des durées moyennes de traitement observées sur plu-sieurs paquets, typiquement supérieure à plusieurs dizaines ou centaines de microsecondes.
En outre l'écart type de ces latences est relativement important et variable dans le temps, notamment en fonction du nombre de messages traités par un serveur pouvant se trouver débordé par un excès de messages. De fait, la latence d'une opération financière, c'est-à-dire la durée de son exécution par des dispositifs informatiques, résulte de l'addition des la- tences de tous les éléments mis en oeuvre pour l'exécution de cette opération. Donc plus ces latences présentent des variations aléatoires - qui dans certains cas s'ajoutent mais dans d'autres cas se compensent û et plus s'accroît l'écart type total de la latence de l'opération financière.
Il apparaît désormais que les délais de traitement des opérations financières traitées par des dispositifs connus, dont les plus performants présentent des latences de l'ordre de plusieurs dizaines ou centaines de microsecondes, sont élevés et varient de façon significative au point de dégrader les performances et le fonctionnement globaux des applications financières.
L'invention: L'invention résulte de la constatation que les dispositifs selon l'art antérieur présentent une latence, un écart-type et une divergence élevés du fait de l'utilisation de composants intégrés dont le fonctionnement global est aléatoire. Par exemple, la transmission de données dans un dispositif entre différents composants émetteurs et différents composants récepteurs, via un même bus de communication - bus de données, bus d'adresse et bus de contrôle û ou l'utilisation d'unités de contrôle - encore dénommés processeur ou CPU pour Central Processing Unit pour gérer la répartition ainsi que la synchronisation des ressources physiques et/ou logicielles de ce dis-positif - génère des délais aléatoires dans les transmissions et traitements de données.
C'est pourquoi, l'invention concerne un dispositif de traitement à très faible latence de données sources relatives à des opérations spécifiques, ces données sources étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propre aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce qu'il comprend un circuit logique configuré pour traiter de façon auto-nome ces données sources au moyen d'une structure prédéterminée telle que la transmission des données dans cette structure permet d'effectuer la réception des paquets, le traitement de leurs données sources et l'émission de données finales générées par ce traitement.
Un tel dispositif présente de nombreux avantages. Notamment, il permet de gérer des données sources spécifiques à une application professionnelle particulièrement exigeante en termes de latence et de déterminisme, comme les applications financières. De fait, un dispositif conforme à l'invention est dépourvu, pour traiter les données et générer les données finales, d'un processeur central ou CPU qui ne peut pas assurer une latence et un déterminisme comparables à un dispositif selon l'invention compte tenu des délais et des aléas propres aux communications entre le CPU et les moyens logiciels et physiques qu'il gère et synchronise.
En effet, l'utilisation d'un dispositif muni d'un processeur central (CPU) qui exécute un programme composé d'instructions élémentaires stockées en mémoire- selon l'art antérieur - introduit nécessairement des délais dans la transmission des données internes via des bus de données et dans la gestion et la synchronisation des ressources physiques qu'il commande. Inversement, un dispositif conforme à l'invention présente une latence très faible, pratiquement limitée au délai de transmission des paquets au sein du circuit. En d'autres termes, cette latence est pratiquement incompressible et proche d'une latence minimale absolue puisqu'elle est de l'ordre du délai physique d'exécution des opérateurs matériels logiques, ou hardware en anglais. En outre, un dispositif conforme à l'invention est particulièrement fia- ble puisque le traitement des données qu'il effectue est totalement prédéterminé par sa configuration, et non par la nature ni le flux des données reçues. Ainsi, l'ensemble des données reçues sont traitées dans un délai déterministe. Par conséquent le délai de traitement de données sources est parti- culièrement prévisible puisque, le circuit logique étant autonome pour le traitement des données, les variations dans la durée de traitement des paquets reçus sont limitées aux variations de fonctionnement connues, et particulièrement faibles, des blocs matériels logiques formant ce circuit logique. La vitesse de traitement des données est et reste indépendante du flux/débit de données traitées. De plus contrairement à un processeur qui ne peut exécuter successivement qu'un nombre réduit d'instructions prédéterminées lors de sa fabrication, un dispositif conforme à l'invention peut exécuter simultanément un grand nombre d'opérations logiques qui peuvent être spécialisées et optimi- sées pour les traitements à réaliser dans les applications professionnelles par une programmation logique ultérieure, cette possibilité étant liée aux caractéristiques intrinsèques des circuits logiques reconfigurables û notamment FPGA - et de leurs possibilités de programmation. Afin d'assurer son fonctionnement, la gestion de la synchronisation entre les différents opérateurs matériels logiques, la traduction des différentes tâches à effectuer et également dénommés blocs logiques , s'effectue elle-même simultanément à l'aide d'autres opérateurs logiques. Cette synchronisation s'effectue à plusieurs niveaux et permet aussi de gérer les diffé- rents paradigmes rencontrés en parallélisme: micro parallélisme (grain fin), parallélisme intra-dispositif (grain moyen) et parallélisme entre dispositifs (gros grain). A la différence des dispositifs antérieurs qui utilisent des bus de don- nées pour la transmission des données entre les différents éléments de traitement comme les processeurs (CPU), les mémoires, les cartes de communication réseaux et les éléments de traitement logique des données, un dis-positif conforme à l'invention alloue des connexions physiques propres aux mémoires, aux interfaces physiques des réseaux (dénommés PHY par la suite) de communications et aux autres éléments logiques pouvant échanger des données. Ainsi, et contrairement à un bus de données classiquement mis en oeuvre entre une pluralité de sources et une pluralité de destinations, ces connexions physiques directes garantissent une latence pratiquement mini- male. En d'autres termes, elles évitent les goulets d'étranglement étant don-né que chaque élément du dispositif dispose de sa propre connexion physique en cas de transmission. L'utilisation d'un circuit logique présente de nombreux autres avantages: par exemple, la consommation d'un tel circuit est particulièrement basse puisque l'alimentation des blocs logiques, une fois configurés, est très faible comparée à l'alimentation requises par un circuit intégré non spécialisé comme un CPU. Finalement, il convient de noter que le risque de contamination par un virus est pratiquement inexistant puisqu'un circuit logique effectue une série d'opérations déterminée par sa structure logique préprogrammée et indépendante des données reçues. Une donnée reçue non conforme à un protocole prédéterminé correspondant à l'application spécifique pour laquelle le dispositif est mis en oeuvre ne sera pas traitée et ne pourra donc pas conta-miner les applications clientes des données finales produites par le dispositif conforme à l'invention. Cet aspect permet de réduire la latence d'un système comprenant un dispositif de traitement conforme à l'invention relié à un ou plusieurs serveurs auxquels sont destinées les données finales résultant des traitements.
En effet, le serveur peut accepter les données finales fournies par le dispositif sans avoir besoin d'être protégé par des logiciels de protection du type pare-feu (firewall en anglais) qui retardent la transmission de données. En d'autres termes, le dispositif de traitement relatif à l'invention fonc- tionne comme un firewall applicatif et déterministe à très faible latence. Il convient de noter qu'un dispositif de traitement conforme à l'invention requiert une programmation spécifique, particulièrement complexe et non intuitive, qui n'utilise pas des fonctions prédéfinies mais des fonctions logiques spécialisées pour les traitements à effectuer dans l'application considérée. Toutefois, l'utilisation d'outils d'aide à la conception de ces fonctions logiques et, en particulier, de compilateurs spécialisés pour des langages spécifiques à des domaines d'application, ou Domain Specific Languages (DSL) en anglais, permet de pallier à cet inconvénient qui se révèle inférieur aux nombreux avantages techniques obtenus par la mise en oeuvre d'un dispositif de traitement à très faible latence de paquets réseau conforme à l'invention. En outre, il est important de noter que la variété des données pouvant être prise en compte par un tel dispositif à faible latence est limité par la né- cessité d'utiliser des moyens physiques (hardware) pour effectuer les opérations propres à chaque type de données. C'est pourquoi, un tel dispositif est particulièrement avantageux pour traiter des données, ou des paquets de données, propres à une application spécifique telle qu'un nombre limité de formes de paquets, et/ou de formes de données, doit être traité par le dispo- sitif. Tel est le cas dans les applications financières puisque le nombre d'opérations û ordres û financières devant être exécutées est relativement limité, par exemple un nombre maximal de l'ordre de 60 messages différents peuvent être envisagés pour passer des ordres à la bourse de Paris.
De façon analogue, les diverses opération financières - le carnet d'ordres à jour pour les différents instruments financiers, les indices et porte-feuilles à jour, les indicateurs financiers pertinents à jour sur les différents instruments et l'ensemble des modifications et événements unitaires sur les différents instruments û sont mis en oeuvre au moyen d'un nombre limité d'opérations. Dans une réalisation, la structure du circuit logique comprend des blocs logiques agencés de façon successive de telle sorte que les blocs ef- fectuent des opérations successives avec les données sources en cours de traitement. Selon une réalisation, le traitement des données comprend au moins une des opérations suivantes : une réception, un filtrage, un décodage, une décompression, une mise en mémoire, un calcul, un formatage, une corn- pression, une émission. Dans une réalisation, chaque bloc effectue un même traitement pour les données qu'il traite. Selon une réalisation, le dispositif présente plusieurs entrées et/ou plusieurs sorties de telle sorte que plusieurs données, sources ou finales, peuvent être traitées en parallèle dans des blocs logiques. Dans une réalisation, le dispositif comprend un bloc logique pour traiter les données sources selon au moins une des opérations suivantes: dé-compresser, dupliquer, trier, aiguillier, calculer, encoder et/ou compresser des données sources.
Selon une réalisation, le dispositif comprend l'utilisation d'un compilateur destiné à générer automatiquement la description de l'architecture des blocs logiques de traitement à partir d'une description dans un langage propre à l'application spécifique. Dans une réalisation, le circuit logique est configuré avec un code conforme à une programmation logique reconfigurable. Dans une réalisation, le circuit logique reconfigurable est un composant logique programmable du type FPGA pour field-programmable gate array en anglais. Selon une réalisation, le dispositif est relié à au moins un terminal client via une connexion dédiée, par exemple du type PCI Express, Infini- Band, Hyper Transport, QuickPath, Fiber Chanel ou Gigabit Ethernet. Dans une réalisation, le dispositif présente plusieurs interfaces physiques (PHY) de connexion à des réseaux de communication, chaque inter- face étant connectée à des blocs logiques dédiés, le dispositif pouvant transmettre et/ou recevoir des données parallèlement sur ces interfaces. Selon une réalisation, le dispositif est caractérisé en ce qu'une au moins des interfaces physiques reliées directement aux éléments logiques de traitement est une interface gigabit Ethernet. Dans une réalisation, au moins des interfaces physiques (PHY) reliées directement aux éléments logiques de traitement est une interface PCI express et qu'au moins une autre des interfaces physiques (PHY) reliés directement aux éléments logiques de traitement est une interface du type gigabit Ethernet. Dans une réalisation, au moins deux interfaces physiques (PHY) reliés directement aux éléments logiques de traitement sont des interfaces PCI express pour permettre des connexions directes simultanées avec plusieurs ordinateurs différents.
Selon une réalisation, le dispositif comprend des interfaces réseau exclusivement allouées à un terminal client unique. Dans une réalisation le dispositif comprend un bloc logique configuré pour reconstituer et tenir à jour un carnet d'ordres de bourses financières. Selon une réalisation, le dispositif comprend un bloc logique configuré sous la forme d'une machine à états déterministe pour traiter des données encodées répondant à un cadre normatif comprenant un nombre limité de formats possibles. Dans une réalisation, le bloc logique configuré sous la forme d'une machine à états déterministe comprend des moyens pour décompresse des données encodées selon un format de compression et d'encodage. Selon une réalisation, le format de compression et d'encodage est le format FAST. Dans une réalisation, le dispositif comprend un compilateur transformant directement les descriptions des formats de messages financiers sous forme textuelle en la description d'un bloc logique implémentant le décodage de ces messages. Selon une réalisation, le compilateur transforme directement des descriptions de messages financiers conformes à un format de compression et d'encodage (FAST)] en la description d'un bloc logique implémentant le dé-codage de ces messages à l'aide de machines à état û ou state machines en anglais. Dans une réalisation, le dispositif comprend un bloc logique configuré pour exécuter au moins une des opérations financières suivantes : un calcul d'indice, de valeur de portefeuille boursier, de moyenne pondérée, par exemple VWAP pour Volume-Weighted Average Price en anglais, et/ou tout autre calcul d'indicateur financier à partir de données contenues dans les paquets reçus.
Selon une réalisation, le dispositif comprend un bloc logique configuré pour déclencher l'envoi de messages spécifiques sur une interface de communication lorsqu'une condition particulière à été détectée ou calculée à partir de données contenues dans les paquets reçus. Dans une réalisation, le dispositif comprend un bloc logique configuré pour déclencher l'envoi de messages spécifiques sur une des interfaces de communication lorsqu'un prix et une quantité de produits financiers disponibles à l'achat ou à la vente correspondant à des critères prédéterminés ont été détectés ou calculés à partir des données contenues dans les paquets reçus.
Selon une réalisation, le dispositif comprend un bloc logique configuré pour consolider et trier les quantités par prix de produits financiers disponibles à l'achat ou à la vente à partir de la liste des ordres d'achat et de vente contenus dans les paquets de données reçus. Dans une réalisation, le dispositif comprend un bloc logique configuré pour implémenter un protocole garantissant une transmission rapide et sans pertes de données entre 2 dispositifs conformes à l'invention et/ou entre des dispositifs clients compatibles avec une très faible latence de traitement d'un paquet de données inférieure à 10 microsecondes, avantageusement inférieur à 5 microsecondes et très avantageusement inférieur à 1 microse- conde. Selon une réalisation, le dispositif comprend des blocs logiques configurés pour implémenter une compression à l'envoi et une décompression à la réception des données transmises entre deux dispositifs conformes à l'invention et/ou entre des dispositifs clients compatibles. L'invention concerne également un procédé de traitement à très faible latence de données sources relatives à des opérations spécifiques, ces données sources étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce qu'il utilise un dispositif, conforme à l'une des réalisations précédentes, comprenant un circuit logique configuré pour traiter de façon autonome ces données sources au moyen d'une structure prédéterminée telle que la transmission des données dans cette structure permet d'effectuer la réception des paquets, le traitement de leurs données sources et l'émission de données finales générées par ce traitement. L'invention concerne également des moyens de commande, par exemple du type logiciel, destinés à commander un dispositif de traitement à très faible latence de données sources relatives à des opérations spécifiques, ces données sources étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, ca- ractérisé en ce que, ce dispositif étant conforme à l'une des réalisations précédentes, ces moyens de commande configurent un circuit logique pour traiter de façon autonome ces données sources au moyen d'une structure pré-déterminée telle que la transmission des données dans cette structure per-met d'effectuer la réception des paquets, le traitement de leurs données sources et l'émission de données finales générées par ce traitement. La présente invention sera mieux comprise à la lumière d'une description effectuée ci-dessous en référence aux figures ci-jointes sur lesquelles : - la figure 1 représente un dispositif de traitement, à faible latence, de paquets de données propres à une application spécifique conforme à l'invention, et - la figure 2 représente deux dispositifs de traitement à faible latence conformes à l'invention dans leur environnement réseau.
En référence à la figure 1, un dispositif 110 de traitement à très faible latence de paquets de données dédiées à une application comprend un circuit logique 112 configuré sous forme de blocs logiques 1141, 1142, ...114; présentant chacun des séries de portes logiques associées selon une struc- ture, ou architecture, prédéterminée pour effectuer la réception de données sources 111 ou 111', leur filtrage, leur traitement puis leur émission des données sous la forme de données finales 119 ou 119'. Afin de pouvoir modifier la configuration des portes logiques formant ces blocs, le dispositif 110 présente une interface 116 permettant à un utili- sateur d'utiliser un compilateur spécialisé 118 générant une spécification des fonctions logiques matérielles à réaliser. Une telle spécification est écrite dans un langage de description de fonctions logiques matérielles, typiquement en langage VHDL pour Very High Level Hardware Description Language en anglais.
Par exemple, une description logique directe, ou via un tel compilateur, permet de configurer un bloc logique afin que ce dernier effectue les opérations de traitement des données, ce qui peut comprendre des opérations de connexions (réception et/ou transmission), de mise en mémoire - par exemple des cahiers d'ordres, de valeurs de cotations ou d'opérations à exécuter - et/ou plus généralement une opération technique ou fonction- nelle. En d'autres termes, le circuit logique reste configuré selon une structure prédéterminée, indépendamment de la nature et/ou de la quantité de paquets reçus, jusqu'à ce qu'une nouvelle configuration soit requise.
Un tel dispositif 110 de traitement à très faible latence de paquets ré-seau peut comprendre des blocs logiques 114 pour décoder, décompresser, filtrer, traiter, encoder, compresser et/ou transmettre des données avec un temps de latence particulièrement réduit, de l'ordre de la microseconde, et avec une variation très faible.
Plus précisément, la latence peut être déterminée en fonction de la taille et du contenu des paquets traités. En effet, les durées de traitement d'un paquet de données sont uniquement dépendantes de la taille et du con- tenu de ce paquet compte tenu de l'absence de CPU et/ou de bus devant gérer des conflits dans les serveurs selon l'art antérieur. Dans cette réalisation, le dispositif de traitement à faible latence de paquets de données comprend une pile d'entrée à une ou plusieurs portes 1131, 1132, 1133, 1134 et 1135 û faisant fonction d'interface entre physique (PHY) entre le dispositif 112 et un terminal client exclusivement dédié - per-mettant de faire un décodage rapide et un traitement en parallèle de plu-sieurs paquets de données, tandis qu'une pile de sortie peut être reliée à une ou plusieurs sorties (en mode point à point ou multipoint pour, respecti- vement, unicast ou multicast en anglais, ou encore à accès mémoire direct) avec des destinataires et des formats de sortie et données finales qui peuvent être différents par canal de sortie. Egalement dans cette réalisation, le dispositif 110 comprend un bloc logique qui effectue une fonction de pare-feu, triant les paquets et/ou les données reçues selon leur nature et leur contenu applicatif de telle sorte que les paquets non conformes aux applications spécifiques associées au dis-positif 110 sont détruits. Cette fonctionnalité peut permettre une utilisation directe du dispositif de traitement à faible latence de paquets réseau pour des flux externes sans intervention préalable d'un pare-feu externe introduisant des délais supplémentaires dans la transmission des données. La présente invention est susceptible de nombreuses variantes. Notamment un dispositif de traitement à faible latence de paquets réseau con-forme à l'invention peut être utilisé pour mettre en oeuvre, de façon indépen- dante ou conjointe, avec une latence qui reste proche de la microseconde : - Des opérations de prise en charge et traitement des données financières, ou feed handling en anglais, - Des opérations de calculs et d'évaluation de critères de décisions sur des données financières, ou algorithmic trading en anglais, - Des opérations de codage, de compression et/ou de décompression afin d'accélérer la transmission des paquets et de réduire la latence de cette transmission dans les réseaux de communication.
Dans une réalisation de l'invention, le dispositif de traitement à faible latence de paquets réseau comprend une libraire de modules ( cores en anglais, exécutables sur FPGA) spécialisés et optimisés liés soit à une application professionnelle spécifique û comme des calculs spécifiques de marché financier (exemple : calcul d'options ou de futures et indicateurs liés) soit à des problématiques d'interface ou techniques û comme un formatage IP ou un encodage dans des formats spécifiques. En référence à la figure 2, l'invention concerne également un dispositif 200 conforme à l'invention utilisant un ou plusieurs circuits logiques 201 configurés pour le traitement à faible latence de paquets conformes à l'invention, par exemple conformes au dispositif 110 précédemment décrit et reliés entre eux par des liens directs Plus précisément, ce dispositif 200 utilise des circuits logiques 201 reliés à une pluralité de réseaux et de terminaux clients 202, par exemple via une ou plusieurs connexions 204 du type PCI Express qui permettent au dispositif 200 d'accéder directement à la mémoire des dispositifs clients, InfiniBand ou plus simplement via des connexions réseaux 1 ou 10 Gibabit Ethernet, en mode unicast ou multicast,. Pour le besoins de certains types de traitements des données, ce dis- positif 200 peut contenir des mémoires 203 reliées aux circuits logiques 201 auxquels elles sont dédiées via des liaisons directes. Ainsi, le dispositif 200 est un noeud de traitement central vis-à-vis des terminaux clients munis de composants de type processeurs (CPU). Un tel système utilise alors le dispositif 200 pour réaliser dans les meilleurs délais, i.e. avec une faible latence, la transmission de données filtrées et traitées vers chaque terminal client. Ce dernier peut alors récupérer ces données sources û ou des don-nées finales - afin de les utiliser pour d'autres traitements. La présente invention est susceptible de nombreuses variantes. Par exemple, le domaine d'application d'un dispositif selon l'invention peut être relatif à toute application requérant une très faible latence comme, de façon illustrative et non limitative, les domaines de la recherche fondamentale ou appliquée, ainsi que le développement technologique, dans les domaines de la biologie, médical, de la physique, des mathématiques, de l'informatique, du nucléaire ou de la chimie, mais aussi dans des domaines appliqués comme la sécurité ou le calcul en parallèle.

Claims (29)

  1. REVENDICATIONS1. Dispositif (110, 200) de traitement à très faible latence de données sources (111, 111') relatives à des opérations spécifiques, ces don-nées sources (111, 111') étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce qu'il comprend au moins un circuit logique (112, 201) configuré pour traiter de façon autonome ces don-nées sources (111, 111') au moyen d'une structure prédéterminée telle que la transmission des données (111, 111') dans cette structure permet d'effectuer la réception des paquets, le traitement de leurs données sources (111, 111') et l'émission de données finales (119, 119') générées par ce traitement.
  2. 2. Dispositif (110, 200) selon la revendication 1 caractérisé en ce que la structure du circuit logique (112) comprend des blocs logiques (1141, 1142, ... 114;) agencés de façon successive de telle sorte que les blocs effectuent des opérations successives à partir des données sources (111, 111') en cours de traitement.
  3. 3. Dispositif (110, 200) selon la revendication 2 caractérisé en ce que le traitement des données comprend au moins une des opérations sui-vantes : une réception, un filtrage, un décodage, une décompression, une mise en mémoire, un calcul, un formatage, une compression, une émission.
  4. 4. Dispositif (110, 200) selon l'une des revendications 1, 2 ou 3 caractérisé en ce que chaque bloc (1141, 1142, ... 114;) effectue un même traitement indépendamment des données qu'il traite.
  5. 5. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il présente plusieurs entrées et/ou plusieurs sorties de telle sorte que plusieurs données, sources (111, 111') ou finales(119, 119'), peuvent être traitées en parallèle dans des blocs logiques (1141, 1142, ... 114;).
  6. 6. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique pour traiter les don- nées sources selon au moins une des opérations suivantes: décompresser, dupliquer, trier, aiguillier, calculer, encoder et/ou compresser des données sources.
  7. 7. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend l'utilisation d'un compilateur (118) des- tiné à générer automatiquement la description de l'architecture des blocs logiques de traitement à partir d'une description dans un langage propre à l'application spécifique.
  8. 8. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce que le circuit logique (112) est configuré avec un code conforme à une programmation logique reconfigurable.
  9. 9. Dispositif (110, 200) selon la revendication 8 caractérisé en ce que le circuit logique reconfigurable (112) est un composant logique programmable du type FPGA pour field-programmable gate array en anglais.
  10. 10. Dispositif ( 200) selon l'un des revendications précédentes caractérisé en ce qu'il est relié à au moins un terminal client (202) via une connexion dédiée (204), par exemple du type PCI Express, InfiniBand, Hyper Transport, QuickPath, Fiber Chanel ou Gigabit Ethernet
  11. 11. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il présente plusieurs interfaces physiques (1131, 1132, 1133, 1134, 1135) de connexion à des réseaux de communication, chaque interface étant connectée à des blocs logiques dédiés, le dispositif (110, 200) pouvant transmettre et/ou recevoir des données parallèlement sur ces interfaces.
  12. 12. Dispositif (110, 200) selon la revendication 11 caractérisé en ce qu'une au moins des interfaces physiques (1131, 1132, 1133, 1134, 1135) reliées directement aux éléments logiques de traitement est une interface gigabit Ethernet.
  13. 13. Dispositif (110, 200) selon la revendication 11 ou 12 caractérisé en ce qu'une au moins des interfaces physiques (1131, 1132, 1133, 1134, 1135) reliées directement aux éléments logiques de traitement est une interface PCI express et qu'au moins une autre des interfaces physiques (1131, 1132, 1133, 1134, 1135) reliées directement aux éléments logiques de traitement est une interface du type gigabit Ethernet.
  14. 14. Dispositif (110, 200) selon la revendication 11, 12 ou 13 caractérisé en ce que au moins deux interfaces physiques (1131, 1132, 1133, 1134, 1135) reliées directement aux éléments logiques de traitement sont des interfaces PCI express pour permettre des connexions directes simultanées avec plusieurs ordinateurs différents.
  15. 15. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend des interfaces réseau (1131, 1132, 1133, 1134, 1135) spécifiquement allouées à un terminal client (202) unique.
  16. 16. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour reconstituer et tenir à jour un carnet d'ordres de bourses financières.
  17. 17. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré sous la forme d'une machine à états déterministe pour traiter des données encodées répondant à un cadre normatif comprenant un nombre limité de formats possibles.
  18. 18. Dispositif (110, 200) selon la revendication 17 caractérisé en ce que le bloc logique configuré sous la forme d'une machine à états déterministe comprend des moyens pour décompresse des données en-codées selon un format de compression et d'encodage.
  19. 19. Dispositif (110, 200) selon la revendication 18 caractérisé en ce que le format de compression et d'encodage est le format FAST pour Fix Adapted for Streaming en anglais.
  20. 20. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un compilateur (118) transformant di-rectement les descriptions des formats de messages financiers sous forme textuelle en la description d'un bloc logique implémentant le décodage de ces messages.
  21. 21. Dispositif (110, 200) selon la revendication 20 caractérisé en ce que le compilateur (118) transforme directement des descriptions de mes-sages financiers conformes à un format de compression et d'encodage (FAST)] en la description d'un bloc logique implémentant le décodage de ces messages à l'aide de machines à état.
  22. 22. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour exécuter au moins une des opérations financières suivantes : un calcul d'indice, de valeur de portefeuille boursier, de moyenne pondérée (VWAP et autres indicateurs comparables) et/ou tout autre calcul d'indicateur financier à partir de données contenues dans les paquets reçus.
  23. 23. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour déclencher l'envoi de messages spécifiques sur une interface de communication lorsqu'une condition particulière à été détectée ou calculée à partir de données contenues dans les paquets reçus.
  24. 24. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour déclencher l'envoi de messages spécifiques sur une des interfaces de communication lorsqu'un prix et une quantité de produits financiers disponibles à l'achat ou à la vente correspondant à des critères pré-déterminés ont été détectée ou calculée à partir des données conte-nues dans les paquets reçus.
  25. 25. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour consolider et trier les quantités par prix de produits financiers disponibles à l'achat ou à la vente à partir de la liste des ordres d'achat et de vente contenus dans les paquets de données reçus.
  26. 26. Dispositif (110, 200) selon l'une des revendications précédentes caractérisé en ce qu'il comprend un bloc logique configuré pour implémenter un protocole garantissant une transmission rapide et sans pertes de données entre 2 dispositifs conformes à l'invention et/ou entre des dispositifs clients compatibles avec une très faible latence de traitement d'un paquet de données inférieure à 10 microsecondes, avantageusement inférieur à 5 microsecondes et très avantageuse-ment inférieur à 1 microseconde.
  27. 27. Dispositif (110, 200) selon une des revendications précédentes caractérisé en ce qu'il comprend des blocs logiques configurés pour implémenter une compression à l'envoi et une décompression à la réception des données transmises entre deux dispositifs conformes à l'invention et/ou entre des dispositifs clients compatibles.
  28. 28. Procédé de traitement à très faible latence de données sources (111, 111') relatives à des opérations spécifiques, ces données sources étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce qu'il utilise un dispositif (110, 200), conforme à l'une des revendications précédentes, comprenant un circuit logique (112) configuré pour traiter de façon autonome ces données sources au moyen d'une structure prédéterminée telle que la transmission des données dans cette structure permet d'effectuer la réception des paquets, le traite-ment de leurs données sources (111, 111') et l'émission de données finales (119, 119') générées par ce traitement.
  29. 29. Moyens de commande destinés à commander un dispositif (110, 200) de traitement à très faible latence de données sources (111, 111') re- latives à des opérations spécifiques, ces données sources étant transmises via au moins un réseau de communication sous la forme de paquets codés selon un protocole propres aux opérations spécifiques et supporté par le réseau de communication, caractérisé en ce que, ce dispositif étant conforme à l'une des revendications 1 à 28, ces moyens de commande configurent un circuit logique pour traiter 5de façon autonome ces données sources au moyen d'une structure prédéterminée telle que la transmission des données dans cette structure permet d'effectuer la réception des paquets, le traitement de leurs données sources et l'émission de données finales générées par ce traitement.
FR0953077A 2009-05-08 2009-05-08 Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique. Active FR2945394B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0953077A FR2945394B1 (fr) 2009-05-08 2009-05-08 Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique.
US12/776,939 US20100287294A1 (en) 2009-05-08 2010-05-10 Very low latency processing device for data packets particular to a specific application
EP10162456A EP2251794A1 (fr) 2009-05-08 2010-05-10 Dispositif de traitement à latence très faible pour paquets de données spécifiques à une application particulière

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0953077A FR2945394B1 (fr) 2009-05-08 2009-05-08 Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique.

Publications (2)

Publication Number Publication Date
FR2945394A1 true FR2945394A1 (fr) 2010-11-12
FR2945394B1 FR2945394B1 (fr) 2023-01-27

Family

ID=41557447

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0953077A Active FR2945394B1 (fr) 2009-05-08 2009-05-08 Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique.

Country Status (3)

Country Link
US (1) US20100287294A1 (fr)
EP (1) EP2251794A1 (fr)
FR (1) FR2945394B1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US9443269B2 (en) 2012-02-16 2016-09-13 Novasparks, Inc. FPGA matrix architecture
CN104794310B (zh) * 2015-05-14 2018-05-18 广联达软件股份有限公司 一种获得结构力学数据的方法及装置
US10311002B2 (en) * 2017-05-15 2019-06-04 International Business Machines Corporation Selectable peripheral logic in programmable apparatus
US11734757B2 (en) 2020-04-14 2023-08-22 Banque Nationale Du Canada Computer implemented method and system for automating analysis of profit and loss (PnL) variations based on market events

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294157A1 (en) * 2006-06-19 2007-12-20 Exegy Incorporated Method and System for High Speed Options Pricing
WO2008066876A1 (fr) * 2006-12-02 2008-06-05 Andrew Macgaffey Pile de reseau jms intelligente
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238133B1 (ko) * 1993-05-31 2000-01-15 윤종용 영상전화기의 화상 복구 장치 및 방법
US7337255B2 (en) * 2002-06-12 2008-02-26 The Boeing Company Distributed data handling and processing resources system
US8655979B2 (en) * 2003-01-31 2014-02-18 Qwest Communications International Inc. Method for replacing a network interface device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294157A1 (en) * 2006-06-19 2007-12-20 Exegy Incorporated Method and System for High Speed Options Pricing
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices
WO2008066876A1 (fr) * 2006-12-02 2008-06-05 Andrew Macgaffey Pile de reseau jms intelligente

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"High-performance, Energy-efficient Platforms using In-socket FPGA Accelerators", ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA, 24 February 2009 (2009-02-24), XP040461976 *
ANONYMOUS: "2008 workshop on high performance computational finance, WHPCF Austin, TX - November 16th, 2008", HIGH PERFORMANCE COMPUTATIONAL FINANCE, 2008. WHPCF 2008. WORKSHOP ON, IEEE, PISCATAWAY, NJ, USA, 16 November 2008 (2008-11-16), pages 1 - 2, XP031404625, ISBN: 978-1-4244-2911-0 *

Also Published As

Publication number Publication date
FR2945394B1 (fr) 2023-01-27
US20100287294A1 (en) 2010-11-11
EP2251794A1 (fr) 2010-11-17

Similar Documents

Publication Publication Date Title
US10901950B2 (en) Efficient data compression and analysis as a service
EP3612942B1 (fr) Gestion de file d'attente pour accès direct à la mémoire
JP5814329B2 (ja) 金融情報の高速処理のための方法および機器
FR2945394A1 (fr) Dispositif de traitement a tres faible latence de paquets de donnees propres a une application specifique.
US20170372429A1 (en) Virtual assistant platform with deep analytics, embedded and adaptive best practices expertise, and proactive interaction
CN110415027B (zh) 一种大数据行情平台系统
US10783052B2 (en) Data processing system with machine learning engine to provide dynamic data transmission control functions
US11494437B1 (en) System and method for performing object-modifying commands in an unstructured storage service
EP2678817A1 (fr) Système et procédé d'accès à un marché
US10015050B2 (en) Distributed computing system
US10540522B2 (en) Storing data securely in a database
US11699184B2 (en) Context based filtering within subsets of network nodes implementing a trading system
EP3881515B1 (fr) Système de supervision formelle de communications
WO2013110816A2 (fr) Procédé d'utilisation d'une mémoire partagée
CN114511405A (zh) 基于fpga的深市行情获取系统及方法
FR2834154A1 (fr) Unite electronique incluant des moyens de cryptographie capables de traiter des informations a haut debit
US10079910B1 (en) Iterative covariance calculation for streamed data using components
EP3675425B1 (fr) Module elementaire d'un systeme de distribution d'un contenu audiovisuel
US20220215470A1 (en) System and Method for Pushing Recommended Financial Transactions to a Mobile Device or Computer
US20240176680A1 (en) User interaction event streaming
Mahnani Investigating the Relationship between Corporate Responsibility and Customer Loyalty with the Role of Ethical Standards, Customer Satisfaction and Trust (A Case Study of Customers of Private Banks in Bojnourd)
CN110648220A (zh) 基于流数据平台的资金流向分析系统及方法
CN113902432A (zh) 一种基于区块链服务的账单信息加密方法及系统
Sharman The Evolution of Enterprise Computing
EP1493083B1 (fr) Système reconfigurable de contrôle basé sur la mise en oeuvre matérielle de graphes de pétri

Legal Events

Date Code Title Description
CA Change of address

Effective date: 20110830

CD Change of name or company name

Owner name: NOVASPARKS, FR

Effective date: 20110830

CJ Change in legal form

Effective date: 20110830

AV Other action affecting the existence or the validity of an industrial property right

Effective date: 20120405

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15