Friday 28 July 2017

Sistemas Comerciais Fpga


Lido sobre implementações diferentes de sistemas HFT em FPGAs. A minha pergunta é, que parte dos sistemas HFT são implementados principalmente em FPGAs atualmente. FPGAs ainda são muito populares. Somente 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, pois a maioria dos resultados são testados em diferentes conjuntos de entrada. Perguntou 9 de março à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, Na 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 feed (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 processar dados rapidamente, sem pagar os custos de propagação. Isto está 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 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 armazena os resultados, e depois faz 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 em alternar entre tarefas diferentes. 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 idade e qualidade variáveis ​​em indicadores comerciais usados ​​por Comerciantes e gerentes para decidir quais os ajustes que farão para o sistema de negociação. Onde FPGAs são usados ​​em HFT depende muito da arquitetura de determinada loja. Eles são melhor utilizados executando tarefas simples, repetitivas e amplas e realizando-as rapidamente. As CPUs são uma faca suiç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 livro 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. Atualmente, os FPGAs 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. Na verdade, 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 últimas CPUs. Junto com os blocos DSP, o outro fator importante 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 oferece um recurso de computação grande e massivamente concorrente capaz de dar um aumento de desempenho de 100 a 1000 vezes em comparação com GPUs ou CPUs. A advertência principal é 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 processadores poderosos e 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, e a Enyx da França também faz 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 pelos clientes 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 a codificação HDL dispendiosa e intensiva em tempo para FPGAs. O particionamento ideal é que os FPGAs façam o que melhor fazem - repararam operações repetitivas - e os processadores de vários núcleos fazem o que melhor fazem: acelerar a produtividade e a velocidade de execução dos desenvolvedores. John Irza, Gerente de Desenvolvimento de Negócios, Coherent Logix, Inc. respondeu em 6 de agosto às 0:42 Quase todas as lojas HFT usam a arquitetura FPGA. Esses dispositivos precisam ser substituídos com freqüência, já que 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ço 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, IncO projeto FPP UDP Ping Jumpstart oferece às lojas comerciais um ponto de partida para desenvolver plataformas de negociação Ethernet de 10Gb baseadas em FPGA de baixa latência. Enquanto o processador de alimentação ITCH do FPGA, o Jumpstart Design fornece o melhor local de início para implementar manipuladores de feed para locais como BATS, ARCA, EDGX, nem todos os sistemas de negociação exigem esse tipo de funcionalidade de manipulador de feed. Conforme fornecido, o Jumpstart Design recebe pacotes UDP superiores a 10 Gb Ethernet, fonte de swaps e endereços IP de destino, recompõe a soma de verificação do cabeçalho IP, recompõe a soma de verificação UDP e envia o pacote recebido. O design é extensível para implementar manipuladores de alimentação. Lógica de gatilho de troca e módulos de entrada de pedidos, para um sistema de negociação completo baseado em FPGA. O processador de alimentação ITCH da FPGA em FPGA fornece um design de trabalho para iniciar iniciativas de negociação baseadas em FPGA. Conforme entregue, o manipulador de alimentação aceita dados de mercado da NASDAQ ITCH em 10 Gb Ethernet, mantém um livro de pedidos e gera o topo dos eventos de livros internamente toda vez que o livro de pedidos é afetado. As respostas de UDPSyslog de saída de melhor oferta ou oferta são enviadas em resposta aos principais eventos do livro. O design é extensível para implementar a entrada da ordem, para um sistema de negociação completo baseado em FPGA. Notícias recentes O presidente da In-FPGA Trading Systems, Cameron Elliott tem mais de 28 anos de experiência em desenvolvimento de software e sistemas, incluindo sistemas integrados, em tempo real, de baixa latência e de alta confiabilidade. Cameron desenvolveu manipuladores de feed de dados de mercado para locais como NASDAQ, BATS, ARCA. Ele implantou sistemas de negociação no centro de dados de co-instalação do NASDAQs Carteret, NJ. Ele implementou todos os aspectos do processo de negociação, incluindo manuseio de alimentação, lógica de gatilho comercial e entrada de pedidos de saída tipicamente encontrados em sistemas de negociação de baixa latência. Anteriormente, como CTO e CEO da Spam Arrest, a Cameron co-fundou a primeira empresa baseada em anti-spam da lista branca baseada em Captcha, fornecendo proteção contra spam 24x7. O Spam Arrest foi classificado como um dos sites mais vendidos em 2000 pelo Alexa, manipulou bilhões de mensagens por ano e foi coberto pelo LA Times, Washington Post, Reuters e outros meios de comunicação. Para a Terabeam Corporation, a Cameron desenvolveu a primeira implementação de videoconferência HDTV de baixa latência sobre IP. Este sistema desempenhou um papel importante ao permitir que Terabeam levante cerca de 500 milhões de dólares em 2000. Cameron foi um fundador técnico da Cellular Technical Services, onde desenvolveu o produto principal da CTS, um sistema de cobrança de telefone celular Unix em tempo real. A CTS passou a ser uma das melhores empresas classificadas em Washington, e foi negociada publicamente na troca do NASDAQ. Cameron possui uma opção BS, Cum Laude, Aplicada Computacional e Ciências da Matemática da Universidade de Washington, Seattle. Categorias Copyright copy 2010, In-FPGA. Todos os direitos reservados.

No comments:

Post a Comment