Question: Please answer (a) - (f), thank you! Problem 1 A system consists of 1 CPU, 1 Disk, and 1 Network Interface, and you are being
Please answer (a) - (f), thank you!

Problem 1 A system consists of 1 CPU, 1 Disk, and 1 Network Interface, and you are being paid to make a server out of this system. The server will have respond to two types of requests: FTP and static HTTP requests. Upon receiving an FTP request, the server needs to fetch a file from disk (disk I/O) and send the file to the client (network I/O). For HTTP transactions, the server only needs to access the local memory (no disk I/O) and then use the network interface to send a webpage to the client (network I/O) Through some measurements you have performed, you were able to breakdown the path in the system for the two types of requests as follows For a FTP request F: I F uses the CPU for 1 ms (parse FTP request and start disk I/O) II F waits for the Disk for 5 ms (fetch the file) III F uses the CPU for 1 ms (store content in memory and start network I/O)/CPU is busy here IV F waits for the Network for 4 ms (send file to the client over the network) // Network is busy here V F uses the CPU for 1 ms (cleanup) // CPU is busy here // Disk is busy here // CPU is busy here For a HTTP request H: I H uses the CPU for 3 ms (parse HTTP request and lookup in memory) // CPU is busy here II H waits for the Network for 2 ms (send webpage to the client over the network) // Network is busy ere III H uses the CPU for 2 ms (cleanup) / / CPU is busy here Since you are not getting paid that much, your first implementation is a single-threaded server for botlh HTTP and FTP traffic. In other words, your system is a batch processing system, with a multiprogramming level (MPL)-1. Looking at the traffic arriving at the server, you notice that the same pattern of 10 requests repeats over and over again: first 3 FTP requests arrive, followed by 7 HTTP requests. Your server processes requests in the same order and the next request is always ready (has already arrived) once processing for the current request is done. a) What are the utilizations of the CPU, disk, and network? b) What is the HTTP throughput of the web server? c) What is the FTP throughput of the web server? To improve resource utilization, you decided to make your web server multi-threaded. In other words, you decided to go for MPL-N > 1, thus allowing the server to concurrently service up to N requests (one request per thread). Assuming that there are always requests pending with the same pattern as before. Requests for each thread to service, and that the system has been running for a long time (i.e., it reached some steady state) answer the following questions d) For N 2, what is the utilization of the CPU, disk, and network? e) For N = 2, what is the total (HTTP + FTP) throughput of the web server? f) Assuming that you can set N to any value you want, what is the maximum throughput (i.e., capacity) of this web server? Problem 1 A system consists of 1 CPU, 1 Disk, and 1 Network Interface, and you are being paid to make a server out of this system. The server will have respond to two types of requests: FTP and static HTTP requests. Upon receiving an FTP request, the server needs to fetch a file from disk (disk I/O) and send the file to the client (network I/O). For HTTP transactions, the server only needs to access the local memory (no disk I/O) and then use the network interface to send a webpage to the client (network I/O) Through some measurements you have performed, you were able to breakdown the path in the system for the two types of requests as follows For a FTP request F: I F uses the CPU for 1 ms (parse FTP request and start disk I/O) II F waits for the Disk for 5 ms (fetch the file) III F uses the CPU for 1 ms (store content in memory and start network I/O)/CPU is busy here IV F waits for the Network for 4 ms (send file to the client over the network) // Network is busy here V F uses the CPU for 1 ms (cleanup) // CPU is busy here // Disk is busy here // CPU is busy here For a HTTP request H: I H uses the CPU for 3 ms (parse HTTP request and lookup in memory) // CPU is busy here II H waits for the Network for 2 ms (send webpage to the client over the network) // Network is busy ere III H uses the CPU for 2 ms (cleanup) / / CPU is busy here Since you are not getting paid that much, your first implementation is a single-threaded server for botlh HTTP and FTP traffic. In other words, your system is a batch processing system, with a multiprogramming level (MPL)-1. Looking at the traffic arriving at the server, you notice that the same pattern of 10 requests repeats over and over again: first 3 FTP requests arrive, followed by 7 HTTP requests. Your server processes requests in the same order and the next request is always ready (has already arrived) once processing for the current request is done. a) What are the utilizations of the CPU, disk, and network? b) What is the HTTP throughput of the web server? c) What is the FTP throughput of the web server? To improve resource utilization, you decided to make your web server multi-threaded. In other words, you decided to go for MPL-N > 1, thus allowing the server to concurrently service up to N requests (one request per thread). Assuming that there are always requests pending with the same pattern as before. Requests for each thread to service, and that the system has been running for a long time (i.e., it reached some steady state) answer the following questions d) For N 2, what is the utilization of the CPU, disk, and network? e) For N = 2, what is the total (HTTP + FTP) throughput of the web server? f) Assuming that you can set N to any value you want, what is the maximum throughput (i.e., capacity) of this web server
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
