Distributed Systems As DS DS
Distributed Systems As DS DS
Distributed Systems As DS DS
JIMMA CAMPUS
GROUP NAME ID
a. Replicas
Improve performance
Enhance reliability
Replicas allow remote sites to continue working in the event of local failures. It is also possible
to protect against data corruption.This directly supports the distributed systems goal of enhanced
scalability
If there are many replicas of the same thing, how do we keep all of them up-to-date? How do we
keep the replicas consistent?
It is not easy to keep all those replicas consistent Consistency can be achieved in a number of
ways.
Replicating the data and moving it closer to where it is needed helps to solve the scalability
problem
A problem remains: How to efficiently synchronize all of the replicas created to solve the
scalability issue?
Dilemma: adding replicas improves scalability, but incurs the overhead of keeping the replicas
up-to-date
As we shall see, the solution often results in a relaxation of any consistency constraints
B. Consistency
A data-store can be read from or written to by any process in a distributed system.
A local copy of the data-store (replica) can support “fast reads”
A write to a local replica needs to be propagated to all remote replicas
Various consistency models help to understand the various mechanisms used to achieve
and enable this
5. Distributed Transactions.
Lamport’s Algorithm 1
A1 H1 B2 C3 E4 D4 G2 F5
Lamport’s Algorithm2
Vector Timestamps
A[1,1,0] B[2,0,0]C[2,1,0]D[0,2,0]E[0,0,1]F[0,2,3]G[0,0,2]H[0,1,0]
Distributed system is a collection of sites which are connected together via some kind (If
communication network in which every sites has its own database system and users can
access data anywhere in the network from any site, so there is a need to make data available
at every site. Data availability is a significant factor in distributed system and it can be
achieved by replication of data. Replication is a process of keeping copies of data at various
locations for increasing data availability and performance. Once a system is established in
distributed environment it is necessary to update it regularly so that freshness of data can be
achieved The pace at which computer systems change continues to be overwhelming by the
day. Since the inception of modern computers in 1945, until about 1985, computers were
very huge and costly. Additionally, there was no way of connecting them, therefore the
computers operated independently. In the mid-1980s, there was a major advancement in
technology which began to Replication is an aspect of the distributed systems where data is
copied at multiple locations This copying of data ensures that this data is always available;
secondly, it provides fault tolerance. This means that in case one of the machines fails, the
others are still able to operate efficiently. When building a fault-tolerant service with
replicated data all replica process the same request in the same order. Replica is
deterministic; hence they all produce the same results. Finally, all replicas send back their
result to the client, and the client only waits for the first answer ignoring all the others. In
passive replication, only one server exists. This is referred to as the primary This server
processes client requests. After processing a request, it updates the state on the other servers
which act as a backup and sends back the response to the client. In case the primary server
crashes, one of the backup servers automatically replaces it to ensure continuity. This type
of replication can also be used for non‐ deterministic processes.
Transparency Transparency hides the interaction between the client machine and server
machines (6) and also does not provide the user regarding the details of what processing
is being carried out in backend.
Reliability Reliability is availability of data at any time when and where it is required
without any changes to the original data. Distributed file system allows multi-processes
that are preferred by users because this can protect against single processor system
crashes. If in case failure happens, the replicated copies can be used. if we use replicated
copy, the copy present must be consistent with its content. Thus even on a failure, a
backup of contents are available
Scalability Scalability in which resources get added or removed in a network at any time.
More clients are connected with the system day to day. An efficient system is needed in
handling those users or client. There can be many CPU’s get added to the distributed
system. While designing, DFS can be made in two ways: one is centralized and the other
is decentralized architecture. Centralized architecture requires more administration while
scaling up in the distributed file system. Decentralized architecture scaling can be
managed by an administrator