In computer science, a synchronizer is an algorithm that can be used to run a synchronous algorithm on top of an asynchronous processor network, so enabling the asynchronous system to run as a synchronous network.

The concept was originally proposed in (Awerbuch, 1985) along with three synchronizer algorithms named alpha, beta and gamma which provided different tradeoffs in terms of time and message complexity. Essentially, they are a solution to the problem of asynchronous algorithms (which operate in a network with no global clock) being harder to design and often less efficient than the equivalent synchronous algorithms. By using a synchronizer, algorithm designers can deal with the simplified "ideal network" and then later mechanically produce a version that operates in more realistic asynchronous cases.

Available synchronizer algorithms

edit

The three algorithms that Awerbuch provided in his original paper are as follows:

  • Alpha synchronizer: This has low time complexity but high message complexity.
  • Beta synchronizer: This has high time complexity but low message complexity.
  • Gamma synchronizer: This provides a reasonable tradeoff between alpha and beta by providing fairly low time and message complexity.

Since the original paper, other synchronizer algorithms have been proposed in the literature.

References

edit
  • Baruch Awerbuch (1985). "Complexity of Network Synchronization" (PDF).

📚 Artikel Terkait di Wikipedia

Synchronizer

Look up synchronizer in Wiktionary, the free dictionary. Synchronizer may refer to: Part of a synchromesh manual transmission in an automobile Synchronization

Clock synchronization

server, the synchronization solution is trivial; the server will dictate the system time. Cristian's algorithm and the Berkeley algorithm are potential

Network Time Protocol

intended to synchronize participating computers to within a few milliseconds of Coordinated Universal Time (UTC). It uses the intersection algorithm, a modified

Synchronization (computer science)

processes. One of the challenges for exascale algorithm design is to minimize or reduce synchronization. Synchronization takes more time than computation, especially

Gold code

A Gold code, also known as Gold sequence, is a type of binary sequence used in telecommunications (CDMA) and satellite navigation (GPS). Gold codes are

Cristian's algorithm

Cristian's algorithm (introduced by Flaviu Cristian in 1989) is a method for clock synchronization which can be used in many fields of distributive computer

Non-blocking algorithm

In computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread;

Gale–Shapley algorithm

Gale–Shapley algorithm (also known as the deferred acceptance algorithm, propose-and-reject algorithm, or Boston Pool algorithm) is an algorithm for finding