Work Contracts - Rethinking Task Based Concurrency & Parallelism for Low Latency C++ - CppCon 2024
https://cppcon.org
---
Work Contracts - Rethinking Task Based Concurrency and Parallelism for Low Latency C++ - Michael A Maniscalco - CppCon 2024
---
Task-based concurrency offers benefits in streamlining software and enhancing overall responsiveness. Numerous frameworks build upon this approach by furnishing abstractions that harness the capabilities of modern multi-core processors and distributed computing environments. These frameworks achieve this by facilitating the creation of task graphs, which simplify the management of task execution order and dependencies between tasks.
However, these frameworks are typically not well suited for use in low latency environments where every nanosecond matters, and any additional overhead introduced by managing task graphs can impact the system's ability to meet stringent latency requirements.
This presentation introduces Work Contracts, a novel approach specifically tailored for low-latency environments, which re-imagines both task-based concurrency as well as tasks themselves. We present an innovative lock free, often wait free, data structure designed to significantly enhance scalability in parallel task distribution, particularly under high contention. Additionally, we introduce concepts which enhance tasks with internal state allowing for single threaded or parallel execution, recurring execution, and deterministic asynchronous task destruction.
Finally, we examine usage cases for Work Contracts to showcase the advantages that this solution makes possible, resulting in cleaner, more manageable, and more scalable software which is well suited for low latency applications.
---
Slides: https://github.com/CppCon/CppCon2024/blob/main/Presentations/Work_Contracts.pdf
Sponsored by JetBrains: https://www.jetbrains.com/clion/
---
Michael Maniscalco
Michael Maniscalco has been a professional C++ developer for over 25 years. Initially he worked in the area of data compression (Intelligent Compression Technologies, later Viasat) and, for the last decade, he has been employed as a principal engineer and software architect at Lime Trading where he designs and authors low latency software for use in HFT.
He has invented several novel data compression algorithms including M99 and M03 as well as MSufSort, a pioneering algorithm for suffix array construction.
His works have been published and cited in numerous academic publications including the Journal of Experimental Algorithms.
On rare occasion he finds the time to add to his website and github repo, "Building C++" which is a platform dedicated to "Architecting systems with modern C++."
---
CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.
Annual CppCon Conference - https://www.cppcon.org
https://www.linkedin.com/company/cppcon
https://x.com/cppcon
https://www.facebook.com/CppConference
https://www.reddit.com/r/cppcon/
https://mastodon.social/@CppCon
---
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd: https://events.digital-medium.co.uk
---
#lowlatency #concurrency #cpp #cplusplus #cppcon #cppprogramming #cplusplusprogramming #softwaredevelopment #softwareengineering #coding #code #technology #programming #programmer