COMP5348 Assignment 2
School of Computer Science
Enterprise-Scale Software Development (COMP5348)
Assignment 2, Semester 1, 2019
Individual 10%
Due: Submit on COMP5348 Canvas site by Midnight on Sunday May 19th 2019
PART 1. Performance Prediction (4 marks)
A database system serves transactions of 2 distinct kinds. Each query transaction
requires 35 mS of CPU processing and sequentially reads 230 4KB blocks from disk.
The disk can deliver 250 MB/s but it takes 5 mS before the first block is read (head
movement latency). Each update transaction requires 0.3ms of CPU processing,
reading 1 block from disk (same speeds and latency), and it also requires writing a
record to a dedicated logging disk, an operation that takes 10 mS. Each client
generates transactions without any think time between one response and the next
request.
a) [1 mark] Suppose that each client generates requests for which the transaction
mix consists of 25% update transactions and 75% query transactions. If there are
3 clients, use the “low-load bounds” to estimate the throughput and latency
obtained.
b) [1 mark] Still with 25% update transactions, what is the largest number of clients
for which average response time will be below 2 secs?
c) [2 marks] The disks used in the system are replaced with Flash-based SSDs, with
sequential throughput of 1000 MB/s and effectively zero latency. Recalculate
your answers to a) and b) for this revised system.
PART 2. RESTful Application Design (3 marks)
In a RESTful design for a service, all functionality is provided through the limited set
of HTTP verbs (GET, PUT, POST, DELETE, HEAD, OPTIONS). Give a RESTful proposal
for the resources, URIs and operations, for a system that manages code reviews.
Your design should be RESTful but could include functionality such as
SubmitCodeForReview, GetCodeToBeReviewed, EnterCodeReview,
AcceptReviewedCode. The set of resources, URIs and allowed operations is for you
to determine, but you should show how they support common code review
workflows.
1|Page
COMP5348 Assignment 2
PART 3. Fault Tolerance and Replication (3 marks)
Consider a system WebSys made from 3 components:
Component A has MTTF of 3 months and MTTR of 2 days
Component B has MTTF of 1 yr and MTTR of 4 days
Component C has MTTF of 1 month and MTTR of 6 days
a) [2 marks] Calculate the overall availability and MTTF and MTTR, for the whole
system WebSys (A, B & C)
b) [1 mark] The customer has asked for improved availability, and you suggested
that they move to system WebSys2 which includes an improved and more
reliable replacement for Component C. This C’ component has MTTF of 6 months
and MTTR of 1 day. Thus WebSys2 consists of:
A, B and C’
Calculate the availability, MTTF and MTTR for system WebSys2.
Submission
1. You should submit your solution via Canvas. The file should be in a PDF format.
Do not include the above questions description in your submission – only
include the section and branch names (e.g., Part 1. a.)
2. You must submit your solution by midnight on Sunday May 19th, 2019.
2|Page