Good FIFOs Make Good Thread Neighbors
Offered By: CppNow via YouTube
Course Description
Overview
Explore the intricacies of First-In-First-Out (FIFO) queues and their impact on thread communication in parallel programming during this C++Now 2017 conference talk. Delve into the micro-architectural implications of FIFO implementations, examining various open-source examples and their behavior on different hardware. Follow along as the speaker dissects code and assembly, revealing the inner workings of processor cores. Gain valuable insights into how FIFOs affect performance, covering topics such as thread ordering, coherence networks, prefetching, virtual memory, NUMA considerations, and the challenges of mutex usage. Learn to optimize thread communication for improved parallelism and scalability in your C++ programs.
Syllabus
Intro
Ground Rules
Information - Integrity Matters
Information - Ordering Matters
Obligatory Thread Ordering Example
Thread Communication
First-On First-Out (FIFO) Queue
Chunk of Memory Types
Commonalities
Quiz Time
Coherence Network + Coherence
Experiment
DDR to Core
Prefetch Maybe?
Blue Pill of Virtual Memory
Move Pages (remember NUMA)
Darth Mutex
The Dark Side of Mutex
Alignment
Two socket system, Producer - Consumer Pair
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube