ventajas tipos sistemas sistema procesamiento libros ejemplos distribuidos distribuido distribuida desventajas computacion componentes caracteristicas c++ grid distributed trading

c++ - tipos - sistemas distribuidos ventajas y desventajas



¿Qué estructuras de computación distribuida de la red se favorecen actualmente para los sistemas de negociación? (4)

bajo cálculo de distribución de latencia

''Baja latencia'' y ''distribuido'' son mutuamente excluyentes :)

Pero decir eso, depende de qué tan bajo quieras decir con "baja latencia". Si está hablando de High Frequency Trading (HFT), entonces cualquier implementación va a utilizar el código de red más rápido que pueda tener en sus manos: lo más probable es que tenga pilas TCP / IP personalizadas (por ejemplo, OpenOnload, infiniband nativo, etc.). La red siempre será la parte más lenta de su código, por lo que debe mantener la red al mínimo.

Si está hablando ''rápido'' pero no HFT-rápido (como precios de opciones exóticas / productos estructurados), entonces puede usar casi cualquier cosa que quiera. Trabajé en sistemas que usaban algo como .Net / RPC, JMS (ActiveMQ), sockets TCP / IP, etc. Se trata más de la flexibilidad y facilidad con la que puede definir y enviar datos, en lugar de la velocidad bruta de la red .

Parece que existen bastantes frameworks de grid computing, pero ¿cuáles están siendo utilizados en gran medida por los bancos de inversión para propósitos de cálculo de distribución de baja latencia? Me interesaría escuchar las respuestas que cubren ambas ventanas, Linux y plataforma cruzada. Además, ¿qué mecanismos RPC parecen ser los más favorecidos?

He oído que por razones de baja latencia y velocidad, los cálculos en sí mismos se escriben con frecuencia en C ++ / C, ya que los cálculos que se ejecutan en máquinas virtuales son varios órdenes de magnitud más lentos que el código nativo. ¿Esto parece ser un escenario común en la práctica? por ejemplo, el framework .NET grid distribuido ejecuta cálculos escritos en c ++ / c nativo


Algunas direcciones (utilizadas realmente en algunos bancos de inversión corporativos):

  • Soluciones hechas en casa que involucran PC
    granjas (los comerciantes hacen cola
    solicitudes de computación)
  • GPU

ya que las operaciones financieras computacionalmente intensivas (por ejemplo, la fijación de precios de Monte Carlo) suelen ser muy paralelizables.


Consulte www.zircomp.com zNet C ++ framework se usa en algunos sistemas de comercio electrónico. Es un marco de programación multiplataforma, de núcleo múltiple y distribuido, basado en una arquitectura basada en datos, específicamente adaptada para un alto rendimiento con sistema operativo nativo, con API intuitiva que admite uniformemente datos y paralelismo de tareas.


El servidor G-WAN está comenzando a ganar terreno en esta área. Mezcla la velocidad (y huella) de ANSI C con scripts (totalmente compatibles con ANSI C) (lo que permite la edición / actualización en tiempo real sin detener el servidor).

Se espera que JSON RPC completo esté listo para finales de este año, con el mismo espíritu de eficiencia. Con él podrás implementar computación distribuida.

Esto es una locura al ver lo que lograron poner en 200 KB (servidor + motor de script + muchas características como gráficos, compresión, cifrado, etc.).