Sunday 22 October 2017

Fpga Baseado Em Sistemas De Negociação


Share This Page. Framework acelera o desenvolvimento de aplicações de sistemas financeiros de ultra baixa latência. Desde o advento da negociação eletrônica, uma corrida pela velocidade se seguiu para construir as plataformas de negociação mais rápidas e inteligentes. O tempo de resposta diminuiu de segundos para milissegundos para microssegundos A unidade para o tempo de resposta de microssegundo e sub-microsegundo simplesmente não é possível com o software tradicional ou arquiteturas de hardware simples, um fato que está impulsionando a adoção da tecnologia FPGA de gate gate programável em sistemas de latência ultralow. To reduzir o risco envolvido no desenvolvimento de hardware O código de HDL de linguagem de descrição nativa em uma placa Ethernet FPGA ao mesmo tempo reduzindo o tempo de desenvolvimento, AdvancedIO foi pioneiro no uso de frameworks FPGA para comunicações 10GE 10 Gigabit Ethernet O conjunto de ferramentas de desenvolvimento AdvancedX expressXG fornece a infraestrutura necessária para garantir a rápida implantação de serviços financeiros e Permite a portabilidade perfeita para a última geração o F FPGA cards.- Rafeh Hulays, PhD, Vice-Presidente, Desenvolvimento de Negócios, AdvancedIO Systems Inc. Additional Information. I leram sobre diferentes implementações de sistemas HFT em FPGAs. Minha pergunta é, o que parte dos sistemas HFT são na sua maioria implementados em FPGAs hoje em dia São FPGAs ainda muito popular É apenas o manipulador de feed implementado no FPGAs Porque alguns destes sistemas descritos acima só têm um manipulador de feed implementado no FPGA, porque a estratégia muda muito, ou é muito difícil de implementar em FPGAs Outros afirmam que eles Também implementaram estratégias de negociação em FPGAs ou usando NICs de alto desempenho em vez de FPGAs para construir sistemas de HFT Eu li sobre abordagens diferentes, mas acho que é difícil de comparar como a maioria dos resultados são testados em diferentes conjuntos de entrada. 06.Here sa maneira de pensar sobre ele imagine que você pode fazer algo em um ASIC, ou seja, diretamente em hardware No entanto, o processo de fabricação é em si caro, e você tem um projeto que você cann Ot mudança depois ASICs fazem sentido para tarefas predefinidas, como Bitcoin mineração, bem conhecidos algoritmos de processamento de dados, etc Por outro lado temos CPUs comuns, bem como co-processador CPUs e GPUs que são de uso geral, mas processar um pequeno em termos De instruções simultâneas conjunto de instruções em uma velocidade muito alta. FPGAs são o meio termo Eles são emuladores de hardware e, como tal, pode ser considerado 10 vezes mais lento do que o hardware real, mas ainda assim mais performant para operações concorrentes do que CPUs desde que você é capaz de Utilizar o dado para espalhar sua lógica em conformidade. Alguns usos de FPGAs são. Video transcodificação, por exemplo, decodificação de vídeo HD em TVs, bem como vários dados aquisição boards. Fixed parsing estrutura de dados Regex parsing. Discrete simulação do sistema, por exemplo, a simulação do resultado de um cartão Game. Lots de aplicações adequadamente incorporado, como por exemplo, em aeroespacial ou investigação científica. O problema com FPGAs para quant usa é que ele não é tão bom para ponto flutuante calcu Em particular desde CPUs comuns já estão otimizados para que com coisas como SIMD No entanto, para qualquer coisa de ponto fixo ou fixo-tamanho estruturas de dados, design FPGA permite configurar o dispositivo para fazer um monte de processamento ao mesmo tempo. Algumas coisas Feito na negociação estão usando FPGA para manipuladores de alimentação analisando diretamente do fluxo de rede, bem como a construção de certas partes da estrutura de negociação por exemplo, livros de encomendas em hardware, a fim de ser capaz de lidar com a estrutura de dados em rápida mudança sem carregar o CPU. FPGAs principalmente Isto é particularmente em contraste com dispositivos como o GPGPU ou qualquer placa PCI-habitação, como Xeon Phi que pagam penalidades de desempenho para obter dados para a partir do dispositivo Dito isto, DMA As opções estão melhorando a este respeito, too. FPGA s são realmente nada mais do que os mesmos blocos de lógica repetida uma e outra vez em todo o silício, com opções configuráveis ​​para Conectar os blocos de lógica juntos Isso faz FPGA s muito bom - e rápido - em lidar com problemas repetitivos que podem ser descritos em um circuito de hardware que não muda durante a operação e você pode ter literalmente milhares ou dezenas de milhares desses circuitos, Todos trabalhando em paralelo ao mesmo tempo, em apenas um FPGA. CPU s, por outro lado são baseados em torno da ALU, que carrega instruções, carrega dados, opera sobre os dados, talvez armazena os resultados e, em seguida, faz tudo de novo CPU s, em seguida, são muito bons - e rápido - em lidar com problemas que estão mudando continuamente - tanto em tamanho e no âmbito e na alternância entre diferentes tarefas Today's CPU ou núcleo terá dezenas de centenas de ALU s com oleodutos paralelos Para dados e instruções, o que os torna muito rápidos em problemas complexos que podem ser trabalhados em paralelo. Estes projetos tornam os FPGA mais rápidos em problemas mais simples que podem ser atacados com uma vasta arquitetura paralela - como a condensação de vários feeds de dados em l Ou de disparar um pré-calculado comprar, vender ou cancelar em um preço que coincide com um determinado padrão CPU s são mais rápidos em problemas mais complexos que exigem menos paralelismo, como o cálculo da cesta de Compra, vende e cancela necessário para manter uma carteira ajustada ao risco ou integrando uma série de fontes de preços e notícias de idade e qualidade variadas em indicadores de negociação usados ​​pelos comerciantes e pela administração para decidir quais ajustes farão para o sistema de negociação. São usados ​​em HFT depende muito da arquitetura de determinada loja Eles são os melhores utilizados executando tarefas simples, repetitivas, ampla e executá-los rapidamente CPU s são uma faca suíça que pode fazer mais nada, especialmente quando os requisitos estão mudando e as dimensões de O problema não é totalmente compreendido no início. Respondido Mar 11 14 às 17 10. Sua pergunta realmente não faz muito sentido É como perguntar o quanto da fiação na infra-estrutura de negociação usa fibra óptica e O quanto ele usa cobre A melhor resposta que podemos dar a você é que um FPGA não é uma bala mágica. Esta é uma interpretação incorreta do papel branco da Cisco s Há muito pouco sobreposição entre os casos de uso de troca de tecido e os de Uma FPGA. que parte de sistemas de HFT são na maior parte implementados em FPGAs hoje em dia. Atualmente, FPGAs são usados ​​frequentemente em nossas impressoras e decodificadores de tevê. responderam Mar 9 14 em 21 55. Eu quero destacar o sinal digital que processa o bloco de DSP com ALUs Hoje FPGAs têm centenas de blocos DSP programáveis ​​a maior com milhares. Agora, de repente, você tem milhares de pequenos processadores à sua disposição, todos capazes de executar cálculos em paralelo Isso é muito mais do que paralelismo fornecido pelo Xeon Phi ou GPUs Na verdade, se você está fazendo modelos de preço de opções ou modelagem de risco estocástico em FPGA, você pode obter mais de 100 vezes mais desempenho em comparação com as últimas GPUs e ainda mais em comparação com as últimas CPU. Along com o bloco DSP Ks, o outro fator principal neste ganho de desempenho é o cache de memória FPGA tem built-in RAM distribuída que é extremamente rápido, permitindo que a largura de banda de 100TB s para ser alcançado em nível de datapath. Usando hoje s FPGAs para estratégias de algo dá grande e massivamente concorrente Computar recurso que é capaz de dar 100 a 1000 vezes aumentar o desempenho em comparação com GPUs ou CPUs A principal ressalva é que você teria que se tornar proficiente em escrever em Verilog ou VHDL. Sanjay Shah CTO Nanospeed. answered 05 de agosto 14 em 18 05. Uma variedade de processadores poderosos e de muitos núcleos estão começando a entrar no espaço de aceleração de hardware que anteriormente era completamente propriedade de FPGAs. Empresas como Tilera, Adapteva e Coherent Logix fornecem esses processadores aqui nos EUA, com o Enyx da França Também fazendo inroads. The verdadeira medida de eficácia destes processadores massivamente paralelo reside na maturidade de suas ferramentas de software que é onde o usuário em potencial deve concentrar sua atenção Ninguém quer programar ou depurar dezenas ou centenas de núcleos usando técnicas manuais Claro que, é óbvio que a largura de banda de IO é tão importante. Na minha experiência pessoal neste espaço eu vejo a adoção de clientes de processadores Logix Coherent como co-processadores ou hardware Aceleradores para aceleração de algo de linguagem C Ao desfrutar do ciclo de design rápido de um ambiente baseado em C, programadores de algo podem ajustar o código para o seu conteúdo de corações e não se preocupar com a codificação de HDL caro e tempo intensivo para FPGAs. The particionamento ideal é ter FPGAs fazer o que Eles fazem melhor - operações repetitivas fixas - e têm processadores de muitos núcleos fazer o que eles fazem melhor acelerar a produtividade de desenvolvedores de algo e velocidade de execução. John Irza, Gerente de Desenvolvimento de Negócios, Coherent Logix, Inc. Audido 6 de agosto 14 em 0 42.Nearly todos HFT Lojas usam arquitetura FPGA Estes dispositivos precisam ser substituídos freqüentemente como rapidamente são ultrapassados ​​pelas últimas melhorias em velocidade, oleodutos, paralelismo, etc A menos que você está re Ady investir 2M por ano, descobrir uma outra estratégia Lote de caras fazendo movimentos de preço diário com caneta e papel estão fazendo bilhões em Omaha, NB. answered Jul 28 16 at 10 31.Your Answer.2017 Stack Exchange, Inc. Desenvolver um FPGA Com o Módulo LabVIEW FPGA eo NI FlexRIO. FPGAs otimizam os sistemas de negociação em nível de rede Eles podem ajudar a gerar e processar dados de rede, descarregando assim certas tarefas de software. O Desafio Eventos de alta volatilidade como o 6 de maio, 2010 Flash Crash levou o US Securities and Exchange Committee SEC ea Comissão de Negociação de Futuros de Mercadorias dos EUA CFTC para mandar verificações de risco e segurança ser implementado no processo de negociação eletrônica Latência e determinismo são indicadores-chave de desempenho de sistemas de negociação eletrônica. A Solução Usando o NI LabVIEW FPGA e hardware NI FlexRIO para desenvolver rapidamente uma computação de alto desempenho HPC, determinista, de baixa latência, baseada em FPGA interruptor de matar que permite que um comerciante Para cancelar suas ordens abertas. A maioria de negociar conservado em estoque é conduzida eletronicamente. Os períodos máximos de troca fornecem as melhores oportunidades negociando para lucros, mas igualmente apresentam o risco o maior para perdas potenciais. Se a um ponto em que os sistemas de negociação diminuem e se tornam ineficazes. Figura 1 Mensagens de pico de um minuto agregadas por segundo. Operações de alta freqüência HFT está impactando a dinâmica do mercado e gerando debates interessantes 1 Independentemente de uma empresa se envolver em HFT, Proteger seus ativos de eventos como o Flash Crash de 6 de maio de 2010 2 É possível que uma empresa comercial usando um campo de porta programável matriz FPGA-base cancelar sistema poderia ter saído do mercado mais rápido do que qualquer outra empresa comercial, reduzindo assim Perdas ver Figura 2. Figura 2 Média Industrial Dow Jones em 6 de maio de 2010 Flash Crash. The FIX Protocolo. Finanças empresas comunicam mercado e comércio de dados v Tais como o Financial Information eXchange FIX Protocol, um padrão de mensagens de transação de troca de valores mobiliários em tempo real, administrado pelo FIX Protocol Limited FPL, um organismo internacional de normas sem fins lucrativos de membros do setor de serviços financeiros, incluindo instituições de Buy-side, , Fornecedores, ECNs trocas, reguladores e outras associações comerciais FIX engine software processa e gera mensagens de FIX QuickFIX é o mecanismo FIX de fato open-source As empresas financeiras usam QuickFIX e comercial FIX closed-source engines. Financial empresas estão se voltando para HPC tecnologia para Fornecem uma vantagem extra sobre seus concorrentes Cada nível de software é otimizado e, nos últimos anos, as empresas estão otimizando suas opções de sistema de negociação usando hardware reconfigurável. FPGAs Reconfigurable Hardware. FPGAs otimizar sistemas de negociação em nível de rede Eles podem ajudar a gerar e processar Rede, descarregando assim determinadas tarefas do software Financi As empresas mais comumente usam FPGAs no mercado de manipulação de dados 3 FPGAs, que podem ter até 1.000 núcleos 4 para processamento de dados paralelo, não têm OS e instrução de busca jitter 5.FPGAs são programados usando uma linguagem de descrição de hardware HDL como Verilog ou VHDL Nem todos os algoritmos podem ser implementados em um FPGA, que é parcialmente devido à natureza de FPGAs e em parte devido a HDL sendo de baixo nível HDL requer mais conhecimento de hardware de destino do que linguagens de programação tradicionais, como ANSI C ou C também, HDL codificação pode resultar em Três a cinco vezes mais tempo de desenvolvimento se o algoritmo pode até mesmo ser implementado em um FPGA Essas linguagens são difíceis de aprender e resultar em arquivos de código fonte muito longo que muitas vezes realizam muito pouco com muito esforço O protocolo FIX é baseado em seqüência e pode beneficiar Grandemente de um FPGA porque as funções da corda estão entre o menos eficiente em um CPU. A plataforma de tecnologia. Porque PXI é baseado em tecnologias padrão do PC tais como Windows e PCI, int Egrating PXI nestes sistemas é semelhante a integrá-los com um PC O barramento PXI combina o barramento PCI de alta velocidade com sincronismo e sincronização O barramento de disparo PXI consiste em oito linhas de barramento de gatilho compartilhado, um gatilho de estrela de baixa inclinação e um Relógio de referência do sistema de 10 MHz Estas características de sincronização podem passar o trigger, clock e outros sinais entre os módulos PXI para fazer medições precisas e de alto desempenho. NI FlexRIO é uma plataforma de hardware reconfigurável baseada em PXI e PXI desenvolvida pela NI que possui duas partes NI Módulos FlexRIO FPGA e módulos adaptadores NI FlexRIO Juntos, este hardware forma um sistema de hardware reconfigurável de alto desempenho que você pode programar com o LabVIEW FPGA mesmo se você não tiver conhecimento de design HDL. O LabVIEW FPGA do NI LabVIEW FPGA oferece uma abordagem gráfica Para o desenvolvimento de lógica FPGA Você pode programar algoritmos financeiros complexos em FPGAs sem profundidade de conhecimento de design digital ou automatização de projeto eletrônico complexo ferramentas EDA O LabVIEW é perfeitamente adequado para a programação em FPGA porque representa de forma intuitiva o paralelismo de FPGA inerente. Figura 3, como o LabVIEW FPGA, reduz o tempo de desenvolvimento sem comprometer os ganhos de desempenho do FPGA. , O LabVIEW FPGA usa técnicas de geração de código para sintetizar o ambiente de desenvolvimento gráfico para hardware FPGA, que em última instância executa as ferramentas de síntese FPGA LabVIEW FPGA single-cycle Timed Loops SCTL fornecer determinismo garantido para executar dentro de um período especificado de pelo menos 40 MHz Esta aplicação Um SCTL executando em 125 MHz Você pode usar hardware personalizado para criar tempo exclusivo e rotinas de disparo ultra-alta velocidade de controle de interface para protocolos digitais e aplicações que exigem alta confiabilidade de hardware de velocidade e determinismo apertado Para esta aplicação, LabVIEW FPGA cria um protocolo - Figura 4 Módulo NI FlexRIO FPGA. Um corretor-negociante é conectado a uma troca As mensagens de comércio entre o corretor-negociante ea troca usam o formato de protocolo de FIX O corretor-negociante submete ordens, que a troca procura combinar Todas as ordens do corretor-negociante estão abertas até uma correspondência A ordem entra na troca As ordens correspondentes são enviadas de volta ao corretor como executadas Em algum ponto, o corretor-dealer detecta um evento, resultando em uma necessidade de cancelar todas as ordens abertas Supondo que o evento detectado causará muitos outros corretores Figura 5.Figura 5 Broker-dealer mantendo uma conexão com uma troca usando mensagens FIX A troca também está conectada a outros mercados e aceita ordem de Estes também Em um evento de gatilho especial, o corretor-negociante envia uma série de ordens de cancelamento para a troca para obter a ordem fora do mercado o mais rapidamente possível. Este sistema usa dois computadores conectar Ed diretamente através de um cabo Ethernet cruzado Os computadores comunicam usando FIX 4 2, executando sobre TCP IP em 1 GB s Ambos os computadores estão executando o Microsoft Windows XP em CPUs Intel x86 Um computador representa o corretor e o outro é a troca O corretor - O comerciante envia a troca várias ordens de compra ou venda que não executam Após a detecção do gatilho, o corretor-revendedor envia mensagens de cancelamento de ordem FIX para todas as ordens abertas Figura 6Figura 6 QuickFIX em operação normal com a placa de interface de rede FPGA Eventos são disparados Diretamente dentro do FPGA, que gera Solicitações de Cancelamento de FIX e as coloca dentro de pacotes TCP IP válidos de uma sessão de FIX existente mantida pelo Engenheiro QuickFIX. O Corredor-Negociante de Computador. O sistema de corretor-revendedor é um computador conectado a um NI de 5 slots Chassis PXI-1033 com controlador MXI-Express integrado Duas placas PXI estão conectadas ao chassi PXI, um módulo NI FPX NI FPX NI PXI-7953 com FPGA Xilinx Virtex-5 LX85 e NI PXI-6070E dat Um dispositivo DAQ de aquisição O módulo NI FlexRIO possui um adaptador Gigabit Ethernet Gigas de Prevas Mimas, que tem dois conectores 8P8C O adaptador NI FlexRIO e Prevas Mimas combinam para funcionar como o cartão de interface de rede do corretor-distribuidor Todo o tráfego de rede passa pelo módulo NI FlexRIO e um Do adaptador Gigas Ethernet Majas Gigas da Prevas, a outra porta não é utilizada para esta aplicação. O adaptador Prelas Mimas tem um chip PHY que converte sinais elétricos 8P8C de entrada em quadros Ethernet e vice-versa. Os quadros Ethernet entram no Xilinx Virtex-5 LX85 FPGA Em bytes U8.Figura 7 O Prevas Mimas Conectado ao Módulo NI FlexRIO. Em condições normais, o módulo NI FlexRIO FPGA envia os dados de quadro Ethernet da camada 2 para fora através do adaptador Prevas Mimas e, passando-o para o barramento PXI, Que é acessível pelo NI reconfigurável IO RIO driver-interface de programas. QuickFIX normalmente interfaces com funções Winsock, que interface com uma pilha de TCP de TCP de origem fechada do Windows Bec Ause é closed-source, não pode interface para os drivers RIO, então este aplicativo usa lwip, uma fonte aberta IP TCP pilha Nós modificamos todas as chamadas QuickFIX para Winsock para chamar a pilha TCP IP lwip, que modificamos para interface com Os drivers RIO. Nós usamos um dispositivo DAQ PXI-6070E para receber e transferir o gatilho cancelar-ordens Uma das linhas de RTSI de integração de sistema em tempo real PXI fez uma conexão elétrica direta entre o cartão DAQ e o módulo FPGA de NI FlexRIO Conectamos um Externo para uma das entradas digitais do dispositivo DAQ de modo que, quando pressionado, o módulo FPGA leia um sinal digital O hardware lê o sinal sem ajuda do computador ou do software. Computador de troca. O computador de troca é composto por outro computador que executa uma entrada não modificada Versão do QuickFIX em execução no modo de servidor A interface de rede é feita através da porta nativa Gigabit Ethernet Sua função é manter uma ordem aberta até que um correspondente chegue ou a ordem seja cancelada. As ordens do nullatching são introduzidas no programa do QuickFIX do corretor-distribuidor Envia-os ao computador da troca, que as prende como ordens abertas O programa QuickFIX do corretor-negociante mantem uma lista de suas ordens abertas Sempre que algum aspecto das mudanças abertas das ordens na corretor - O FPGA recebe uma cópia das informações de cancelamento para cada ordem aberta Abaixo está uma amostra FIX 4 2 ORDER SINGLE tag 35 D mensagem em offset hex e caracteres legíveis only. Figure 8 Uma amostra FIX 4 2 ORDER SINGLE tag 35 D mensagem Em offset hex e os caracteres readable. Figura 9 Uma amostra FIX 4 2 ORDER CANCEL REQUEST tag 35 F mensagem em offset hex e os caracteres legíveis. Pressionar o botão conectado ao PXI-6070E DAQ dispositivo gera um cancelar-ordens gatilho O FPGA gera Uma mensagem de cancelamento de ordem FIX para cada ordem aberta As mensagens FIX são injetadas na sessão TCP ao vivo entre o corretor e máquinas de troca O computador de troca recebe as mensagens de cancelamento de ordem FIX e, não rea Lizar que essas mensagens foram criadas pelo FPGA e não por QuickFIX no computador do corretor, ele cancela todas as ordens referenciadas como se o corretor o instruiu a fazê-lo. Para todo o tráfego FIX normal, o aplicativo QuickFIX lida com cada mensagem FIX Quando o evento de trigger ocorre, o FPGA lida com todas as tarefas de software QuickFIX e TCP IP, gerando as mensagens FIX, segmentos TCP e pacotes IP. À medida que a carga final se transfere para o PHY, o módulo FPGA calcula a trama Ethernet e verificação de redundância cíclica CRC. FPGA tecnologia estabelecida para dados de mercado 3 agora é relevante para aplicações como a geração de mensagens comerciais O volume de comércio e os aumentos de dados estão superando a tecnologia do sistema de negociação As empresas financeiras buscam otimizar o comércio Sistema e, até recentemente, têm se concentrado em software. With otimização de hardware vem a atração de criar o mundo s mais rápido e mais determinista de negociação O PXI de plataforma aberta pode integrar o processamento e a geração de dados de rede baseados em FPGA e os carimbos de tempo IEEE 1588v2 2008 a partir de uma fonte de tempo GPS para medições de latência PXI Express Os módulos FPGA podem comunicar-se eficientemente entre si sem um processador central de acolhimento, utilizando transmissão de dados peer-to-peer para sistemas de negociação multi-FPGA. As empresas financeiras podem agora optimizar o software e o hardware do sistema de negociação para uma maior diferenciação e aumento da competitividade.2 CFTC e SEC, Em relação aos Eventos de Mercado de 6 de maio de 2010 - Relatório dos quadros da CFTC e da SEC ao Comitê Consultivo Conjunto sobre Assuntos Regulatórios Emergentes, 30 de setembro de 2010.5 Scott Sirowy e Alessandro Forin, Microsoft Research, Fast September 2008.Check Out o LabVIEW em Finanças NI Community Page. View um tutorial sobre Preços Opção.

No comments:

Post a Comment