621 Finalexam Semii 2004 05 Distributed Systems
621 Finalexam Semii 2004 05 Distributed Systems
Faculty of Informatics
Addis Ababa University
Instructions
1. Read the instructions and the questions carefully.
2. Answer all questions eligibly on the spaces provided. You can use the back side of each paper when
space is not sufficient. In such a case, please indicate so.
3. A wrong answer that has nothing to do with the question or one that contradicts established facts or
theories will lead to mark deductions.
4. Make sure that the question paper consists of 11 pages including this cover page.
Marks
1
Part I: Fill in the blank spaces. (20 points)
1. The two major technological developments that led to the development of distributed systems are
____________________________________ and __________________________________.
2. Two of the services that a network operating system can provide are:
___________________________, and ______________________________.
3. Distributed applications developed in a client-server architecture can have the following three layers
(levels): ____________________, _______________________, and ________________________.
4. The four widely used communication models for distributed systems are: _____________________,
_________________________, ____________________________, and _____________________.
5. In a message-queuing system, _________________________________ converts incoming messages
to a format that can be understood by the destination application based on a set of rules.
6. The four QoS requirement concerns for continuous data are: _________________, ______________,
__________________________, and ___________________________________________.
7. The four reasons for code migration are: _______________________, _______________________,
__________________________, and _____________________________.
8. The three logical layers that can be used for namespace distribution are: _______________________,
_______________________, and _____________________________.
9. The two algorithms that are used for clock synchronization in distributed systems are:
___________________________________, and _____________________________.
10. The four properties of distributed transactions are: ___________________, ___________________,
___________________, and ______________________.
11. The three managers that can be organized in layers for the execution of concurrent transactions are:
_______________________, _______________________, and _____________________________.
12. The two major reasons for replication are: ___________________________________, and
_____________________________.
13. The three possible ways of replica placement are: _______________________________________,
_____________________________________, and ____________________________________.
14. Faults can be classified into: _______________________________________,
_____________________________________, and ____________________________________.
2
Part II – Matching – Write the letter of the phrase in column B that best matches the term
or phrase in column A. (5 points)
Column A Column B
____ 1. Heterogeneous multicomputers A. Tailored to transient communication
____ 2. Homogeneous multicomputers B. Merging different name spaces
____ 3. Door C. Totally-ordered multicast
____ 4. RMI D. Activation policy
____ 5. MPI E. Client and server collocated on the same server
____ 6. Object adaptor F. Distributed snapshot
____ 7. Mounting G. A distributed naming service
____ 8. X.500 H. Tightly-coupled systems
____ 9. Lamport timestamps I. Improves system reliability
____ 10. Global state J. Loosely-coupled systems
K. Enhances distribution transparency
L. Replication transparency
M. A directory service standard
Part III – Answer each of the following questions in the spaces provided. (75 points)
1. Describe what is meant by concurrency transparency and persistence transparency. In both cases give
examples. (3 points)
3
2. Scaling in distributed systems may lead to performance problems. What are the three possible
solutions to these problems? Describe each briefly. Indicate which solution may be used to solve the
problems caused by which scaling techniques and how. (6 points)
3. What is the major difference between normal TCP and Transactional TCP? Why do we need the
later? (3 points)
4
4. What is asynchronous RPC? How does it differ from traditional RPC? Identify the two possible
scenarios in using asynchronous RPC. (4 points)
5. State and briefly describe two static QoS management functions and two dynamic QoS management
functions. (4 points)
6. What is the difference between an iterative server and a concurrent server? (2 points)
5
7. What is a software agent? What characteristics do all software agents have in common and in what
other characteristics do they differ? (5 points)
8. What are the two methods of implementing a distributed name resolution? Briefly describe both.
What are the advantages and drawbacks of each method. (4 points)
6
9. What is an idempotent operation? Give one example operation that is idempotent and one example
that is not. (4 points)
10. Is it possible to synchronize all clocks in a distributed system? If yes, how? If not, why not?
(3 points)
7
12. Mutual exclusion and distributed transactions are used to protect shared resources in distributed
systems. What additional features do the later have? (2 points)
13. What is serializability in concurrent transactions? Given the following two transactions, list four
serialized schedules. (4 points)
BEGIN_TRANSACTION BEGIN_TRANSACTION
x = 0; x = 0;
x = x + 1; x = x + 2;
END_TRANSACTION END_TRANSACTION
8
14. State strict consistency. Why is it difficult to achieve strict consistency? (4 points)
15. Briefly describe the consistency models of the first column on the space provided on the second
column. (7 points)
Model Description
Linearizability
Sequential
Causal
FIFO
Weak
Release
Entry
9
16. What is the distributed commit problem? What are the proposed solutions? Briefly describe each.
(7 points)
17. What are the different ways of masking faults through redundancy? Describe each briefly. (5 points)
10
18. What is checkpointing used for? What is the problem with independent checkpointing? What is the
solution? (5 points)
11