Module Code: COMP321101 Module Title: Distributed Systems
Examination Information
Question 1
Question 1 considers an Autonomous Vehicle-to-Infrastructure use case where a driverless car is supported by a Mobile Edge Computing environment. (a) Explain briefly how Mobile Edge Computing can support this use case.
[2 marks]
(b) Identify three distributed applications running on the driverless car.
[3 marks]
(c) Determine which of the following motivating factors are important for building these applications over a distributed system: (i) inherently distributed computation (ii) access to geographically remote data (iii) scalability.
[3 marks]
(d) One of the application running on the car has generated 64MB (Mega-Bytes) data that needs to be processed within one second. You have two options: Send the data to an edge node over a duplex link with 256MB/s (Mega-Bytes/second) and 25 milliseconds latency. The processing time of the data on this node is 300 milli-seconds; Send the data directly to the cloud over a duplex link of 128MB/s and 15 milli-seconds latency. The processing time of the data on the cloud is 100 milli-seconds.
Assume the same amount of processed data is sent back to the application after processing, i.e. 64MB [5 marks] (Mega-Bytes). Which option would you choose to meet the timing constraint? (e) The clock on the car needs to constantly synchronise with a UTC server using Cristian’s algorithm. Suppose the clock on the car reads 16:59:54. The server’s clock reads 16:59:59 when they synchronise. Assume the Round Trip Time (RTT) is 2 seconds. What is the time at the client after synchronization? Note: the time [2 marks] format is HH:MM:SS. (f) Consider a simple interaction of the car by means of a distributed shared database using a causal consistency model. The event sequence of four processes Pi (i = 1..4) is shown in the figure below using the notation introduced in the lecture: R(x)a denotes that a process reads item x and is returned value a, and W(x)a denotes a write operation. What would the second read operation denoted R(x)? return to process P3 ? What would the second read operation denoted R(y)? return to process P4 ? Explain your reasoning.
[5 marks] [Question 1 Total: 20 marks]