University of Makeni (Unimak) Sylvanus Koroma
University of Makeni (Unimak) Sylvanus Koroma
University of Makeni (Unimak) Sylvanus Koroma
MAKENI(UNIMAK) SYLVANUS
KOROMA CAMPUS YONI
ASSIGNMENT
ON INTRUDUCTION AND DISTRIBUTED EXCLUSION IN COORDINATION
AND AGREEMENT IN DISTRIBUTED SYSTEM
GROUP MEMBERS
• JULIUS LAGGAH(ID 5203)
• ADEWOLE DAVIES(4837)
• SULAIMAN KAMANDA(4866)
• ALFRED J KAJUE(5154)
• VANESSA RUTH JENGO(4391)
• MOHAMED B BAH (5085)
• ANTONY RAYMOND DOUGLAS(5194)
INTRODUCTION
COORDINATION AND AGREEMENT IN DISTRIBUTED SYSTEM
• We start by addressing the question of why process need to coordinate
their actions and agree on values in various scenarios.
• Consider a mission critical application that requires several computers
to communicate and decide whether to proceed with or abort a
mission. Clearly, all must come to agreement about the fate of the
mission.
• Consider the Berkeley algorithm for time synchronization. One of the
participate computers serves as the coordinator. Suppose that
coordinator fails. The remaining computers must elect a new
coordinator.
COORDINATION AND AGREEMENT IN DISTRIBUTED
SYSTEM
• Broadcast networks like Ethernet and wireless must agree on which nodes
can send at any given time. If they do not agree, the result is a collision
and no message is transmitted successfully.
• Like other broadcast networks, sensor networks face the challenging of
agreeing which nodes will send at any given time. In addition, many sensor
network algorithms require that nodes elect coordinators that take on a
server-like responsibility. Choosing these nodes is particularly challenging
in sensor networks because of the battery constraints of the nodes.
• Many applications, such as banking, require that nodes coordinate their
access of a shared resource. For example, a bank balance should only be
accessed and updated by one computer at a time.
Failure Assumptions and Detection
• Failure Detection
• One possible algorithm for detecting failures is as follows:
• Every t seconds, each process sends an "I am alive" message to all other processes.
• Process p knows that process q is either unsuspected, suspected, or failed.
• If p sees q's message, it sets q's status to unsuspected.
• This seems ok if there are no failures. What happens if a failure occurs? In this
case, q will not send a message. In a synchronous system, p waits for d seconds
(where d is the maximum delay in message delivery) and if it does not hear
from q then it knows that q has failed. In an asynchronous system, q can be
suspected of failure after a timeout, but there is no guarantee that a failure has
occurred.
MUTUAL EXCLUSION IN DISTRIBUTED
SYSTEM