The document discusses various topics related to distributed systems including clock synchronization, mutual exclusion, election algorithms, and fault tolerance. It provides details on:
1. Centralized and distributed clock synchronization algorithms including passive and active time server approaches and global and localized averaging algorithms.
2. Lamport's logical clocks for ordering events in a distributed system.
3. Mutual exclusion algorithms including centralized, distributed, and token passing approaches.
4. Traditional election algorithms like the Bully algorithm and ring algorithm.
5. Fault tolerance techniques using redundancy like replicating servers and majority voting.
Real Life Applications of Distributed Systems:
1. Distributed Rendering in Computer Graphics
2. Peer-To-Peer Networks
3. Massively Multiplayer Online Gaming
Real Life Applications of Distributed Systems:
1. Distributed Rendering in Computer Graphics
2. Peer-To-Peer Networks
3. Massively Multiplayer Online Gaming
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
The Evolving role of Software – Software – The changing Nature of Software – Legacy software, Introduction to CASE tools, A generic view of process– A layered Technology – A Process Framework – The Capability Maturity Model Integration (CMMI) – Process Assessment – Personal and Team Process Models. Product and Process. Process Models – The Waterfall Model – Incremental Process Models – Incremental Model – The RAD Model – Evolutionary Process Models – Prototyping – The Spiral Model – The Concurrent Development Model – Specialized Process Models – the Unified Process.
Introduction: What is clock synchronization?
The challenges of clock synchronization.
Basic Concepts: Software and hardware clocks. Basic clock synchronization algorithm
Algorithms: Deep dive into landmark papers
NTP: Internet scale time synchronization
Contents
1. Concepts of Real time Systems (RTS)
2. Characteristics of RTS
3. Types of RTS
4. Comparison between Types of RTS
5. Applications of RTS
6. Challenges of RTS
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
The Evolving role of Software – Software – The changing Nature of Software – Legacy software, Introduction to CASE tools, A generic view of process– A layered Technology – A Process Framework – The Capability Maturity Model Integration (CMMI) – Process Assessment – Personal and Team Process Models. Product and Process. Process Models – The Waterfall Model – Incremental Process Models – Incremental Model – The RAD Model – Evolutionary Process Models – Prototyping – The Spiral Model – The Concurrent Development Model – Specialized Process Models – the Unified Process.
Introduction: What is clock synchronization?
The challenges of clock synchronization.
Basic Concepts: Software and hardware clocks. Basic clock synchronization algorithm
Algorithms: Deep dive into landmark papers
NTP: Internet scale time synchronization
Contents
1. Concepts of Real time Systems (RTS)
2. Characteristics of RTS
3. Types of RTS
4. Comparison between Types of RTS
5. Applications of RTS
6. Challenges of RTS
Synchronization Pradeep K Sinha
Introduction
Issues in Synchronization
Clock synchronization
Event Ordering
Mutual Exclusion
Deadlock
Election algorithms
Clock Synchronization
How Computer Clocks are Implemented
Drifting of Clocks
Types of Clock Synchronization and issues in them
Clock Synchronization Algorithms
Distributed and Centralized Algorithms
Case Study
Event Ordering
Happened Before Relation
Logical Clocks Concept and Implementation
Mutual Exclusion
Centralized Approach, Distributed Approach, Token Passing Approach
Deadlocks
Election algorithms
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Clock synchronization: Clocks, events and process states, Synchronizing physical clocks,
Logical time and logical clocks, Lamport’s Logical Clock, Global states, Distributed mutual
exclusion algorithms: centralized, decentralized, distributed and token ring algorithms,
election algorithms, Multicast communication.
About TrueTime, Spanner, Clock synchronization, CAP theorem, Two-phase lockin...Subhajit Sahu
TrueTime is a service that enables the use of globally synchronized clocks, with bounded error. It returns a time interval that is guaranteed to contain the clock’s actual time for some time during the call’s execution. If two intervals do not overlap, then we know calls were definitely ordered in real time. In general, synchronized clocks can be used to avoid communication in a distributed system.
The underlying source of time is a combination of GPS receivers and atomic clocks. As there are “time masters” in every datacenter (redundantly), it is likely that both sides of a partition would continue to enjoy accurate time. Individual nodes however need network connectivity to the masters, and without it their clocks will drift. Thus, during a partition their intervals slowly grow wider over time, based on bounds on the rate of local clock drift. Operations depending on TrueTime, such as Paxos leader election or transaction commits, thus have to wait a little longer, but the operation still completes (assuming the 2PC and quorum communication are working).
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...NelTorrente
In this research, it concludes that while the readiness of teachers in Caloocan City to implement the MATATAG Curriculum is generally positive, targeted efforts in professional development, resource distribution, support networks, and comprehensive preparation can address the existing gaps and ensure successful curriculum implementation.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2024.06.01 Introducing a competency framework for languag learning materials ...
Shoaib
1. Clock (Synchronization)
All computers have a circuit for keeping track of time, this is know as
Clock or Timer.
When the system is booted, it usually asks for the user to enter the date and
time, which is then converted to the number of ticks after same known
starting date and stored in memory.
In a distributed system, synchronized clock also enable one to measure the
duration of distributed activities that start on one node and terminate on
another node, for instance, calculating the time taken to transmit a message
from one node to another at any arbitrary time.
1
2. How Computer Clock Are Implemented :
A computer clock usually consist of three component :
1. A quartz crystal
- It is oscillates at a well defined frequency.
2. A Counter register
- It is used to keep track of the oscillation of the
quartz crystal.
3. A Constant register
- It is used to store a constant value that is decided
based on the frequency of oscillation of the
quartz
crystal. 2
3. The value in the counter register is determine by 1 for each oscillation of
the quartz crystal. When the value of the counter register become zero, an
interrupt is generated and its value is reinitialized to the value in the
constant register, Each interrupt is called a clock tick.
The clock in the constant register is chosen so that 60 clock ticks occur in a
second.
The computer clock is synchronized with real time. For this, two more
values are stored in the system :
a) A fixed string date and time , and
b) The number of ticks
3
4. A clock always runs at a constant rate. Let us suppose that when the real
time is t, the time value of a clock p is Cp(t).
If all clock in the world were perfectly synchronized, we would have
Cp(t)=t for all p and all t. That is, if C denotes that time value of a clock,
in the ideal case dC/dt should be 1. Therefore, if the maximum drift rate
allowable is p, a clock is said to be no-fault if the following condition hold
for it :
1-p<=dC/dt<=1+p
For the slow clocks dCdt <1 and for fast clock dC/dt>1.
A distributed system consist of several nodes, each with its own clock,
running at its own speed. Because of non zero drift rates of all clocks, the
set of clock of a distributed system do not remain well synchronizes
without some periodic resynchronization.
4
6. This means that the nodes of a distributed system must periodically
resynchronize their local clock to maintain a global time base across the
entire system. A distributed system require the following type of clock
synchronized :
1. synchronization of the computer clock with real time or external clock.
2. Mutual or internal synchronization of the clocks of different nodes of the
system.
* Externally synchronized clocks are also internally synchronized.
6
7. Clock Synchronization Algorithms :
Clock Synchronization Algorithms may be broadly classified as ,
1. Centralized
2. Distributed
7. Centralized Algorithms:
In centralized clock Synchronization algorithm one node has
a real time receiver. This node is usually called the time server node, and
the clock time of this node is regarded as correct and used as the
reference time. The goal of the algorithm is to keep the clocks of all
other nodes Synchronized with the clock time of the time server node.
7
8. Centralized clock synchronization algorithm are again of two
types:
a) Passive Time Server Centralized Algorithm
b) Active Time Server Centralized Algorithm
g) Passive Time Server Centralized Algorithm :
In this method each node periodically sends a message
to the time server. When the time server receives the message, it quickly
responds with a message.
The best estimation of the time required for the propagation of the
message “time=T” from the time server node to client’s node is (T1-T0)/
2.Threrfore, when the reply is received at the client’s node, its clock is
readjusted to T+ (T1-T0)/2.
8
9. Here,
T= is the Current time in the clock of the time server node
T0=clock time of client node before receiving message
T1=clock time of client node after receiving message
b) Active Time Server Centralized Algorithm:
-In the active time server approach, the time server
periodically broadcasts its clock (T). Other node received the broadcast
message and use the clock time in the message of correcting their own
clocks. Each node has a prior knowledge of the approximate time (Ta)
required for the propagation of the message “time=T ” from the time server
node to its own clock. Therefore, when the broadcast message is received
at a node, the node’s clock is readjust to the time T+ Ta .
A major drawback of this method is that it is not fault Tolerant.
9
10. Drawback of Centralized Algorithms:
Centralized clock synchronization Algorithms suffer from two
major drawbacks :
They are subject to single point failure. If the server node fail, the
clock synchronization operation cannot be performed.
From a scalability point of view it is generally not acceptable to
get all the time request serviced by a single time server.
* These drawbacks overcome by distributed algorithms.
10
11. 2. Distributed Algorithms :
If each node’s clock independently synchronized with the real time , all
the clocks of the system remain mutually synchronized.
Internal synchronization of clock is not required in this approach.
Following two approaches is usually used for internal synchronization :
1. Global Averaging Distributed Algorithms
2. Localized averaging Distributed Algorithms
11
12. 1. Global Averaging Distributed Algorithms :
In this approach, the clock process at each node broadcast its local clock
time in the from of a special “ resync ” Message.
That “ resync ” Message is broadcast from each node at the beginning of
every fixed length resynchronization interval.
For each “ resync ” Message, the clock process record the time, according
to its own clock, when the message was received. At end of waiting period,
the clock process estimate the skew of its clock with respect to each of the
other nodes on the basis of the times at which it received resync message.
The global averaging algorithms do not scale well because they required
the network to support broadcast facility and also because of the large
amount of the message traffic generated.
12
13. They are suitable for small network, especially for those that have fully
connected topology.
2. Localized averaging Distributed Algorithms :
The localized averaging algorithms attempt to overcome the drawbacks of
the a Global averaging algorithms.
In this approach, the node of a distributed system are logically arranged in
some kind of pattern, such as a ring or a grid.
Periodically, each node exchange its clock time with its neighbors in the
ring, grid or other structure and then sets its clock time to the average of its
own clock time and the clock times of its neighbors.
13
23. Mutual Exclusion :
There are several resources in a system that must not be used
simultaneously by multiple process. If program operation is to correct .
For example, a file must not be simultaneously updated by multiple
processes. Similarly, printer must be restricted to a single process at a time.
Exclusive access to such a shared resource by a process must be ensured.
This exclusiveness of access is called mutual exclusion between process.
The section of a program that need exclusive access to shared resources
are referred to as critical sections.
For Mutual Exclusion, means are introduced to prevent processes from
executing concurrently within their associated critical section.
23
24. An algorithm for implementing mutual exclusion must satisfy the
following requirement :
a. Mutual Exclusion
b. No Starvation ( No Delay)
In single processor system, mutual exclusion is implemented using
semaphores, monitors, and similar constructs. The three basic
approaches used by different algorithms for implementing mutual
exclusion in distributed systems are describe below.
7. Centralized Approach
8. Distributed Approach
9. Token Ring Passing
24
25. 1. Centralized Approach :
In this approach, one of the process in the system is elected as the
coordinator and coordinates the entry to the critical sections. Each process
that want to enter a critical section, must first seek permission from the
coordinator. If no other process is currently in that critical section, the
coordinator can immediately grant permission to the requesting process.
If two or more processes concurrently ask for permission to enter the same
critical section, the coordinator grant permission to only one processes at a
time in accordance with some algorithms.
After executing a critical section, when a process exits the critical section,
it must notify the coordinator so that the coordinator can grant permission
to another process that has also asked for permission to enter the same
critical section.
25
27. The main advantages of this algorithm is that it is simple to implement and
require only three message per critical section entry : a request, a reply,
and a release.
However, it suffer from the usual drawback of centralized schemes, That
is, a single coordinator is subject to single point of failure and can become
a performance bottleneck in a large system.
2. Distributed Approach:
In this approach, all process that want to enter the same critical section
cooperate with each other before reaching a decision on which process
will enter the critical section next.
When a process wants to enter a critical section, it sends a request message
to all other process. The message contain the following information :
27
28. a.) The process identifier
b.) The name of the critical section
c.) A unique Timestamp
On receiving a request message, a process either immediately sends back a
reply message to the sender or defers sending a reply based on the
following:
a.) If the receiver process is itself currently executing in the critical section, it
simply queues the request message and defers sending a reply.
b.) If the receiver process is currently not executing in the critical section but
is waiting for its turn to enter the critical section, it compare the timestamp
in the receiving request message with the timestamp in its own request
message that it has sent to other processes.
28
29. c.) If the receiver process neither is in the critical section nor is waiting for its
turn to enter the critical section, it immediately sends back a reply
message.
A process that sends out a request message keeps waiting for reply
message from other processes. It enters the critical section as soon as it has
received reply message from all processes. After it finishes executing in
the critical section, it sends reply message to all processes in its queue and
deletes them its queue.
To illustrate how the algorithm works, let us consider the following
example of figure :
29
31. If there are n processes, the algorithm required n-1 request message and
n-1 reply message, giving a total of 2(n-1) message per critical section
entry.
This algorithm suffers from the following drawback:
1. The algorithm is liable to n point of failure.
2. All requirements makes implementation of the algorithm complex.
3. The waiting time may be large if there are too many processes.
Therefore, the algorithm is suitable only for a small group of
cooperating processes.
31
32. 3. Token Ring Passing:
In this method, mutual exclusion is achieved by a single token that is
circulated among the processes in the system. A token is a special type of
message that entitle its holder to enter a critical section. For fairness, the
processes in the system are logically organized in a ring structure, and the
token is circulated from one process to another around the ring always in
the same direction.
When a process receives the token, it checks if it wants to enter a critical
section and acts as follows:
1. If it wants to enter a critical section, it keeps the token, enters the
critical section, and exits from the critical section after finishing its work in
the critical section. It then passes the token along the ring to its neighbor
process.
32
33. 2. If it does not want to enter a critical section, it just passes the token along
the ring to its neighbor process.
The algorithm, however, requires the handling of the following types of
failure :
I. Process Failure : A process failure in the system cause the logical
ring to break.
II. Lost Token : If the token is lost, a new token must be
generated. (Passed “ Who Has the Token”)
33