Feb 2, 2019

[Note] design principle

While researching into LMAX found Martin Thompson's video,
although it's cliche
(in the way that senior engineers should have known),
still worth jotting down a note here.


Design Principle

  1. Clear separation of concerns
  2. Garbage free in steady state running
  3. Lock-free, wait-free, and copy-free in data structures in the message path
  4. Repsect the Single Writer Principle
  5. Major data structures are not shared
  6. Don't burden the main path with exceptional cases
  7. Non-blocking in the message path


Succint into 3 things:

  1. System Architecture
  2. Data structures
  3. Protocols of interactions

Data structures:

  • Map
  • IPC Ring Buffers
  • IPC Broadcast Buffers
  • ITC Queues
  • Dynamic Arrays
  • Log Buffers



No comments:

Post a Comment

Note: Only a member of this blog may post a comment.