Difference between revisions of "Synchronization"

From NaplesPU Documentation
Jump to: navigation, search
Line 4: Line 4:
  
 
== Barrier Synchronization Protocol ==
 
== Barrier Synchronization Protocol ==
 
+
The Barrier protocol is based on a message passing. We have three type of message:
 +
*'''Setup_Message''': It configures the struct of Barrier in ''Synchronization Core'';
 +
*'''Account_Message''': It notifies to ''Synchronization Core'' that the thread is arrived to point of Barrier;
 +
*'''Release_Message''': It notifies from ''Synchronization Core'' to ''Barrier Core'' that all thread  are arrived to point of Synchronization, so the Barrier can end. 
 
=== Example of Barrier ===
 
=== Example of Barrier ===
  

Revision as of 16:27, 7 November 2017

Per Daniele

The nu+ manycore supports an hardware mechanism for Synchronization. The mechanism of synchronization is based on Barrier primitive. A barrier for a group of threads in the source code means any thread must stop at this point and cannot proceed until all other threads reach this barrier.

Barrier Synchronization Protocol

The Barrier protocol is based on a message passing. We have three type of message:

  • Setup_Message: It configures the struct of Barrier in Synchronization Core;
  • Account_Message: It notifies to Synchronization Core that the thread is arrived to point of Barrier;
  • Release_Message: It notifies from Synchronization Core to Barrier Core that all thread are arrived to point of Synchronization, so the Barrier can end.

Example of Barrier

Barrier Synchronization Architecture

Boot Setup

Barrier Core

Synchronization Core