Echo Algorithm
From CasGroup
for
Echo Algorithm
Jump to:
navigation
,
search
A typical example for a [[Total Algorithm|total algorithm]] is the echo algorithm, which has been discovered by Ernest J.H. Chang in 1982. == Echo Algorithm == The echo algorithms consists of two phases or waves: a forward wave of explorer messages which spread through a net, and a backward wave of echo messsages which is created if the explorer wave front hits the border of the net. The explorer wave travels from the initiator to the border of the distributed system and can be used to disseminate information, the echo wave travels from the border of system back to the initiator and can be used to collect information from the system. During the propagation of the first explorer wave, a spanning tree is constructed which consists of all the predecessor nodes stored in the parameter "pred" at each node. The echo wave travels back along this spanning tree to the initiator. If it reaches the initiator, the algorithm is terminated. All nodes or processes are initiated with Initiator = false; Engaged = false; N = 0; The parameter "Engaged" shows if the explorer wave has already visited the node, and the echo counter N contains the number of echos the node has received. The initiator starts like this Initiator = true; Engaged = true; Send Explorer-Msg to all Neighbors; If a process receives a Message from process p it reacts like the following piece of code: each node which is visited for the first time by an explorer message will propagate itself explorer messages to all its neighbors and waits for responses ("echos") from the neightbors. If all neighbors have responded, the node sends itself an echo-message to its predecessor. IF NOT Engaged THEN Engaged = TRUE; N = 0; Pred = p; Send Explorer-Msg to all Neighbors except p; N = N + 1; IF N == #Neighbors THEN Engaged = FALSE; IF NOT Initiator THEN Send Echo-Msg to Pred ELSE finished; The '''message extinction principle''' says that if two explorer messages hit each other on a single link, then both extinguish each other. They are received, but have no effect, because both sender nodes are already marked as "engaged". == Articles == Ernest J.H. Chang, ''Echo Algorithms: Depth Parallel Operations on General Graphs'', IEEE Transactions on Software Engineering, Vol. 8, No. 4, July 1982 [[Category:Distributed Algorithms]]
Return to
Echo Algorithm
.
Views
Page
Discussion
View source
History
Personal tools
Log in
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Search
Toolbox
What links here
Related changes
Special pages