Yo-yo (algorithm)
   HOME



picture info

Yo-yo (algorithm)
Yo-Yo is a distributed algorithm aimed at minimum finding and leader election in generic connected undirected Graph (discrete mathematics), graph. Unlike Mega-Merger it has a trivial termination and cost analysis. Introduction Yo-yo was introduced by Nicola Santoro. It proceeds by consecutive elimination and a graph-reduction technique called ''pruning''. The algorithm is divided in a pre-processing phase followed by a cyclic repetition of a forward phase, called "Yo-" and a backward one, called "-Yo". Pre-requisites Yo-Yo builds elects a Leader election, minimum leader under the following premises: * Total reliability: No message is lost in transmission. * Initial Distinct Values (ID): Each node has a unique identifier. * Bi-directional communications channels: Each edge is bi-directional, communications can travel in both directions. No further restrictions are necessary. Algorithm Preprocessing The preprocessing phase is started with a broadcast. At awake state, each ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Graph (discrete Mathematics)
In discrete mathematics, particularly in graph theory, a graph is a structure consisting of a Set (mathematics), set of objects where some pairs of the objects are in some sense "related". The objects are represented by abstractions called ''Vertex (graph theory), vertices'' (also called ''nodes'' or ''points'') and each of the related pairs of vertices is called an ''edge'' (also called ''link'' or ''line''). Typically, a graph is depicted in diagrammatic form as a set of dots or circles for the vertices, joined by lines or curves for the edges. The edges may be directed or undirected. For example, if the vertices represent people at a party, and there is an edge between two people if they shake hands, then this graph is undirected because any person ''A'' can shake hands with a person ''B'' only if ''B'' also shakes hands with ''A''. In contrast, if an edge from a person ''A'' to a person ''B'' means that ''A'' owes money to ''B'', then this graph is directed, because owing mon ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Mega-Merger
Mega-merger is a distributed algorithm aimed at solving the election problem in generic connected undirected graph. Introduction Mega-Merger was developed by Robert Gray Gallager at MIT in 1983. It applies a distributed divide and conquer The term divide and conquer in politics refers to an entity gaining and maintaining political power by using divisive measures. This includes the exploitation of existing divisions within a political group by its political opponents, and also ... approach mixed with a rank-based conquer strategy. The algorithm is usually presented through a village-city analogy. Each node in the graph indicates a village, while the edges that connect them are the roads and a rooted spanning tree in a sub-graph is a city. The whole graph is then a mega-city. Mega-Merger pushes villages to bind together to form cities according to each other's rank and edges. Cities are then formed by alliances or by conquering/absorption. Pre-requisites Mega-Merger builds ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Leader Election
In distributed computing, leader election is the process of designating a single Process (computing), process as the organizer of some task distributed among several computers (nodes). Before the task has begun, all network nodes are either unaware which node will serve as the "leader" (or Distributed computing#Coordinator election, coordinator) of the task, or unable to communicate with the current coordinator. After a leader election algorithm has been run, however, each node throughout the network recognizes a particular, unique node as the task leader. The network nodes communicate among themselves in order to decide which of them will get into the "leader" state. For that, they need some method in order to break the symmetry among them. For example, if each node has unique and comparable identities, then the nodes can compare their identities, and decide that the node with the highest identity is the leader. The definition of this problem is often attributed to LeLann, who f ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Pruning In The Yo-Yo Algorithm
Pruning is the selective removal of certain parts of a plant, such as branches, buds, or roots. It is practiced in horticulture (especially fruit tree pruning), arboriculture, and silviculture. The practice entails the targeted removal of diseased, damaged, dead, non-productive, structurally unsound, or otherwise unwanted plant material from crop and landscape plants. In general, the smaller the branch that is cut, the easier it is for a woody plant to compartmentalize the wound and thus limit the potential for pathogen intrusion and decay. It is therefore preferable to make any necessary formative structural pruning cuts to young plants, rather than removing large, poorly placed branches from mature plants. Woody plants may undergo a process referred to as ''self-pruning'', where they will drop twigs or branches which are no longer producing more energy than they require. It is theorized that this process can also occur in response to lack of water, in order to reduce the su ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Distributed Computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers. The components of a distributed system communicate and coordinate their actions by passing messages to one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining concurrency of components, overcoming the lack of a global clock, and managing the independent failure of components. When a component of one system fails, the entire system does not fail. Examples of distributed systems vary from SOA-based systems to microservices to massively multiplayer online games to peer-to-peer applications. Distributed systems cost significantly more than monolithic architectures, primarily due to increased needs for additional hardware, servers, gateways, firewalls, new subnets, proxies, and so on. Also, distributed systems are prone to ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]