Exploiting Concurrency in Domain-Specific Data Structures: A Concurrent Order Book and Workload Generator for Online Trading

Raphaël P. Barazzutti;Yaroslav Hayduk;Pascal Felber;Riviere, Etienne
(2016) International Conference on Networked Systems

Files

097a4cbd9fffc5ce215a02657cd1e27f5b31.pdf
  • Open Access
  • Adobe PDF
  • 598.89 KB

Details

Authors
  • Raphaël P. BarazzuttiUniversity of Neuchatel
    Author
  • Yaroslav HaydukUniversity of Neuchatel
    Author
  • Pascal FelberUniversity of Neuchatel
    Author
  • Author
Abstract
Concurrent programming is essential to exploit parallel processing capabilities of modern multi-core CPUs. While there exist many languages and tools to simplify the development of concurrent programs, they are not always readily applicable to domain-specific problems that rely on complex shared data structures associated with various semantics (e.g., priorities or consistency). In this paper, we explore such a domain-specific application from the financial field, where a data structure—an order book—is used to store and match orders from buyers and sellers arriving at a high rate. This application has interesting characteristics as it exhibits some clear potential for parallelism, but at the same time it is relatively complex and must meet some strict guarantees, notably w.r.t. the ordering of operations. We first present an accurate yet slightly simplified description of the order book problem and describe the challenges in parallelizing it. We then introduce several approaches for introducing concurrency in the shared data structure, in increasing order of sophistication starting from lock-based techniques to partially lock-free designs. We propose a comprehensive workload generator for constructing histories of orders according to realistic models from the financial domain. We finally perform an evaluation and comparison of the different concurrent designs.
Affiliations

Citations

Raphaël P. Barazzutti, Yaroslav Hayduk, Pascal Felber, & Riviere, E. (2016). Exploiting Concurrency in Domain-Specific Data Structures: A Concurrent Order Book and Workload Generator for Online Trading. International Conference on Networked Systems. Published. International Conference on Networked Systems. https://hdl.handle.net/2078.5/256314