Q1 (4 marks) A database system serves transactions of 2 distinct kinds.
Each query transaction requires 40 ms of CPU processing and reading
250 blocks from disk (where each block occupies 4KB, and the disk can
deliver 100 MB/s). Each update transaction requires 0.1ms of CPU
processing, reading 1 block from disk, and also it requires sending a log
record to a dedicated archival storage, an operation which occupies this
resource for 20 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) [2 marks] Still with 25% update transactions, what is the largest
number of clients for which average response time will be below 2s?
c) [1 mark] Suppose that when there are N clients, the transaction mix
generated by each client consists of (25/N)% update transactions, and the
rest are query transactions. How many clients can be supported with
average response time below 2s? What throughput is obtained for this
number of clients?
Q2 (3 marks) In a RESTful design for a service, all the functionalities are
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 assignment
attempt submission, as well as marking of attempts for students in
courses. (Your design should be RESTful, but would correspond to
traditional design around methods like submitAttempt,
Q3 (3 marks) Consider a system X 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 X
b) [1 mark] The customer has asked for improved fault-tolerance through
redundancy, and suggested that you provide system X1 which consists of
a redundant 2-plex of X. Thus X1 consists of Xa (made up with Aa, Ba,
Ca) and Xb (composed from Ab, Bb, and Cb). Calculate the availability,
MTTF and MTTR for system X1.