He leído sobre diferentes implementaciones de sistemas HFT en FPGAs.
- Sistema HFT de argón ( http://trading-gurus.com/argon-design-an-fpga-based-hft-platform/ )
- Implantaciones sólo de hardware o soluciones híbridas http://msrg.org/publications/pdf_files/2010/moTrading-Efficient_Event_Processing_through_.pdf )
- Lenguas específicas de dominio para FPGAs para implementar manejadores de alimentación ( http://msrg.org/publications/pdf_files/2010/moTrading-Efficient_Event_Processing_through_.pdf ).
Proveedores como Cisco afirman haber conseguido los mismos resultados con NIC de alto rendimiento ( http://www.cisco.com/c/dam/en/us/products/collateral/switches/nexus-3000-series-switches/white_paper_c11-716030.pdf ).
Mi pregunta es, ¿qué parte de los sistemas HFT se implementan mayoritariamente en FPGAs hoy en día? ¿Siguen siendo muy populares las FPGAs? ¿Sólo se implementa el gestor de alimentación en las FPGAs? Porque algunos de estos sistemas descritos anteriormente sólo tienen un gestor de alimentación implementado en la FPGA, porque la estrategia cambia demasiado, o es demasiado difícil de implementar en FPGAs. Otros afirman que también han implementado estrategias de trading en FPGAs o usando NICs de alto rendimiento en lugar de FPGAs para construir sistemas HFT. He leído sobre diferentes enfoques, pero me resulta difícil comparar, ya que la mayoría de los resultados se prueban en diferentes conjuntos de entrada.
0 votos
Hay más usos de las FPGA que los que mencionas. Una tarjeta FPGA a menudo se sitúa donde lo hace la NIC en un sistema de sólo CPU. En algunos casos la FPGA es casi autónoma, recibiendo datos de mercado, calculando los teos de una estrategia, disparando órdenes y cubriendo las ejecuciones. En el otro extremo de la escala, funcionan como una NIC inteligente, extrayendo los datos brutos del mercado y el tráfico de órdenes y alimentando una aplicación que se ejecuta en el servidor con sólo los datos que necesita. Una FPGA o NIC tiene una latencia de transcepción a la red similar a la que tiene sobre el bus PCIE, pero dos veces más para todo lo que va a la aplicación.