Election algorithm for bidirectional rings

Assignment Help Operating System
Reference no: EM1379697

Derive an election algorithm for bidirectional rings that is more efficient than the ring algorithm:

The ring algorithm supposes that the links are unidirectional and that every procedure sends its message to the neighbor on the right. The main data structure used through the algorithm is the active list, a list that contains the priority numbers of all active processes in the system when the algorithm ends; each process maintains its own active list. The algorithm works as follows:

1. If process Pi detects a coordinator failure, it creates a new active list that is initially empty. It then sends a message "elect(i)" to its right neighbor and adds the number i to its active list.

2. If Pi receives a message "elect(i)" from the process on the left, it must respond in one of three ways:
a) If this is the first 'elect' message it has seen or sent, Pi creates a new active list with the numbers i and j. It then sends the message 'elect(i)', followed by the message 'elect(i)'.
b) If i does not equal j - that is, the message received does not contain Pi's number - then Pi adds j to its active list and forwards the message to its right neighbor.
c) If i = j - that is, Pi receives the message 'elect(i)' - then the active list for Pi now contains the numbers of all the active processes in the system. Process Pi can now determine the largest number in the active list to identify the new coordinator process.

How many messages are needed for n processes?
(There is no need to program the algorithm, but explain the algorithm idea with words.)

Additional info on Election algorithm:
Many distributed algorithms employ a coordinator process that performs functions needed by the other processes in the system. These functions include enforcing mutual exclusion, maintaining a global wait-for graph for deadlock detection, replacing a lost token, and controlling an input or output device in the system. If the coordinator process fails due to the failure of the site at which it resides, the system can continue execution only by restarting a new copy of the coordinator on some other site. The algorithms that determine where a new copy of the coordinator should be restarted are called election algorithms.
Election algorithms assume that a unique priority number is associated with each active process in the system, For ease of notation, we assume the priority of process Pi is i. To simplify the discussion, we assume a one-to-one correspondence between processes and sites and thus refer to both as processes, The coordinator is always the process with the largest priority number. Hence, when a coordinator fails, the algorithm must elect that active process with the largest priority number. This number must be sent to each active process in the system. In addition, the algorithm must provide a mechanism for a recovered process to identify the current coordinator.

The answer can be an existing algorithm on bi-directional ring election algorithm, it just has to be explained how it works.

Reference no: EM1379697

Questions Cloud

Plot trend in manufacturing employment in illinois over last : Plot trend in manufacturing employment in Illinois over last four years. On your own, discuss what economic changes may have influenced that trend.
Discuss main reasons for it project failures : Discuss the main reasons for IT project failures? Are they because of problems with project management life cycle, product development life cycle,
Operating model for the organization : Analyze a specific company to recognize their foundation for execution, including, and post your results, for example, the operating model for the organization.
Fundamental stages of an enterprise system life cycle : Discuss why is this important to the success of the implementation project? Determine the fundamental stages of an enterprise system life cycle?
Election algorithm for bidirectional rings : The ring algorithm supposes that the links are unidirectional and that every procedure sends its message to the neighbor on the right. The main data structure used through the algorithm is the active list,
Process customer order history from a file : Required help creating a document that Develop an application that will read and procedure customer history order information from a document.
Determine a source code control system : Determine a source code control system and discuss why is such a system necessary when multiple programmers build a program or system?
Describe the concept of a signal : Assume when a child process is forked, a parent may wait for the successful completion of the child via the wait service so that return result of that application can be read from the procedure descriptor block.
Discuss mitigation strategies : It is determined that 3-out of 5-businesses that experience downtime of forty-eight hours or more will be out of business within three years.

Reviews

Write a Review

Operating System Questions & Answers

  What is the main advantage of multiprogramming

What is the main advantage of multiprogramming How does the distinction between the monitor mode and user mode function as a rudimentary form of protection (security) system What is the difference between a trap and an interrupt? What is the u..

  Write the start-up steps in windows nt

Write the start-up steps in Windows NT. Provide estimate for the capital investment needed in computer forensics for a 2,000,000 population.

  Advantages of using smart cards for identification

Describe the advantages of using smart cards for identification and provide at least three examples.

  Implementation of algorithms for process management

The Shortest Job Next (SJN) algorithm queues processes in a way that the ones that use the shortest CPU cycle will be selected for running rst.

  Marginal and average cost curves

n a competitive market place (pure competition) is it possible to continually sell your product at a price above the average cost of production.

  Creating a c++ program

A text document with machine code for little man's computer following instruction set. Instructions are in different lines.

  Overview of multiprogramming mode

Member of coordinating a computer's activities is handling failure. This is called fault tolerance. Briefly explain about how a computer handles loss of power to limit the loss of all work

  What percentage of memory-s total operating time refreshes

Consider a dynamic RAM that must be given a refresh cycle 64 times per ms. What percentage of the memory's total operating time must be given to refreshes?

  Compute average seek time and rotational latency

Seek time 1 ms for every 100 tracks traversed. Initial track position is 0. Compute average seek time & rotational latency.

  Explain how to implement barriers using semaphores

Show how to implement barriers using semaphores. Your solution should avoid busy-waiting. Be explicit about any initializations that you need to assume.

  Give three technical merits of unix

Give three technical merits of UNIX b) Differentiate between "clustered systems" and "real-time systems". c) Describe the purpose of using "trust relationship"

  Solving a shell script issue

Determine when a script having these invisible characters are interpreted by linux or *nix shells, they are flagged as errors, since *nix uses 'n' as new lines.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd