A server accepts and processes requests from clients. The server keeps the results of the most recent requests in memory as a cache. The processing of each request takes 15 ms.
If the requested result is not in the memory cache, additional 75 ms are needed to access the disk.
On average, 80% of all requests can be serviced without disk access. The creation of a new thread takes 10 ms.
(a) To minimize average response time, should the server be implemented as a single-threaded or a multi-threaded process? Justify your answer.
(b) What percentage of requests would have to be satisfied without disk access for the two approaches to break even?