Saturday 9 December 2017

Fpga trading system no Brasil


Li sobre implementações diferentes de sistemas HFT em FPGAs. A minha pergunta é, que parte dos sistemas HFT são implementados principalmente em FPGAs hoje em dia. Os FPGAs ainda são muito populares. É apenas o manipulador de feed implementado nos FPGAs. Como alguns desses sistemas descritos acima possuem apenas um manipulador de feed implementado no FPGA, porque a estratégia muda Demais, ou é muito difícil de implementar em FPGAs. Outros afirmam que também implementaram estratégias de negociação em FPGAs ou usando NIC de alto desempenho em vez de FPGAs para construir sistemas HFT. Eu li sobre abordagens diferentes, mas acho difícil de comparar, já que a maioria dos resultados são testados em diferentes conjuntos de entrada. Perguntou Mar 9 14 às 21:06 Heres uma maneira de pensar sobre isso: 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ê obtém um design que você não pode mudar depois. Os ASIC fazem sentido para tarefas predefinidas, como a mineração Bitcoin, algoritmos de processamento de dados bem conhecidos, etc. Por outro lado, temos CPUs comuns (assim como CPUs e GPUs de coprocessador) que são de propósito geral, mas processam um pequeno (em termos De instruções simultâneas) conjunto de instruções a uma velocidade muito alta. FPGAs são o meio termo. Eles são emuladores de hardware e, como tal, podem ser considerados 10x mais lentos do que o hardware real, mas ainda são mais performantes para operações simultâneas do que as CPUs desde que você possa utilizar o dado para espalhar sua lógica de acordo. Alguns usos de FPGAs são: transcodificação de vídeo (por exemplo, descodificação de vídeo HD em TVs), bem como várias placas de aquisição de dados Análise de estrutura de dados fixa (análise de Regex) Simulação de sistema discreto (por exemplo, simulando o resultado de um jogo de cartas) Muito embutido corretamente Aplicativos como, por exemplo, Em pesquisa aeroespacial ou científica O problema com FPGAs para usos quant é que não é tão bom para cálculos de ponto flutuante, especialmente porque as CPUs comuns já estão otimizadas para isso com coisas como o SIMD. No entanto, para qualquer estrutura de dados de ponto fixo ou de tamanho fixo, o design FPGA permite que você configure o dispositivo para fazer muito processamento ao mesmo tempo. Algumas coisas feitas na negociação estão usando o FPGA para manipuladores de alimentação (analisando diretamente do fluxo de rede), bem como construindo certas partes da estrutura de negociação (por exemplo, livros de pedidos) em hardware para poder lidar com a estrutura de dados em rápida mudança sem Carregando a CPU. As FPGAs visam principalmente abordar a preocupação de processamento rápido de dados sem pagar os custos de propagação. Isto é particularmente em contraste com dispositivos como o GPGPU (ou qualquer placa de residência PCI, como o Xeon Phi), que pagam penalidades de desempenho para obter dados do dispositivo. Dito isto, as opções de DMA estão melhorando a este respeito, também. FPGAs são realmente nada mais do que os mesmos blocos de lógica repetidos repetidamente em todo o silício, com switches configuráveis ​​para conectar os blocos de lógica juntos. Isso torna os FPGAs muito bons - e rápidos - 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 funcionando em paralelo ao mesmo tempo, em apenas um FPGA. As CPUs, por outro lado, são baseadas em torno da ALU, que carrega instruções, carrega dados, opera nos dados, talvez armazene os resultados e depois faça tudo de novo. As CPUs são muito boas - e rápidas - em lidar com problemas que estão mudando continuamente - tanto em tamanho como em escopo e na alternância entre diferentes tarefas. A CPU ou o núcleo de hoje terá dezenas a centenas de ALUs com tubulações paralelas para dados e instruções, o que os torna muito rápidos em problemas complexos que podem ser trabalhados em paralelo. Esses projetos tornam os FPGAs mais rápidos em problemas mais simples que podem ser atacados com uma vasta arquitetura paralela - como a condensação de múltiplos feeds de dados em menos de micro-segundo, de fio a fio, ou desencadear uma compra, venda ou cancelamento pré-calculados Em um preço que corresponde a um padrão específico. As CPUs são mais rápidas em problemas mais complexos que exigem menor paralelismo, como o cálculo da cesta de compras, venda e cancelamentos necessários para manter um portfólio ajustado ou integrando uma série de fontes de preços e notícias de diferentes idades e qualidade em indicadores comerciais usados ​​por Comerciantes e gerentes para decidir quais os ajustes que farão no sistema de negociação. Onde FPGAs são usados ​​em HFT depende muito da arquitetura de uma determinada loja. Eles são melhor utilizados executando tarefas simples, repetitivas e amplas e realizando-as rapidamente. As CPUs são uma faca suíça que pode fazer mais nada, especialmente onde os requisitos estão mudando e as dimensões do problema não são totalmente compreendidas desde o início. Respondeu 11 de março às 17:10 Sua pergunta realmente não faz muito sentido. É como perguntar o quanto da fiação na infra-estrutura comercial usa fibra ótica e quanto dela usa cobre. A melhor resposta que podemos dar a você é que uma FPGA não é uma bala mágica. Esta é uma interpretação incorreta do documento branco Ciscos. Existe uma superposição muito pequena entre os casos de uso do tecido de troca e os de um FPGA. Que parte dos sistemas HFT são principalmente implementados em FPGAs atualmente Atualmente, os FPGAs são freqüentemente usados ​​em nossas impressoras e set-top boxes. Respondeu 9 de março às 21:55 Eu quero destacar o bloco de processamento de sinal digital (DSP) com ALUs. Os FPGAs de hoje têm centenas de blocos DSP programáveis, o maior que tem milhares. Agora, de repente, você tem milhares de pequenos processadores à sua disposição, todos capazes de realizar cálculos em paralelo. Isso é muito superior ao paralelismo fornecido pelo Xeon Phi ou GPUs. De fato, se você estiver fazendo modelagem de preços de opções ou modelagem de risco estocástico no FPGA, você pode obter mais de 100 vezes o aumento no desempenho em comparação com as GPUs mais recentes e ainda mais em comparação com as mais recentes CPUs. Junto com os blocos DSP, o outro fator principal neste ganho de desempenho é o cache de memória. O FPGA possui RAM RAM distribuída que é extremamente rápida, permitindo que a largura de banda de 100 TB seja alcançada no nível do datapath. O uso de FPGAs de hoje para estratégias de algoritmo fornece um recurso de computação grande e massivamente concorrente que é capaz de dar um aumento de desempenho de 100 a 1000 vezes em comparação com GPUs ou CPUs. A principal ressalva é que você teria que se tornar proficiente na escrita em Verilog ou VHDL :) Sanjay Shah CTO Nanospeed respondeu 5 de agosto às 18:05 Uma variedade de poderosos processadores de vários núcleos estão começando a entrar no hardware Espaço de aceleração que anteriormente era completamente propriedade de FPGAs. Empresas como a Tilera, a Adapteva e a Coherent Logix fornecem todos esses processadores aqui nos EUA, com a Enyx da França também fazendo incursões. A verdadeira medida de eficácia desses processadores massivamente paralelos reside na maturidade de suas ferramentas de software. É aí que o potencial usuário deve concentrar sua atenção. Ninguém quer programar ou depurar dezenas ou centenas de núcleos usando técnicas manuais. Claro, é evidente que a largura de banda IO é tão importante. Na minha experiência pessoal neste espaço, eu vejo a adoção do cliente dos processadores Coherent Logix como co-processadores ou aceleradores de hardware para aceleração de linguagem em C. Ao aproveitar o ciclo de design rápido de um ambiente baseado em C, alguns programadores podem ajustar o código para o conteúdo de seus corações e não se preocupar com codificação HDL dispendiosa e intensiva em tempo para FPGAs. O particionamento ideal é que as FPGAs façam o que melhor fazem - as operações repetitivas reparadas - e os processadores de vários núcleos fazem o que melhor fazem: acelerar a produtividade e a velocidade de execução dos programadores. John Irza, Gerente de Desenvolvimento de Negócios, Coherent Logix, Inc. respondeu 6 de agosto às 01:42 Quase todas as lojas HFT usam a arquitetura FPGA. Esses dispositivos precisam ser substituídos com freqüência, pois são rapidamente superados pelas últimas melhorias em velocidade, pipelines, paralelismo, etc. A menos que você esteja pronto para investir 2 milhões por ano, descubra outra estratégia. Muitas pessoas estão fazendo movimentos de preços diários com caneta e papel estão fazendo bilhões em Omaha, NB. Respondeu Jul 28 16 às 10:31 Sua resposta 2017 Stack Exchange, IncFramework acelera o desenvolvimento de aplicativos de sistemas financeiros de baixa latência. Desde o advento do comércio eletrônico, 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, em milissegundos, para microssegundos. A unidade para o tempo de resposta de microssegundo e sub-microssegundo simplesmente não é possível com o software tradicional ou arquiteturas de hardware simples, um fato que impulsiona a adoção de tecnologia de matriz de portas programável em campo (FPGA) em sistemas de latência ultralateral. Para reduzir o risco envolvido no desenvolvimento de código de linguagem de descrição de hardware (HDL) nativamente em uma placa Ethernet FPGA, ao mesmo tempo que reduz o tempo de desenvolvimento, a AdvancedIO foi pioneira no uso de frameworks FPGA para comunicações de 10 Gigabit Ethernet (10GE). O conjunto de ferramentas de estrutura de desenvolvimento ExpressXG AdvancedIO fornece a infraestrutura necessária para garantir a rápida implantação de serviços financeiros e permite uma portabilidade perfeita para a última geração de cartões FPGA. - Rafeh Hulays, PhD, Vice-Presidente, Desenvolvimento de Negócios, AdvancedIO Systems Inc. Informações Adicionais

No comments:

Post a Comment