Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Developing High-Frequency Trading Systems

You're reading from  Developing High-Frequency Trading Systems

Product type Book
Published in Jun 2022
Publisher Packt
ISBN-13 9781803242811
Pages 320 pages
Edition 1st Edition
Languages
Authors (3):
Sebastien Donadio Sebastien Donadio
Profile icon Sebastien Donadio
Sourav Ghosh Sourav Ghosh
Profile icon Sourav Ghosh
Romain Rossier Romain Rossier
Profile icon Romain Rossier
View More author details

Table of Contents (16) Chapters

Preface Part 1: Trading Strategies, Trading Systems, and Exchanges
Chapter 1: Fundamentals of a High-Frequency Trading System Chapter 2: The Critical Components of a Trading System Chapter 3: Understanding the Trading Exchange Dynamics Part 2: How to Architect a High-Frequency Trading System
Chapter 4: HFT System Foundations – From Hardware to OS Chapter 5: Networking in Motion Chapter 6: HFT Optimization – Architecture and Operating System Chapter 7: HFT Optimization – Logging, Performance, and Networking Part 3: Implementation of a High-Frequency Trading System
Chapter 8: C++ – The Quest for Microsecond Latency Chapter 9: Java and JVM for Low-Latency Systems Chapter 10: Python – Interpreted but Open to High Performance Chapter 11: High-Frequency FPGA and Crypto Other Books You May Enjoy

C++ 14/17 memory model

In this section, we will explore the definition and specification of the memory model for modern C++ (11, 14, and 17). We will investigate what it is, why it is needed for multi-threaded applications, and the important principles of the C++ memory model.

What is a memory model?

A memory model, a.k.a. a memory consistency model, specifies the allowed and expected behavior of multi-threaded applications that interact with shared memory. The memory model is the foundation of the concurrency semantics of shared memory systems. If there are two concurrent programs, one writing to and another reading from a shared memory space, the memory model defines the set of values that a read operation is allowed to return for any combination of reads and writes.

Implementation of the memory models (C++ or otherwise) must be constrained by the rules specified by the memory models, because if the outcome cannot be inferred from the order of reads and writes, then it...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}