Overview
Explore the evolution and implementation of executors in C++ through this comprehensive ACCU 2018 conference talk. Delve into the journey of the executor proposal, from its initial presentation in 2014 to its status as an unofficial draft TS in 2017. Gain insights into the motivations behind executors, including asynchronous programming, pipelines, and Parallel STL. Examine the executor requirements, interface designs, and concrete examples that showcase the versatility of this fundamental building block for parallel and concurrent programming. Investigate the interactions between executors and coroutine proposals, and learn about customization points, executor traits, and performance considerations. Discover how executors integrate with ASIO and coroutines, and understand the new executor interface, including bulk_twoway execute and executor properties. Acquire knowledge about one-way executions and the latest developments in C++ concurrency and parallelism.
Syllabus
Intro
Kona Compromise
Motivation: async
Motivation: Pipelines
Motivation: Parallel STL
Executor Requirements
Original Executor Interface
Default Executor
Concrete Executors
Mission Accomplished
Abstract Base Class
Executors and Async Ops
Customization Points
Executors (R6)
Executor Traits
Layers
Performance
Data Concentrator
Proposal Status
ASIO With Coroutines
Joint Proposal
New Executor Interface
bulk_twoway execute
Executor Properties
require/prefer
One-Way Executions
Taught by
ACCU Conference