Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

1|Page

Department of Computer Science and Engineering

CS8603 Distributed Systems

Unit I 2 Marks

1. What is meant distributed system?


 We define a distributed system as a collection of autonomous computers linked by a network, with
software designed to produce an integrated computing facility.
 A system in which hardware or software components located at networked computers communicate
and coordinate their actions only by message passing.
 A collection of two or more independent computers which coordinate their processing through the
exchange of synchronous or asynchronous message passing.
 A collection of independent computers that appear to the users of the system as single computers.

2. What are the significances of distributed system?


a. Concurrency of computers. b. No global clock. c. Independent failures.

3. List the features of distributed system.


No common physical clock, No shared memory, Geographical separation, Autonomy and heterogeneity

4. List the motivation for using distributed system.


Inherently distributed computations, Resource sharing, Access to geographically remote data and resources,
Enhanced reliability, increased performance/cost ratio, Scalability, Modularity and incremental expandability

5. Why we do you need distributed system?


a. Functional distribution: Computers have different functional capabilities (i.e., sharing of resources with
specific functionalities).
b. Load distribution/balancing: Assign tasks to processors such that the overall system performance is
optimized.
c. Replication of processing power: Independent processors working on the same task.
d. Distributed system consisting of collections of microcomputers may have processing powers that no
supercomputer will ever achieve.
e. Physical separation: Systems that rely on the fact that computers are physically separated (e.g., to satisfy
reliability requirements).
f. Economics: Collections of microprocessors offer a better price/performance ratio than large
mainframes.mainframes:10 times faster, 1000 times as expensive.

6. List the examples of distributed system.


a. Internet b. Intranet c. Mobile and ubiquitous computing

7. What are the two type of resource sharing?


a. Hardware sharing: Printers. plotters and large disks and other peripherals are shared to reduce costs. b.
Data sharing is important in many applications:
1. Software developers working in a team need to access each other’s code and share the same development
tools.
2. Many commercial applications enable users to access shared data objects in a single active database.
Prepared by Elavarasi D,
AP/CSE, MZCET
2|Page

3. The rapidly growing area of group-ware tools enables users to cooperate with in a network.

8. What are the Characteristics of parallel systems?


A parallel system may be broadly classified as belonging to one of three
types:
1. A multiprocessor system is a parallel system in which the multiple processors have direct access to
shared memory which forms a common address space.
2. A multicomputer parallel system is a parallel system in which the multiple processors do not have
direct access to shared memory. The memory of the multiple processors may or may not form a
common address space.
3. Array processors belong to a class of parallel computers that are physically co-located, are very
tightly coupled, and have a common system clock.

9. Define uniform memory access and non uniform memory access.


A multiprocessor system usually corresponds to a uniform memory access (UMA) architecture in which the
access latency, i.e., waiting time, to complete an access to any memory location from any processor is the
same.
A multicomputer system that has a common address space usually corresponds to a non-uniform memory
access (NUMA) architecture in which the latency to access various shared memory locations from the
different processors varies.

10. What is omega interconnection function?


The Omega network which connects n processors to n memory units has n/2log2 n switching elements of size
2×2 arranged in log2 n stages. Between each pair of adjacent stages of the Omega network, a link exists
between output i of a stage and the input j to the next stage according to the following perfect shuffle
pattern which is a left-rotation operation on the binary representation of i to get j. The iterative generation
function is as follows:

11. What is butterfly interconnection function?


The generation of the interconnection pattern between a pair of adjacent stages depends not only on n but
also on the stage number s. The recursive expression is as follows. Let there beM =n/2 switches per stage,
and let a switch be denoted by the tuple <x, s>, where x ∈ |M−1 and stage s ∈ |log2n−1.
The two outgoing edges from any switch <x, s> are as follows. There is an edge from switch <x, s> to switch
<y, s+1> if (i) x = y or (ii) x XOR y has exactly one 1 bit, which is in the (s+1)th MSB. For stage s, apply the rule
above for M/2s switches.

12. What is Flynn’s taxonomy?


There are four processing modes, based on whether the processors execute the same or different instruction
streams at the same time, and whether or not the processors processed the same (identical) data at the
same time.
Single instruction stream, single data stream (SISD)

Prepared by Elavarasi D,
AP/CSE, MZCET
3|Page

Single instruction stream, multiple data stream (SIMD)


Multiple instruction stream, single data stream (MISD)
Multiple instruction stream, multiple data stream (MIMD)

13. What is MIMD?


Multiple instruction stream, multiple data stream (MIMD) In this mode, the various processors execute
different code on different data. This is the mode of operation in distributed systems as well as in the vast
majority of parallel systems.

14. What is SIMD?


Single instruction stream, multiple data stream (SIMD) This mode corresponds to the processing by multiple
homogenous processors which execute in lock-step on different data items. Applications that
involve operations on large arrays and matrices, such as scientific applications, can best exploit systems that
provide the SIMD mode of operation because the data sets can be partitioned easily.

15. What is coupling?


The degree of coupling among a set of modules, whether hardware or software, is measured in terms of the
interdependency and binding and/or homogeneity among the modules. When the degree of coupling is high
(low), the modules are said to be tightly (loosely) coupled.
SIMD and MISD architectures generally tend to be tightly coupled because of the common clocking of the
shared instruction stream or the shared data stream.

16. List the types of coupling.


 Tightly coupled multiprocessors with UMA shared memory
 Tightly coupled multiprocessors with NUMA shared memory or that communicate by message
passing
 Loosely coupled multicomputers without shared memory
 Loosely coupled multicomputers without shared memory and without common clock

17. What is parallelism or speed of the program?


This is a measure of the relative speedup of a specific program, on a given machine. The speedup depends on
the number of processors and the mapping of the code to the processors. It is expressed as the ratio of the
time T(1) with a single processor, to the time T(n) with n processors.

18. What is the concurrency of the program?


The parallelism/ concurrency in a parallel/distributed program can be measured by the ratio of the number
of local (non-communication and non-shared memory access) operations to the total number of operations,
including the communication or shared memory access operations.

19. What is Granularity of a program?


The ratio of the amount of computation to the amount of communication within the parallel/distributed
program is termed as granularity. If the degree of parallelism is coarse-grained (fine-grained), there are
relatively many more (fewer) productive CPU instruction executions, compared to the number of
times the processors communicate either via shared memory or message passing and wait to get
synchronized with the other processors.
20. List the primitives for distributed communication.
Blocking/non-blocking, synchronous/asynchronous primitives
 Synchronous primitives
 Asynchronous primitives

Prepared by Elavarasi D,
AP/CSE, MZCET
4|Page

 Blocking primitives
 Non-blocking primitives

21. What is the use of handles in Non-blocking primitives?


For non-blocking primitives, a return parameter on the primitive call returns a system-generated handle
which can be later used to check the status of completion of the call.

22. What is non-blocking asynchronous Send?


The user process that invokes the Send is blocked until the transfer of the data from the user’s buffer to the
kernel buffer is initiated.

23. Differentiate Synchronous and asynchronous executions.

Synchronous executions asynchronous executions


(i) there is no processor synchrony and there is no (i) processors are synchronized and the clock drift
bound on the drift rate of processor clocks rate between any two processors is bounded,
(ii) message delays (transmission + propagation (ii) message delivery (transmission + delivery) times
times) are finite but unbounded are such that they occur in one logical step or round,
(iii) there is no upper bound on the time taken by a (iii) there is a known upper bound
process to execute a step on the time taken by a process to execute a step.

24. List the design issues and challenges in distributed system.


a. Distributed systems challenges from a system perspective
b. Algorithmic challenges in distributed computing
c. Applications of distributed computing and newer challenges

25. What are the types of transparencies?


a. Access transparency: enables local and remote resources to be accessed using identical operations.
b. Location transparency: enables resources to be accessed without knowledge of their location.
c. Concurrency transparency: enables several processes to operate concurrently using shared resources
without interference between them.
d. Replication transparency: enables multiple instances of resources to be used to increase reliability and
performance without knowledge of the replicas by users or application programmers.
e. Failure transparency: enables the concealment of faults, allowing users and application programs to
complete their tasks despite the failure of hardware or software components.
f. Mobility transparency: allows the movement of resources and clients within a system without affecting the
operation of users or programs.
g. Performance transparency: allows the system to be reconfigures to implement performance as loads vary.
h. Scaling transparency: allows the system and applications to expand in scale without change to the system
structure or the application algorithms.
i. Access and location transparency together provide network transparency

26. What is distributed program?


A distributed program is composed of a set of n asynchronous processes p1, p2, , pi, , pn that communicate
by message passing over the communication network.

Prepared by Elavarasi D,
AP/CSE, MZCET
5|Page

27. What is causal precedence relation?


The execution of a distributed application results in a set of distributed events
produced by the processes. Let H =Uihi denote the set of events executed in a distributed computation. a
binary relation on the set H, denoted as →, that expresses causal dependencies between events in the
distributed execution.

28. Differentiate logical and physical concurrency.


In a distributed computation, two events are logically concurrent if and only if they do not causally affect
each other. Physical concurrency, on the other hand, has a connotation that the events occur at the same
instant in physical time.

29. List the models of communication networks.


There are several models of the service provided by communication networks, namely, FIFO (first-in, first-
out), non-FIFO, and causal ordering.

30. What is casual ordering?


The “causal ordering” model is based on Lamport’s “happens before” relation. A system that
supports the causal ordering model satisfies the following property:
CO For any two messages mij and mkj, if send(mij) −→ send(mkj) then rec(mij) −→ rec(mkj).

31. Define global state of a distributed system.


The global state of a distributed system is a collection of the local states of its components, namely, the
processes and the communication channels.
The state of a process at any time is defined by the contents of processor registers, stacks, local memory, etc.
and depends on the local context of the distributed application. The state of a channel is given by the set of
messages in transit in the channel.

32. What are the cuts of a distributed computation?

33. Differentiate consistent cut and inconsistent cut.


A consistent global state corresponds to a cut in which every message received in the PAST of the cut was
sent in the PAST of that cut. Such a cut is known as a consistent cut.
A cut is inconsistent if a message crosses the cut from the FUTURE to the PAST.

34. Define past and future cones of an event.


Max_Past(ej) consists of the latest event at every process that affected event ej and is referred to as the
surface of the past cone of ej

Prepared by Elavarasi D,
AP/CSE, MZCET
6|Page

• Min_Pastej, defined , consists of the first event at every process


that is causally affected by event ej and is referred to as the surface of the future cone of ej

35. What is a framework for a system of logical clocks?


A system of logical clocks consists of a time domain T and a logical clock C. Elements of T form a partially
ordered set over a relation <. This relation is usually called the happened before or causal precedence.
C:H→T

36. What are conditions for consistency properties and strongly consistencies properties?
 for two events ei and ej , ei →ej =⇒ C(ei) < C(ej ).
 This monotonicity property is called the clock consistency condition.
 When T and C satisfy the following condition,
 for two events ei and ej , ei→ej⇔ C(ei) < C(ej ),
 the system of clocks is said to be strongly consistent.

37. Define scalar time.


The scalar time representation was proposed by Lamport in 1978 as an attempt to totally order events in a
distributed system.
R1 Before executing an event (send, receive, or internal), process pi executes the following:
Ci = Ci+d (d > 0)
R2 Each message piggybacks the clock value of its sender at sending time. When a process pi receives a
message with timestamp Cmsg, it executes the following actions:
1. Ci = max(Ci,Cmsg);
2. execute R1;
3. deliver the message.

38. List the basic properties of scalar time.


Consistency property, Total Ordering, Event counting, No strong consistency

40. Define vector time.


In the system of vector clocks, the time domain is represented by a set of n-dimensional non-negative integer
vectors. Each process pi maintains a vector vti[1,,n, where vti[i] is the local logical clock of pi and describes
the logical time progress at process pi. Vti[j represents process pi’s latest knowledge of process pj local time.
R1 Before executing an event, process pi updates its local logical time
as follows: vti(i)= vti(i)+d
R2 Each message m is piggybacked with the vector clock vt of the sender process at sending time. On the
receipt of such a message (m,vt), process pi executes the following sequence of actions:
1. update its global logical time as follows: 1 ≤ k ≤n vti[k] = max(vt[k], vt[k])
2. execute R1; 3. deliver the message m.

41. List the basic properties of vector time.


Isomorphism, Strong consistency, Event counting

Prepared by Elavarasi D,
AP/CSE, MZCET

You might also like