modern c
play

Modern C++ Old Dog, New Tricks Todd L. Montgomery @toddlmontgomery - PowerPoint PPT Presentation

StoneTor Modern C++ Old Dog, New Tricks Todd L. Montgomery @toddlmontgomery C++ is so old Languages are Tools Learning Tools is Good There are only two kinds of languages: the ones people complain about and the ones nobody uses.


  1. Architecture Client Media Driver Media Driver Client Publisher Subscriber Receiver Sender Media Admin Events Conductor Conductor Conductor Conductor Events Admin Receiver Sender Subscriber Publisher IPC Log Buffer Media (UDP, InfiniBand, PCI-e 3.0) Function/Method Call Volatile Fields & Queues IPC Ring/Broadcast Buffer

  2. Data Structures (Shared Memory) • IPC Ring Buffers • IPC Broadcast Buffers • IPC Log Buffers

  3. What Aeron does Creates a 
 replicated persistent log 
 of messages

  4. Log Buffer File Term 0 Atomic & Ordered Operations Term 1 Term 2 Log Meta Data

  5. Position

  6. Unique identification of a byte within each stream

  7. Publishers, Senders, 
 Receivers, and Subscribers 
 all keep position counters

  8. Position counters are the key to 
 flow control and monitoring

Recommend


More recommend