Addressing the trends of using hardware accelerated solutions, EPAM provides software development services to build embedded trading systems and their 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.:

  • RPE-120 PCI Express Broadcom XLP 8xx Packet Processor Card
  • R7R-400 Quad Broadcom XLR 732 Rack Mount 1U Server with Integrated Fulcrum FM4224 10GigE Switching
  • We can also support cards or appliances powered by Marvell, Tilera, NXP processors.

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.

B2BITS services for embedded solutions. Supported PCI cards

Benefits

The combination of an NIC PCI card and a C programmable network acceleration processor creates an excellent environment for the 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.

B2BITS services for embedded solutions. Broadcom CPU PCI-e cards

Software licensing options

We license sets of software components to clients to expedite the 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