Addressing the trends of using hardware accelerated solutions EPAM provides software development services to build embedded trading systems and its components, including:

  • Market data feed processing
  • Risk management 
  • Order/Trades transaction protocols processing (via FIX, OUCH, ArcaDirect protocols)
  • "Kill switch" type of algorithms 
  • Message Auditing 
  • Time stamping 
  • Non-intrusive monitoring

Currently we are focusing on the use of intelligent network packet processors, utilizing the PCI express interface.

Supported PCI cards

We have implemented projects for cards powered by Broadcom processors, e.g.:

Having part of the trading algorithm or communication protocol offloaded to card provides an efficient way to control jitter and guarantees consistent latency at any time.

Services For Embedded Solutions _1_small

Benefits

Combination of NIC PCI card and C programmable network acceleration processor creates an excellent environment for parallel processing of network packets for financial protocols because of the following factors:

  • Ethernet ports connected directly to CPU(s) minimize the latency
  • Inbound/outbound packets are processed by multiple CPU cores at the same time using a number of HW queues; CPUs are efficiently fed with packet data.
  • In contrast to FPGAs, no new design for packet processing acceleration is needed; it is already built-in into CPU and is well-optimized. C language programs can leverage hardware acceleration out of the box.
  • C programs experience no task/context switches, no page table refills due to part of CPU cores being run without OS, allowing for very consistent request/response time
  • A PCI Express card or 1U server deployment form factor
  • Up to 128Gb RAM, up to 128 RISC cores @ 1.6GHz in multi-CPU deployments in 1U server form factor
  • Embedded Linux may run on a number of isolated cores which helps to easily provide network protocols like BGP  - the PCI card may act as the 1st network gateway.

 Our framework currently works with Broadcom (former NetLogic) CPU PCI-e cards having several Ethernet ports and 8-32 cores 1-2 GHz CPUs on board.

Services For Embedded Solutions _2_small

Software licensing options

We license set of software components to clients to expedite development of custom solutions including:

TCP Offload components
  • Linux socket library for seamless integration with existing applications that continue to use socket API
  • Open source TCP stacks adapted for TCP offload engine on the card with a number of choices
Financial
  • FIX, ArcaDirect, CMI protocol support on the card
  • Order/trade/market data storage and lookup
Common infrastructure
  • Tools for prototyping on PC (Linux and Windows) applications which will run on the intelligent card
  • Shared memory based API for inter-process communication
  • Logging on the card with an option to push logs outside via TCP
  • Remote access to the card to update the software or  card self-updating from FTP