Sunday, January 29, 2017

Systèmes Commerciaux Fpga

J'ai lu sur différentes implémentations de systèmes HFT sur FPGAs. Est-ce que les FPGAs sont encore très populaires Est-ce que le gestionnaire de flux est implémenté sur les FPGAs Parce que certains de ces systèmes décrits ci-dessus ont seulement un gestionnaire d'alimentation mis en œuvre sur le FPGA, parce que la stratégie change Trop, ou est trop difficile à mettre en œuvre sur les FPGA. D'autres affirment qu'ils ont également mis en œuvre des stratégies de négociation sur les FPGA ou en utilisant des NIC haute performance au lieu des FPGA pour construire des systèmes HFT. J'ai lu sur différentes approches, mais je trouve difficile de comparer comme la plupart des résultats sont testés sur différents ensembles d'entrée. Voici une façon de penser: imaginez que vous pouvez faire quelque chose dans un ASIC (c'est-à-dire directement dans le matériel). Cependant, le processus de fabrication est en soi coûteux, et vous obtenez un design que vous ne pouvez pas changer après. Les ASIC ont un sens pour des tâches prédéfinies telles que Bitcoin mining, des algorithmes de traitement de données bien connus, etc. D'autre part, nous avons des CPU ordinaires (ainsi que des coprocesseurs et des GPU) qui sont génériques, D'instructions simultanées) ensemble d'instructions à très grande vitesse. Les FPGA sont le milieu de terrain. Ils sont des émulateurs matériels et en tant que tels peuvent être considérés comme étant 10 fois plus lent que le matériel réel, mais encore plus performant pour les opérations concurrentes que les CPU, à condition que vous êtes en mesure d'utiliser le dé pour diffuser votre logique en conséquence. Certaines utilisations des FPGAs sont: le transcodage vidéo (par exemple le décodage vidéo HD dans les téléviseurs) ainsi que diverses cartes d'acquisition de données; l'analyse de la structure de données fixe (analyse Regex); la simulation du système discret (simulant par exemple le résultat d'un jeu de cartes); Applications telles que par ex. Dans le domaine de l'aérospatiale ou de la recherche scientifique Le problème des FPGA pour les utilisations quantitatives est que ce n'est pas si bon pour les calculs à virgule flottante, d'autant plus que les processeurs ordinaires sont déjà optimisés pour les SIMD. Toutefois, pour toute structure de données à point fixe ou à taille fixe, la conception FPGA vous permet de configurer le périphérique pour qu'il effectue beaucoup de traitement en même temps. Certaines choses faites dans le commerce utilisent FPGA pour les gestionnaires d'alimentation (analyser directement à partir du flux de réseau) ainsi que la construction de certaines parties de la structure de négociation (par exemple, carnets de commandes) dans le matériel afin de pouvoir traiter la structure des données en évolution rapide sans Chargement de la CPU. Les FPGA visent principalement à répondre au souci de traiter rapidement les données sans payer les coûts de propagation. Ceci est particulièrement en contraste avec des périphériques tels que GPGPU (ou toute carte de logement PCI, comme Xeon Phi) qui paient des pénalités de performances pour obtenir des données depuis l'appareil. Cela dit, les options DMA s'améliorent à cet égard, aussi. Les FPGA ne sont vraiment rien de plus que les mêmes blocs logiques répétés encore et encore dans tout le silicium, avec des commutateurs configurables pour connecter les blocs logiques ensemble. Cela rend FPGAs très bon - et rapide - à traiter les problèmes répétitifs qui peuvent être décrits dans un circuit matériel qui ne change pas pendant le fonctionnement. Et vous pouvez avoir littéralement des milliers ou des dizaines de milliers de ces circuits, tous travaillant en parallèle en même temps, en un seul FPGA. CPU d'autre part sont basés autour de l'ALU, qui charge des instructions, charge des données, opère sur les données, peut-être stocke les résultats, puis il fait tout recommencer. Les processeurs sont donc très bons - et rapides - à faire face à des problèmes qui changent constamment - tant en taille qu'en portée et en commutation entre les différentes tâches. Todays CPU ou noyau aura des dizaines à des centaines de ALUs avec des pipelines parallèles pour les données et les instructions, ce qui les rend très rapide à des problèmes complexes qui peuvent être travaillés en parallèle. Ces conceptions rendent les FPGA plus rapides à des problèmes plus simples qui peuvent être attaqués avec une architecture parallèle étendue - comme la condensation de plusieurs flux de données en moins d'une seconde, fil à fil, ou déclenchant un achat, une vente ou une annulation pré-calculés Sur un prix qui correspond à un modèle particulier. Les processeurs sont plus rapides à des problèmes plus complexes qui nécessitent moins de parallélisme, comme le calcul du panier d'achats, de ventes et d'annulations nécessaires pour maintenir un portefeuille ajusté en fonction du risque ou intégrer un certain nombre de sources de prix et d'actualités d'âge et de qualité variables. Les négociants et la direction de décider quels ajustements ils feront au système commercial. Là où FPGAs sont utilisés dans HFT dépend beaucoup de l'architecture d'un magasin particulier. Ils sont les mieux utilisés pour exécuter des tâches simples, répétitives, larges et les exécuter rapidement. Les CPUs sont un couteau suisse qui peut tout faire, en particulier là où les exigences changent et les dimensions du problème ne sont pas entièrement comprises au départ. Réponse Mar 11 14 at 17:10 Votre question n'a vraiment pas beaucoup de sens. C'est comme demander combien de câblage dans l'infrastructure de négociation utilise fibre optique et combien il utilise du cuivre. La meilleure réponse que nous puissions vous donner, c'est qu'un FPGA n'est pas une balle magique. C'est une interprétation incorrecte du livre blanc de Ciscos. Il ya très peu de chevauchement entre les cas d'utilisation de tissu de commutation et ceux d'un FPGA. Quelle partie des systèmes HFT sont la plupart du temps mis en œuvre sur les FPGA de nos jours Actuellement, FPGAs sont souvent utilisés dans nos imprimantes et décodeurs TV. Répondre Mar 9 14 at 21:55 Je veux mettre en évidence le bloc de traitement numérique des signaux (DSP) avec ALUs. Aujourd'hui FPGAs ont des centaines de blocs DSP programmable le plus grand avec des milliers. Maintenant, soudain, vous avez des milliers de petits processeurs à votre disposition, tous capables d'effectuer des calculs en parallèle. Ceci est largement au-delà du parallélisme fourni par le Xeon Phi ou les GPU. En fait, si vous faites des options de modélisation des prix ou de modélisation de risque stochastique sur FPGA, vous pouvez obtenir plus de 100 fois plus de performance par rapport aux derniers GPU et encore plus par rapport aux derniers processeurs. Avec les blocs DSP, l'autre facteur important dans ce gain de performance est le cache mémoire. FPGA a intégré dans la RAM distribuée qui est extrêmement rapide, ce qui permet une bande passante de 100TB à atteindre au niveau du datapath. L'utilisation des FPGA d'aujourd'hui pour les stratégies d'algo fournit une ressource de calcul importante et massivement concurrente capable de donner une augmentation de 100 à 1000 fois par rapport aux GPU ou CPU. La principale mise en garde est que vous devriez devenir compétent dans l'écriture dans Verilog ou VHDL :) Sanjay Shah CTO Nanospeed a répondu Aug 5 14 at 18:05 Une variété de puissants, de nombreux processeurs de noyau commencent à faire leur chemin dans le matériel Accélération qui était auparavant entièrement détenue par FPGAs. Des sociétés comme Tilera, Adapteva et Coherent Logix fournissent ces processeurs ici aux États-Unis, avec Enyx de France aussi faire des incursions. La véritable mesure de l'efficacité de ces processeurs massivement parallèles réside dans la maturité de leurs outils logiciels. C'est là que l'utilisateur éventuel devrait concentrer leur attention. Personne ne veut programmer ou déboguer des dizaines ou des centaines de cœurs en utilisant des techniques manuelles. Bien entendu, il va sans dire que la bande passante IO est aussi importante. Dans mon expérience personnelle dans cet espace, je vois l'adoption par les clients des processeurs cohérents Logix comme co-processeurs ou accélérateurs matériels pour l'accélération algébrique en langage C. En appréciant le cycle de conception rapide d'un environnement basé C, les programmeurs de quelque peuvent tordre le code à leur contenu de cœurs et ne pas s'inquiéter coûteux et le codage intensif de HDL pour des FPGAs. Le partitionnement optimal consiste à faire en sorte que les FPGA fassent ce qu'ils font de mieux - des opérations répétitives fixes - et font en sorte que les processeurs multi-core fassent ce qu'ils font de mieux: accélérer la productivité des développeurs et la vitesse d'exécution. John Irza, directeur du développement des affaires, Coherent Logix, Inc. a répondu ago 6 14 at 0:42 Presque tous les magasins HFT utilisent l'architecture FPGA. Ces dispositifs doivent être remplacés fréquemment car ils sont rapidement dépassés par les dernières améliorations de vitesse, pipelines, parallélisme, etc Sauf si vous êtes prêt à investir 2M par an, trouver une autre stratégie. Beaucoup de gars qui font des mouvements quotidiens de prix avec du stylo et du papier font des milliards à Omaha, au Nouveau-Brunswick. Répondre Jul 28 16 at 10:31 Votre réponse 2017 Stack Exchange, IncLe FPGA UDP Ping Jumpstart Design fournit des commerces un lieu de départ pour développer faible latence basé FPGA 10Gb Ethernet plateformes de négociation. Alors que le gestionnaire d'alimentation ITCH de l'in-FPGA Jumpstart Design fournit le meilleur point de départ pour implémenter des gestionnaires d'alimentation pour des sites tels que BATS, ARCA, EDGX, tous les systèmes de négociation n'exigent pas ce type de fonctionnalité de gestionnaire de flux. Le Jumpstart Design reçoit des paquets UDP de plus de 10 Gb Ethernet, échange des adresses IP de source et de destination, recalcule la somme de contrôle de l'en-tête IP, recompte la somme de contrôle UDP et envoie le paquet reçu. La conception peut être étendue pour implémenter des manutentionnaires d'aliments. La logique de déclenchement commercial et les modules d'entrée de commande, pour un système de négociation basé sur FPGA complet. Le gestionnaire d'alimentation ITCH de l'in-FPGA Jumpstart Design fournit une conception fonctionnelle pour lancer des initiatives commerciales basées sur FPGA. Le gestionnaire d'alimentation accepte les données de marché de NASDAQ ITCH sur Ethernet 10 Gb, gère un carnet de commandes et génère des événements internes en tête de liste chaque fois que le carnet de commandes est affecté. Les réponses sortantes UDPSyslog best-bid-or-offer sont envoyées en réponse aux événements du sommet du livre. La conception est extensible pour mettre en œuvre l'entrée des commandes, pour un système de négociation FPGA plein basé. Nouvelles récentesLe président de FPGA Trading Systems, Cameron Elliott a plus de 28 ans d'expérience dans le développement de logiciels et de systèmes, y compris les systèmes embarqués, en temps réel, à faible latence et haute fiabilité. Cameron a développé des gestionnaires de flux de données de marché pour des sites tels que NASDAQ, BATS, ARCA. Il a déployé des systèmes de négociation dans NASDAQs Carteret, NJ centre de données collocation. Il a mettre en œuvre tous les aspects du processus de négociation, y compris la manipulation des aliments, la logique de déclenchement du commerce et l'entrée de commandes sortantes qui se retrouvent généralement dans les systèmes de négociation à faible latence. Auparavant, en tant que CTO et PDG de Spam Arrest, Cameron a cofondé la première société antispam de liste blanche de Captcha, offrant une protection contre le spam 24 heures sur 24, 7 jours sur 7. Spam Arrest a été classé parmi les 2000 meilleurs sites web de Alexa, a traité des milliards de messages par an et a été couvert par le LA Times, le Washington Post, Reuters et d'autres médias. Pour la société Terabeam, Cameron a mis au point la première implantation de vidéoconférences HDTV à faible latence sur IP. Ce système a joué un rôle important en permettant à Terabeam d'amasser environ 500 millions de dollars en 2000. Cameron était un fondateur technique de Cellular Technical Services, où il a développé le produit phare de CTS, un système de facturation de téléphonie cellulaire Unix en temps réel. CTS a continué à être un top 50 classé compagnie de Washington, et a été coté en bourse sur le NASDAQ échange. Cameron a une BS, Cum Laude, Applied Computational et Math SciencesStatistics option de l'Université de Washington, Seattle. Catégories Copyright copy 2010, In-FPGA. Tous les droits sont réservés.


No comments:

Post a Comment