Question Answer Bank - Module 1
Question Answer Bank - Module 1
4. A term that describes a wide range of computers, from weakly coupled systems
such as wide-area networks, to strongly coupled systems such as local area
networks,
No shared memory
Geographical separation
Autonomy and heterogeneity: The processors are “loosely coupled” in that they
have different speeds and each can be running a different operating system,
cooperate with one another by offering services or solving a problem jointly.
Enhanced reliability
Scalability
Transparency deals with hiding the implementation policies from the user, and can be
classified as follows
Relocation transparency: The ability to relocate the resources as they are being
accessed is.
Replication transparency does not let the user become aware of any replication.
Synchronization/coordination mechanisms
1. Mobile systems
2. Sensor networks
4. Peer-to-peer computing
6. Distributed agents
The processors do not share a common global memory and communicate solely by
passing messages over the communication network.
A distributed program :
The goal of load balancing is to gain higher throughput, and reduce the user perceived
latency.
Load balancing may be necessary because of a variety of factors such as high network
traffic or high request rate causing the network connection to be a bottleneck, or high
computational load
the objective is to service incoming client requests with the least turnaround time. S
• Data migration The ability to move data (which may be replicated) around in the
system, based on the access pattern of the users.
• Distributed scheduling This achieves a better turnaround time for the users by using
idle processing power in the system more efficiently.
Part B
1. Relate a computer system with a distributed system with the aid of neat
sketches.
Each computer has a memory-processing unit and the computers are connected by a
communication network.
The distributed system uses a layered architecture to break down the complexity of
system design.
The middleware is the distributed software that drives the distributed system, while
providing transparency of heterogeneity
Send() and Receive() primitives are used to send and receive messages
A Send primitive has at least two parameters – the destination, and the buffer in
the user space, containing the data to be sent
Receive primitive has at least two parameters –source from which the data is to
be received, and the user buffer into which the data is to be received.
There are two ways of sending data when the Send primitive is invoked –
Synchronous primitives
Asynchronous primitives
Blocking Send : waits after sending message until its received by the receiver
and acknowledged
Non-blocking primitives
The following functions must be addressed when designing and building a distributed
system:
1. Communication
2. Processes
3. Naming
4. Synchronization
7. Fault tolerance
8. Security
1. Communication
This task involves designing appropriate mechanisms for communication among the
processes in the network. Some example mechanisms are:
remote procedure call (RPC), remote object invocation (ROI), message-oriented
communication versus stream-oriented communication.
2. Processes
3. Naming
Devising easy to use and robust schemes for names, identifiers, and addresses is
essential for locating resources and processes in a transparent and scalable manner.
4. Synchronization Mechanisms
In addition, synchronizing physical clocks, and devising logical clocks that capture the
essence of the passage of time,
Schemes for data storage, and implicitly for accessing the data in a fast and scalable
manner across the network are important for efficiency.
Traditional issues such as file system design have to be reconsidered in the setting of a
distributed system.
7. Fault tolerance
Fault tolerance requires maintaining correct and efficient operation in spite of any
failures of links, nodes, and processes.
8. Security
Distributed systems security involves various aspects of cryptography, secure
channels, access control, key management – generation and distribution,
authorization, and secure group management.
Transparency deals with hiding the implementation policies from the user, and can be
classified as follows
Relocation transparency: The ability to relocate the resources as they are being
accessed is.
Replication transparency does not let the user become aware of any replication.
Synchronization/coordination mechanisms
The interleaving model and partial order model are two widely adopted models of
distributed system executions. They have proved to be particularly useful for
operational reasoning and the design of distributed algorithms.
The distributed system is modeled as a distributed graph, and the graph algorithms
form the building blocks for a large number of higher level communication, data
dissemination, object location, and object search functions.
The algorithms need to deal with dynamically changing graph characteristics, such as
to model varying link loads in a routing algorithm.
The challenges pertain to providing accurate physical time, and to providing a variant
of time, called logical time Logical time is relative time, and eliminates the overheads
of providing physical time for applications where physical time is not required.
4. Synchronization/coordination mechanisms
Overcoming this limited observation is necessary for taking any actions that would
impact other processes.
Leader election - All the processes need to agree on which process will play
the role of a distinguished process – called a leader process.
Mutual exclusion
Termination detection
Garbage collection - refers to objects that are no longer in use and that are not
pointed to by any other process. Detecting garbage requires coordination
among the processes
Predicates defined on program variables that are local to different processes are used
for specifying conditions on the global system state, and are useful for applications
such as debugging, sensing the environment, and in industrial process control.
Methodically designed and verifiably correct programs can greatly reduce the
overhead of software design, debugging, and engineering.
Managing such replicas in the face of updates introduces the problems of ensuring
consistency among the replicas and cached copies.
8. Mobile systems
9. Sensor networks
1. Mobile systems
i. routing,
1. base-station approach,
also known as the cellular approach, wherein a cell which is the geographical
region within range of a static but powerful base transmission station is
associated with that base station
All responsibility for communication is distributed among the mobile nodes, wherein
mobile nodes have to participate in routing by forwarding packets of other pairs of
communicating nodes
2. Sensor networks
sensors may communicate wirelessly, although they may also communicate across a
wire when they are statically installed.
The intelligent home, and the smart workplace are some example of ubiquitous
environments Ubiquitous systems are essentially distributed systems;
4. Peer-to-peer computing
• P2P networks are typically self-organizing, and may or may not have a regular
structure to the network.
6. Distributed agents
Agents collect and process information, and can exchange such information with other
agents
8. Grid computing
idle CPU cycles of machines connected to the network will be available to others
authentication (ensuring the source of received information and the identity of the
sending process),
The actions are atomic and the actions of a process are modeled as three types of
events,
1. internal events