0% found this document useful (0 votes)
27 views2 pages

Clock Synchronization

Uploaded by

Vinay Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views2 pages

Clock Synchronization

Uploaded by

Vinay Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Distributed Systems

Programming Assignment Distributed Clock Synchronization


Due Date:
th
28 April 2024

Title: Distributed Clock Synchronization System

Problem Statement

You are tasked with designing and implementing a distributed clock synchronization system for a
network of computers. In distributed computing environments, where multiple computers
communicate and coordinate their activities over a network, ensuring that all nodes have
synchronized clocks is crucial for various applications such as distributed databases, distributed file
systems, and real-time systems.

Your system should address the following requirements:

Accuracy: The system should aim to achieve high accuracy in clock synchronization across all nodes in
the network. The goal is to minimize the difference between the local clocks of different nodes.

Fault Tolerance: The system should be resilient to failures such as network partitions, node failures, and
communication delays. It should continue to operate correctly and maintain synchronization despite these
challenges.

Scalability: The system should be scalable to accommodate a varying number of nodes in the network.
Adding or removing nodes should not significantly impact the performance or accuracy of clock
synchronization.

Efficiency: The synchronization algorithm should be efficient in terms of computational overhead and
network bandwidth utilization. It should minimize the resources required for synchronization while
achieving the desired accuracy.

Asynchrony: The system should operate in an asynchronous environment where there is no global clock
or central coordinator. Nodes communicate with each other over the network, and messages may be
delayed or lost.

Tasks:

 Design an algorithm for clock synchronization that meets the above requirements.
 Implement the algorithm in a programming language of your choice.
 Test the system extensively to ensure that it meets the specified requirements under various
scenarios, including network partitions, node failures, and communication delays.
 Document the design decisions, implementation details, and testing procedures in a
comprehensive report.
 Evaluate the performance of the system in terms of accuracy, fault tolerance, scalability, and
efficiency.

Deliverables:

 Source code of the clock synchronization system.


 Detailed documentation including design specifications, implementation details, and testing
procedures.
 Test results and performance evaluation metrics.
 Presentation or demonstration of the system highlighting its features and capabilities.

Evaluation Criteria:

 Accuracy of clock synchronization under normal and challenging conditions.


 Robustness and fault tolerance in the face of network failures and node crashes.
 Scalability of the system with respect to the number of nodes in the network.
 Efficiency of the synchronization algorithm in terms of computational complexity and network
overhead.
 Clarity and completeness of documentation and presentation.

Note: You may need to explore existing clock synchronization algorithms such as NTP (Network Time
Protocol), Cristian's algorithm, Berkeley algorithm, or others as part of your research and design process.
Additionally, consider the trade-offs between accuracy, fault tolerance, scalability, and efficiency in your
design decisions.

You might also like