Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COMP90015 Distributed Systems
Reading Time: 15 minutes
Writing Time: 2 hours
Open Book Status: Open Book – Online.
Authorized Materials: You are permitted to make use of material available on the Web in general,
including course notes, recordings, materials on LMS, and research literature and websites.
This paper has 2 pages including this page
Identical Examination Papers: The examination paper is available as either a PDF or Word document.
The documents have identical content and differ only in minor formatting ways.
Common Content: none
Instructions to students:
• The total marks for this paper is 40.
• The examination is worth 40% of the subject assessment.
• Attempt all questions - partial credit is available.
• You are required to submit a single document that contains all of your answers. Acceptable
document formats include PDF, Word, or a plain text file. Please include your student number at the
top of the first page of the document, prepare your answers in the same order as the questions given
in the exam paper, and number your answers with the same numbering as in the exam paper.
• You may type your answers, include diagrams/images if you wish, and you may draw and scan images
to include in the document. You may prepare all of your answers on paper, using handwritten answers
if you wish, and simply scan all of your answers into a single PDF document and submit that way if you
wish. Make sure that all scanned material and diagrams/images are clearly legible.
• You must adhere to the Academic Integrity Declaration. In particular, in each of your answers, cite
all materials that you sourced information from.
• Unless you have a special time allowance, you have an examination time of 2 hours and 15 minutes
to complete and upload your answers document, for it to be considered "on time". After the
examination time, you have an additional late submission period of 30 minutes to submit your answers
document - submissions in this period will be considered "late". The late submission period cannot be
used as additional exam time. The Subject Coordinator may request evidence of technical issues or a
late penalty may apply. After this period you will not be able to upload your answers document.
• You may submit multiple times (unlimited), but only the final (last) submission will be looked at for
assessment. If the final submission is within the late period then your submission will be considered
late, as above. You will not be able to revert to an earlier submission.
Paper to be held by Baillieu Library: yes
COMP90015 Distributed Computing
2
Q.1 [10 marks] Suppose you are going to build a Group Communication middleware using
fundamental communication primitives. Define and explain the essential aspects of
the Group Communication API that you would implement. Give examples of how an
application developer would make use of the API. Define and explain a fault-tolerance
model and security model for your Group Communication middleware. Discuss the
inter-process communication protocols and messages that you would use to
implement your middleware with the given fault-tolerance and security models.
Discuss the threading model that you would use and how this relates to your
middleware design.
Q.2 [10 marks] The Network File System (NFS) discussed in lectures is a very different kind of
distributed file system solution to contemporary systems like DropBox, OneDrive or
GoogleDrive. Explain the major differences of NFS to the contemporary systems
(choose one of them) and discuss the differences in terms of advantages and
disadvantages. Use NFS as an example to explain the concept of eventual consistency.
Explain how NFS eventually becomes consistent and explain the tradeoffs involved.
Q.3 [10 marks] A software company is required to build a data storage management system
with the following high-level requirements. Many organizations such as scientific
research institutions, enterprise businesses, and industries actively collect, store,
retrieve, and manipulate the data on a day to day bases from geographically
distributed data sources and users. A typical scale of data, in this case, is between
Terabytes to Petabytes. These organizations need an efficient distributed system that
provides data storage and retrieval services. It also warrants user management
(authentication/authorization/access control lists), and stringent data security with
fast and efficient access through relevant tools (GUIs and API access). The data can be
stored on an individual organization’s on-premise infrastructure or on any third party
managed infrastructure such as a Cloud. The data belongs to a variety of application
types depending on its domain. In addition, many users of this system store the vast
majority of the data into an archive and rarely access (around 90%) while the
remaining data is actively retrieved and concurrently manipulated by multiple users.
Discuss what aspects you will consider when designing and implementing the
distributed system to facilitate the above requirements. Discuss your approach,
challenges, and a possible solution, in terms of choice of architecture, application
components, technologies, etc., towards building this system.
Q.4 Recall the Event-based middleware that you used in your project work for Project 2B
and Project 3.
(a) [3 marks] Explain the threading model that the middleware used. Give an advantage
and disadvantage of this threading model.
(b) [2 marks] List and briefly explain all of the threads (or thread types) that the
middleware creates.
(c) [5 marks] The Event-based middleware uses a number of threads. However, it is
possible to refactor the middleware to use a single thread. Discuss what this would
entail with respect to sockets and messaging.