DSYS - DISTRIBUTED SYSTEMS EXAM QUESTIONS
AND ANSWERS
264 QUESTIONS AND ANSWERS
What is an architectural model of a distributed system? - ANSWER An
architectural model of a distributed system defines how the components of the
system interact with each other and how they are mapped onto an underlying
network of computers.
An architectural model is concerned with the placement if its components and
the relationships between them
‣client-server systems
‣peer-to-peer systems
What is a fundamental model of a distributed system? - ANSWER
Fundamental models are concerned with a more abstract description of the
properties that are common in all of the architectural models
What is the difference between an architectural model and a fundamental model
of a
distributed system? - ANSWER An architectural model in a distributed
system:
· Is concerned with the placement of its parts and the relationships between
them.
o Examples: Client-server and Peer-to-peer.
· In this model, the functions of the individual components of the distributed
system is abstracted.
· It makes sure that the structure will meet present as well as future demands.
· Make the system manageable, reliable, adaptable, and cost-effective.
Fundamental model:
· This model has only the essential details needed to understand and reason
about some features of a system's behavior.
,· A system model has to addresses the main entities in the system, the way they
interact and the characteristics that affect their individual and collective
behavior.
· This model gives clear assumptions about the system we are modeling.
With General purpose algorithms and Desirable properties, what is possible or
impossible can be identified.
What is a process in a distributed system? - ANSWER A process is a program
under execution i.e an active program
Distributed system: processes coupled with appropriate inter-process
communication paradigms
What is a communication paradigm? - ANSWER Defines how a system
communicates.
Can you name some examples of different communication paradigms? -
ANSWER Interprocess communication
· low level support for communication between processes in the distributed
system, including message-passing primitives, socket programming, multicast
communication
Remote invocation
· most common communication paradigm, based on a two-way exchange
between communicating entities and resulting in the calling of a remote
operation (procedure or method)
Indirect communication
· communication is indirect, through a third entity, allowing a strong degree of
decoupling between senders and receivers, in particular:
o space uncoupling: senders do not need to know who they are sending to
time uncoupling: senders and receivers do not need to exist at the same time
What is a client server system? - ANSWER A type of distributed system
where processing power is distributed between a central server computer and a
number of client computers
Processes divided into two (possibly overlapping) groups:
· Server: process implementing a specific service (file system service, database
service)
,· Client: process that requests a service from a server by sending it a request and
subsequently waiting for the server's reply.
Request-reply protocol
Requests are sent in messages from clients to a server
· When a client sends a request for an operation to be carried out, we say that
the client invokes an operation upon the server.
· Replies are sent in messages from the server to the clients
Example: the world wide web
What is a P2P system? - ANSWER All the processes involved in a task or
activity play similar roles, interacting cooperatively as peers without any
distinction between client and server processes or the computers that they run
on
In practical terms, all peers run the same program and offer the same set of
interfaces to each other
The aim of the P2P architecture is to exploit the resources (both data and
hardware) in a large number of participating computers for the fulfilment of a
given task or activity
What is the main difference between client server systems and P2P systems, in
terms of
architectural style? - ANSWER · Peer-to-peer networks connect computers so
that each computer shares all or part of its resources. Client-server networks
have one or more central computers, or servers, that hold the data and manage
resources.
· The key difference between Client-Server and Peer-to-Peer network is that
there is a dedicated server and specific clients in the client-server network
model whereas, in peer-to-peer each node can act as both server and client. In
the client-server model, the server provides services to the client.
What is the difference between synchronous and asynchronous distributed
systems? - ANSWER Synchronous distributed systems: strong assumption of
time.
· The time to execute each step of a process has known lower and upper bounds.
· Each message transmitted over a channel is received within a known bounded
time.
, · Each process has a local clock whose drift rate from real time has a known
bound
Difference:
Asynchronous distributed systems: no assumptions about time.
· A system of parallel processes is said to be synchronous if all processes run
using the same clock, and it is asynchronous if each process has its own
independent clock.
· Synchronous is a data transfer method in which a continuous stream of data
signals is accompanied by timing signals whereas Asynchronous data
transmission is a data transfer method in which the sender and the receiver use
the flow control method.
Can you describe some design challenges for distributed systems? - ANSWER
· Heterogeneity: (i.e. variety and difference): networks, computer hardware,
operating systems, programming languages, implementations by different
developers
· Transparency: The concealment from the user and the application programmer
of the separation of components in a distributed system, so that the system is
perceived as a whole rather than a collection of independent components
· Openness. The openness of a computer system is the characteristic that
determines whether the system can be extended and re-implemented in various
ways
· Concurrency. Both services and applications provide resources that can be
shared by different clients in a distributed system
o There is therefore a possibility that several clients will attempt to access a
shared resource at the same time
o Each resource (servers, Web resources objects in applications, ...) must be
designed to be safe in a concurrent environment
· Security.
o Confidentiality: Protection against disclosure to unauthorized individuals
o Integrity: Protection against alteration or corruption
o Availability: Protection against interference with the means to access the
resource
· Scalability. A system is scalable if it will remain effective when there is a
significant increase in the number of resources and the number of users
AND ANSWERS
264 QUESTIONS AND ANSWERS
What is an architectural model of a distributed system? - ANSWER An
architectural model of a distributed system defines how the components of the
system interact with each other and how they are mapped onto an underlying
network of computers.
An architectural model is concerned with the placement if its components and
the relationships between them
‣client-server systems
‣peer-to-peer systems
What is a fundamental model of a distributed system? - ANSWER
Fundamental models are concerned with a more abstract description of the
properties that are common in all of the architectural models
What is the difference between an architectural model and a fundamental model
of a
distributed system? - ANSWER An architectural model in a distributed
system:
· Is concerned with the placement of its parts and the relationships between
them.
o Examples: Client-server and Peer-to-peer.
· In this model, the functions of the individual components of the distributed
system is abstracted.
· It makes sure that the structure will meet present as well as future demands.
· Make the system manageable, reliable, adaptable, and cost-effective.
Fundamental model:
· This model has only the essential details needed to understand and reason
about some features of a system's behavior.
,· A system model has to addresses the main entities in the system, the way they
interact and the characteristics that affect their individual and collective
behavior.
· This model gives clear assumptions about the system we are modeling.
With General purpose algorithms and Desirable properties, what is possible or
impossible can be identified.
What is a process in a distributed system? - ANSWER A process is a program
under execution i.e an active program
Distributed system: processes coupled with appropriate inter-process
communication paradigms
What is a communication paradigm? - ANSWER Defines how a system
communicates.
Can you name some examples of different communication paradigms? -
ANSWER Interprocess communication
· low level support for communication between processes in the distributed
system, including message-passing primitives, socket programming, multicast
communication
Remote invocation
· most common communication paradigm, based on a two-way exchange
between communicating entities and resulting in the calling of a remote
operation (procedure or method)
Indirect communication
· communication is indirect, through a third entity, allowing a strong degree of
decoupling between senders and receivers, in particular:
o space uncoupling: senders do not need to know who they are sending to
time uncoupling: senders and receivers do not need to exist at the same time
What is a client server system? - ANSWER A type of distributed system
where processing power is distributed between a central server computer and a
number of client computers
Processes divided into two (possibly overlapping) groups:
· Server: process implementing a specific service (file system service, database
service)
,· Client: process that requests a service from a server by sending it a request and
subsequently waiting for the server's reply.
Request-reply protocol
Requests are sent in messages from clients to a server
· When a client sends a request for an operation to be carried out, we say that
the client invokes an operation upon the server.
· Replies are sent in messages from the server to the clients
Example: the world wide web
What is a P2P system? - ANSWER All the processes involved in a task or
activity play similar roles, interacting cooperatively as peers without any
distinction between client and server processes or the computers that they run
on
In practical terms, all peers run the same program and offer the same set of
interfaces to each other
The aim of the P2P architecture is to exploit the resources (both data and
hardware) in a large number of participating computers for the fulfilment of a
given task or activity
What is the main difference between client server systems and P2P systems, in
terms of
architectural style? - ANSWER · Peer-to-peer networks connect computers so
that each computer shares all or part of its resources. Client-server networks
have one or more central computers, or servers, that hold the data and manage
resources.
· The key difference between Client-Server and Peer-to-Peer network is that
there is a dedicated server and specific clients in the client-server network
model whereas, in peer-to-peer each node can act as both server and client. In
the client-server model, the server provides services to the client.
What is the difference between synchronous and asynchronous distributed
systems? - ANSWER Synchronous distributed systems: strong assumption of
time.
· The time to execute each step of a process has known lower and upper bounds.
· Each message transmitted over a channel is received within a known bounded
time.
, · Each process has a local clock whose drift rate from real time has a known
bound
Difference:
Asynchronous distributed systems: no assumptions about time.
· A system of parallel processes is said to be synchronous if all processes run
using the same clock, and it is asynchronous if each process has its own
independent clock.
· Synchronous is a data transfer method in which a continuous stream of data
signals is accompanied by timing signals whereas Asynchronous data
transmission is a data transfer method in which the sender and the receiver use
the flow control method.
Can you describe some design challenges for distributed systems? - ANSWER
· Heterogeneity: (i.e. variety and difference): networks, computer hardware,
operating systems, programming languages, implementations by different
developers
· Transparency: The concealment from the user and the application programmer
of the separation of components in a distributed system, so that the system is
perceived as a whole rather than a collection of independent components
· Openness. The openness of a computer system is the characteristic that
determines whether the system can be extended and re-implemented in various
ways
· Concurrency. Both services and applications provide resources that can be
shared by different clients in a distributed system
o There is therefore a possibility that several clients will attempt to access a
shared resource at the same time
o Each resource (servers, Web resources objects in applications, ...) must be
designed to be safe in a concurrent environment
· Security.
o Confidentiality: Protection against disclosure to unauthorized individuals
o Integrity: Protection against alteration or corruption
o Availability: Protection against interference with the means to access the
resource
· Scalability. A system is scalable if it will remain effective when there is a
significant increase in the number of resources and the number of users