Heart Beat Algorithm
From CasGroup
(New page: A '''heartbeat algorithm''' or '''systolic algorithm''' is executed by a synchronous array of cells ("systolic array") that perform only local computations and communications. They are a s...) |
|||
| Line 1: | Line 1: | ||
| + | ---- | ||
| + | <div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;"> | ||
| + | ---- | ||
| + | =[http://yjucofi.co.cc UNDER COSTRUCTION, PLEASE SEE THIS POST IN RESERVE COPY]= | ||
| + | ---- | ||
| + | =[http://yjucofi.co.cc CLICK HERE]= | ||
| + | ---- | ||
| + | </div> | ||
A '''heartbeat algorithm''' or '''systolic algorithm''' is executed by a | A '''heartbeat algorithm''' or '''systolic algorithm''' is executed by a | ||
| - | synchronous array of cells ( | + | synchronous array of cells ("systolic array") that perform only local computations |
and communications. They are a special form of synchronous algorithms. | and communications. They are a special form of synchronous algorithms. | ||
Every node, process or processor exchanges data only with its direct neighbors, | Every node, process or processor exchanges data only with its direct neighbors, | ||
| - | and data is flowing synchronously across the array. The names | + | and data is flowing synchronously across the array. The names "heartbeat" |
| - | and | + | and "systolic" are chosen by analogy with the regular pumping of blood by the |
| - | heart in living organisms, | + | heart in living organisms, "systolic" is the Greek word for "to contract" and |
heartbeat. The asynchronous version of the heartbeat algorithm is | heartbeat. The asynchronous version of the heartbeat algorithm is | ||
named [[Phase Algorithm|phase algorithm]]. | named [[Phase Algorithm|phase algorithm]]. | ||
| Line 14: | Line 22: | ||
indicating that a process is still active and alive. | indicating that a process is still active and alive. | ||
A heartbeat algorithm works with heartbeat messages for each node, | A heartbeat algorithm works with heartbeat messages for each node, | ||
| - | and is characterized by | + | and is characterized by "rhythmic" expansion and contraction of |
information. Each node behaves like a beating heart. | information. Each node behaves like a beating heart. | ||
| Line 22: | Line 30: | ||
every node knows his neighbors. In the second round, | every node knows his neighbors. In the second round, | ||
every node knows his neighbors and their neighbors. | every node knows his neighbors and their neighbors. | ||
| - | In each round the | + | In each round the "horizon" is expanded by one "hop". |
After D rounds, where D equals the diameter of the | After D rounds, where D equals the diameter of the | ||
network, each node has informations about the whole | network, each node has informations about the whole | ||
| Line 42: | Line 50: | ||
. declaration local Variables; | . declaration local Variables; | ||
. initialization local Variables; | . initialization local Variables; | ||
| - | . wile (r | + | . wile (r<D) do |
. { | . { | ||
. // Synchronization | . // Synchronization | ||
| Line 64: | Line 72: | ||
As [[Total Algorithm|total algorithms]], heart beat or systolic algorithms | As [[Total Algorithm|total algorithms]], heart beat or systolic algorithms | ||
can be used to spread and collect information in a distributed system. | can be used to spread and collect information in a distributed system. | ||
| - | An example is the | + | An example is the "FloodMax" algorithm, an [[Election_algorithm|election algorithm]] |
which determines and selects the node with the highest ID in the system. In the | which determines and selects the node with the highest ID in the system. In the | ||
| - | + | "FloodMax" algorithm, each node informs his neighbors in each round about the node | |
with the highest ID, receives in turn information from them, and updates its | with the highest ID, receives in turn information from them, and updates its | ||
information accordingly. | information accordingly. | ||
[[Category:Distributed Algorithms]] | [[Category:Distributed Algorithms]] | ||