About this Learning Path

Who is this for?

This is an advanced topic for developers seeking practical ways to test thread synchronization approaches in the Arm memory model.

What will you learn?

Upon completion of this learning path, you will be able to:

  • Test thread synchronization assembly snippets against the formal definition of the Arm memory model.
  • Test thread synchronization assembly snippets on Arm hardware.
  • Compare the results of different thread synchronization approaches.

Prerequisites

Before starting, you will need the following:

  • An understanding of memory consistency models (such as Sequential Consistency, Weak Ordering, Relaxed Consistency, and Processor Consistency).
  • An understanding of thread synchronization.
  • Familiarity with Arm assembly language, and the ability to find relevant information on Arm assembly instructions.
  • Familiarity with general-purpose registers.
  • Familiarity with memory barriers, including Acquire-Release Semantics.
Next