Exploiting Concurrency in Domain-Specific Data Structures: A Concurrent Order Book and Workload Generator for Online Trading
Résumé |
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 paral- lelizing 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. |
Mots-clés |
|
Citation | R. Barazzutti, et al., "Exploiting Concurrency in Domain-Specific Data Structures: A Concurrent Order Book and Workload Generator for Online Trading," in NETYS'16: International Conference on NETworked sYStems, Marrakech, Morocco, 2016. |
Type | Actes de congrès (Anglais) |
Nom de la conférence | NETYS'16: International Conference on NETworked sYStems (Marrakech, Morocco) |
Date de la conférence | 18-5-2016 |
Liée au projet | SRT-15: Intelligence Push in the Enterprise Realm |