0% found this document useful (0 votes)
23 views19 pages

DC UT1 QB Soln

Uploaded by

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

DC UT1 QB Soln

Uploaded by

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

1.

Goals of distributed systems


Ans.

A number of important goals must be met in order for the effort involved in developing a distributed
system to be successful A distributed system should be open, scalable, and easy for users to access
resources. The objective is to do the following at the maximum level possible.

(1) Bringing Users and Resources Together: A distributed system's major objective is to give users
easy access to remote resources and to share those resources in a regulated way with other users.

(2) Transparency: Transparency indicates that a distributed system may seem to users and
applications as if it were a single computer system.

(3) Openness: Distributed systems must work to be as open as possible. An open distributed system
is one that offers services in accordance with standards that outline the syntax and semantics of
those service instances.

(4) Scalability: The general trend in distributed systems is larger systems. Algorithms that work well
for systems 1000 machines can be used by systems with 100 machines, but cannot be used at all by
systems with 10,000 machines. To begin with, the centralized algorithm does not scale well.

(5) Reliability: The main goal was to increase the dependability of distributed systems relative to
single pro systems. According to the concept, when one machine malfunctions, another one adjusts
to it.

(6) Performance: If a distributed system cannot achieve the desired performance, it is pointless to
develop, transparent, flexible, and reliable. A distributed system ought to offer the highest level of
performance.
• Problems with scalability and solutions (techniques for scalability)

SCALABILITY LIMITATIONS

SIZE SCALABILITY:

1. The problem with the centralized scheme is obvious: the server, or group of servers, can
simply become a bottleneck when it needs to process an increasing number of requests.
2. There are essentially three root causes for becoming a bottleneck:
• The computational capacity, limited by the CPUs
• The storage capacity, including the transfer rate between CPUs and disks
• The network between the user and the centralized service
3. Another problem is that it could be the service being a single point of failure

GEOGRAPHICAL SCALABILITY:

1. Synchronous communication: One of the main reasons why it is still difficult to scale existing
distributed systems that were designed for local-area networks is that many of them are
based on synchronous communication. In this form of communication, a party requesting
service, generally referred to as a client, blocks until a reply is sent back from the server
implementing the service.
2. Another problem that hinders geographical scalability is that communication in wide-area
networks is inherently much less reliable than in local-area networks

ADMINISTRATIVE SCALABILITY:

• Question is how to scale a distributed system across multiple, independent administrative


domains
• A major problem that needs to be solved is that of conflicting policies with respect to
resource usage (and payment), management, and security.
• Many components of a distributed system that reside within a single domain can often be
trusted by users that operate within that same domain. System administration may have
tested and certified applications, and may have taken special measures to ensure that such
components cannot be tampered with. In essence, the users trust their system
administrators. However, this trust does not expand naturally across domain boundaries.

TECHNIQUES FOR SCALING

Hiding Communication Latency:

1. Hiding communication latencies is applicable in the case of geographical scalability. The


basic idea is simple: try to avoid waiting for responses to remote-service requests as much as
possible. This means constructing the requesting application in such a way that it uses only
asynchronous communication.
2. Asynchronous communication can often be used in batch-processing systems and parallel
applications OR a new thread of control can be started to perform the request. Although it
blocks waiting for the reply, other threads in the process can continue.
3. However, there are many applications that cannot make effective use of asynchronous
communication. For example, in interactive applications when a user sends a request and
have nothing better to do than to wait for the answer.
Distribution Technique:

1. A good example of partition and distribution is the internet domain name system (DNS). The
DNS name space is hierarchically organized into a tree of domains, which are divided into
nonoverlapping zones
2. Partition data and computations across multiple machines:
• Move computations to clients (java applets)
• Decentralized naming services (DNS)
• Decentralized information systems (WWW)

• What is an open distributed system

1. Open distributed system: An open distributed system Is essentially a system that offers
components that can easily be used by, or Integrated into other systems.
2. To be open means that components should adhere to standard rules that describe the
Syntax and semantics of what those components have to offer (i.e., which service they
provide)
3. Able to interact with services from other open systems, irrespective of the underlying
environment requires the following characteristics:
• Systems should conform to well-defined interfaces
• Systems should support portability of applications
• Systems should easily interoperate
4. Define services through interfaces using an interface definition language (IDL).
5. If properly specified, an interface definition allows an arbitrary process that needs a
certain interface, to talk to another process that provides that interface. It also allows
two independent parties to build completely different implementations of those
interfaces, leading to two separate components that operate in exactly the same way.
• Compare distributed systems with NOS, DOS, and middleware with neat diagrams
• Types of client server architectures
• Differentiate between replication and caching. An experimental file server is up 75% of the
time and down for 25% of the time due to bugs. How many times does this file server have
to be replicated to give an availability of at least 99%?

Ans.

Replication

1. Replication not only increases availability and reliability, but also helps to balance the load
between components leading to better performance. Also, having a copy nearby can hide
much of the communication latency problems.
2. Make copies of data available at different machines:
• Replicated file servers (mainly for fault tolerance)
• Replicated databases
• Mirrored web sites
• Large-scale distributed shared memory systems

Caching:

1. Caching is a special form of replication, caching results in making a copy of a resource,


generally in the proximity of the client accessing that resource.
2. Allow client processes to access local copies:
• Web caches (browser/web proxy)
• File caching (at server and client)

Sum:
25%=0.25....down time
100%-99%=1%... this translates to 0.01
therefore, no. of replications = n log (0.25)= log 0.01
n = (log(0.25)) / ( log (0.01))
= 4 replications
• What is Middleware? Positioning of Middleware protocol
• Services of Middleware
• With neat diagrams explain the working of RPC
• With neat diagrams explain the different types of Message oriented Communication
(transient, Persistent, Synchronous, asynchronous)
• What are the Steps in binding a client to a server

 Registration of a server makes it possible for a client to locate the server and bind to it.
 Server location is done in two steps:
1. Locate the server’s machine.
2. Locate the server on that machine.
 Server asks operating system for an end point (port)
 Register the endpoint with DCE daemon that records in the end table
 Server register with directory server with its network address and its name (program name)
 Now Client pass the name to directory server and find the server network address
 Client goes to DCE daemon (well know port) on that machine and ask for look up the end
point (port) of the server in its end point table
 RPC then takes place
• What are the issues in Parameter passing of RPC

Issues:

However, in a large distributed system, it is typical to have a variety of machine types. Numbers,
letters, and other data objects are typically manifested differently by each machine.

To exemplify, IBM mainframes and IBM personal computers, use a different encoding technique
like IBM mainframes use EBCDIC, but IBM PC uses ASCII. Due to this difference, transfer of
character arguments is not possible between these two.

Integer and floating-point numbers can both have challenges with representation.

Another issue is that some machines count bytes from right to left, while others count them
from left to right. Eg Intel/AMD x86, Digital VAX handles data in Little-Endian form and Sun
SPARC, Power PC representation of numbers in another way i.e. Big-Endian form.
• What is a Data Stream?

A data stream is nothing but a sequence of data units. Different transmission modes

1. Asynchronous transmission mode - the data items in a stream are transmitted one after the
other, but there are no further timing constraints on when transmission of items should take
place. For example, a file transferred as a data stream.

2. Synchronous transmission mode - there is a maximum end-to-end delay defined for each unit
in a data stream. Whether a data unit is transferred much faster than the maximum tolerated
delay is not important.

3. Isochronous transmission mode - it is necessary that data units are transferred on time. This
means that data transfer is subject to a maximum and minimum end-to-end delay. Plays a
crucial role in representing audio and video.

Streams can be simple or complex.

1. Simple stream consists of only a single sequence of data.

2. Complex stream consists of several related simple streams, called sub-streams.

The relation between the sub-streams in a complex stream is often also time dependent.
• How to specify required QoS in a stream communication?

 Stream sent directly between two devices


 Timing (and other non-functional) requirements are generally expressed as Quality of
Service (QoS) requirements.
 These requirements describe what is needed to ensure that, for example, the temporal
relationships in a stream can be preserved.
 How to specify required QoS?
• The required bit rate at which data should be transported.
• The maximum delay until a session has been set up (i.e., when an application can
start sending data).
• The maximum end-to-end delay (i.e., how long it will take until a data unit makes it
to a recipient).
• The maximum jitter.
• The maximum round-trip delay.
• Differentiate between Physical and logical clock synchronization

 Physical clock
It is a physical process and also a method of measuring that process to record the passage of
time. For example, the rotation of the Earth measured in solar days. Most of the physical
clocks are based on cyclic processes such as a celestial rotation.
 Logical clock
It is a mechanism for capturing causal and chronological relationships in a distributed
system. A physically synchronous global clock may not be present in a distributed system. In
such systems a logical clock allows global ordering on events from different processes.
 Vector clock
It is an algorithm for generating a partial ordering of events in a distributed system. It
detects causality violations. Like the Lamport timestamps interprocess messages contain the
state of the sending process's logical clock.
• Differentiate between Cristian’s and Berkeley’s Physical clock synchronization algorithms
• At what intervals will the clocks of a distributed system be synchronised?
• Explain Lamport algorithm with examples.

1. For Logical Clock Sync:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy