Example Exam Questions
Question 1
In an interview about designing distributed systems Ken Arnold (the
original lead architect of JavaSpaces) said "State is hell. You need
to design systems under the assumption that state is hell. Everything
that can be stateless should be stateless".
Why does state pose a problem in distributed systems?
Question 2
SOAP and XML-RPC are two examples of RPC protocols that use XML as
their data format and HTTP as their transport. Discuss the benefits and
drawbacks of using XML as a data format. Also discuss the
benefits and drawbacks of using HTTP as a transport.
Question 3
Servers hosting popular Web sites often receive more requests than
they can handle, causing their performance to suffer. A typical way
of overcoming this problem is to to replicate the contents on other
servers. Describe some of the problems that this may introduce. Discuss
possible solutions to the problems you mention.
Question 4
Read your writes is a client-centric consistency model.
- Describe this model.
- A naive implementation of this model requires that each replica
server maintain a write set of the write operations that it has seen.
Likewise, each client maintains a read set of the write operations that
it has seen. For this implemenatation we assume that each write
operation is identified by a unique identifier (note that because we
are dealing with replication a write operation will be executed at
each replica server. Each replicated execution of the same write
operation will have the same identifier). This identifier is generated
by the server that accepts the operation for the first time (i.e., the
server where the write is initiated). Complete (and describe) the design
of this naive implementation of read your writes. Provide an example of
how your design works.
- A problem with the naive implementation introduced above is that
the write and read sets may become very large, leading to poor
performance. A more efficient solution is possible using vector
timestamps. Sketch the design of a read your writes implementation
that avoids the overhead of large read and write sets by using vector
timestamps. Provide an example of how your design works.
Question 5
The Erlang client server
exercise could also be an exam question.
Comments
These are examples of the kinds of questions you may encounter. This
is an open book exam so it requires you to understand
the material. A result of this is that you may be required to combine
concepts and ideas that were presented separately (in separate
lectures). Be prepared to think, not regurgitate.
When answering the questions answer briefly, overly lengthy
answers will be penalised. Make sure that you answer only the question that
has been asked (but make sure that you answer all the questions
you have been asked). Also make sure that you don't contradict yourself. If you
give a correct answer and then contradict yourself by giving the wrong answer
too, then the answer won't count as being right. You may draw diagrams to
clarify your answer, but make sure that you explain the diagrams. Diagrams
generally don't speak for themselves.
This page is maintained by
cs9243@cse.unsw.edu.au
Last modified: Monday, 07-Sep-2020 22:07:45 AEST