- [Power Consumption, 20 pts] The following table shows the power of several computer components.
Component Type | Product | Performance | Power |
CPU Processor | Intel i5-12400F | 2.5 GHz | 65W, 117W Peak |
AMD Ryzen 5900X | 3.7 GHz | 105W, 142W Peak | |
GPU Card | Nvidia 3090Ti | 1395MHz/1219MHz | 360W |
AMD 6950XT | 2454 MHz | 335W | |
DRAM | CORSAIR DDR4 64GB | 288-Pin | 23W |
CORSAIR DDR4 16GB | – | 6W | |
Hard-drive | Western Digital 10TB | 7200 RPM | 5.7W, idle 2.8 W, Sleep 0.5W |
Samsung 850 SSD | 1TB | 8W, idle 2W, Sleep 0.5W |
- a) Assuming the maximum load for each component and a power supply efficiency of 80%, what wattage must the desktop power supply deliver to a system with AMD Ryzen 5900X, Nvidia 3090Ti, 64GB DDR4 memory, 1TB SSD with 10TB Hard Disk? Search Google and recommend a Power Supply we should buy for the desktop.
- b) How much power will the 7200 rpm disk consume if it is idle 40% of the time?
- c) Given that the Hash Power for Nvidia3090Ti is 135 MH/s at 338W and AMD 6950XT is 54 MH/s at 136W for mining the Ethereum coin. Calculate the monthly profit using these cards for crypto mining of Ehtereum (Use this website: CryptoCompare). Calculate the Return on Investment (ROI) in terms of days (Quote newegg for the price of these cards). Show your calculations. [Do this question before 9/15/2022 first before the merging of ETH.]
2 [Cache Locality, 20 pts] For the following code snippets,
- a) Identify the variables associated with temporal locality and spatial locality (please answer which variable for temporal and spatial locality, e.g., product, array, or i and briefly explain):
Int product = 1;
Int array[16] = {1,2,3,4, …., 16};
For (int i=0; i<16; i++) product = product * array[i]; |
- b) Assume we have a cache with 512 blocks of 4 integers (i.e., it loads 4 integers array[0], array[1], array[2], array[3] when it accesses array[0]). How many cache misses are there when you access the items in array[] during the loop (calculate the percentage %)? Please briefly explain.
- c) Assume we have another loop right after the above code snippet,
For (int i=0; i<16; i++)
sum = sum + array[i];
How many cache misses are there when you access the items in array[] during this loop (calculate the percentage %) (Hints: consider what you have brought into the cache from Part b) ?
- d) Now assume the cache size is very small only having 2 blocks each can place 4 integers. How many cache misses are there when you access the items in array[] during the summation loop above (calculate the percentage %) ?
- e) Assuming each memory access takes 100 ns and each cache access takes 10 ns. Calculate the total access time for c) and d).
3 [Storage Solutions, 20 pts] Suppose you are the manager of a technology consulting firm and your customer is seeking storage solutions according to their specific needs and what you can recommend them is from the following list:
- 50 x NVMe SSD of 2TB each
- 10x 10TB 7200 rpm HDD hard drive
- Subscription to a Cloud Storage Service from AWS with content distribution services ($9200 per month~ this is a real quote)
- Flash memory of 256GB (Overwritten every 7-day period)
Discuss which option your customers should follow and briefly provide the reason.
- An oil rig in Mexican Gulf and your customer need storage associated with the sensor board to temporarily record the data readings. The sensor data is light-weight with low resolution (such as temperature, pressure, etc) and generated infrequently. The oil rig only has low-speed Internet connection.
- A vehicle license plate recognition system in Fairfax county. The system takes camera feeds and uses computer vision algorithms to generate real-time outputs. The traffic image and data are considered to be sensitive. The data will be retained for 6-month period.
- A datacenter that hosting services for short-video APPs such as Tiktok. High-bandwidth, downloading and uploading in very short time period. [But the start-up company has limited budget.]
- An international container shipping company that connects with partners around the globe. The data should be made available to the international customers with low latency. [Money is not a problem for them.]
4 [Schedulers, 50 pts] Consider a single-core CPU with the following process arrival and burst time. To obtain all the credits, please draw the scheduling results like shown in the Lecture slides.
Process | Burst Time | Arrival Time |
P1 | 12 | 0 |
P2 | 6 | 2 |
P3 | 3 | 3 |
- a) For the First come, First Serve scheduler, calculate the average turnaround time? Calculate the average response time?
- b) For the Shortest Job First scheduler and we allow context switches here, calculate the average turnaround time? Calculate the average response time? How many context switches are there between different processes?
- c) For the Round-Robin scheduler, consider each time slice is 2. Calculate the average turnaround time? Calculate the average response time?
- d) Now assume that you have two CPU cores. Find the optimal scheduling that the total turnaround time for the three processes is minimized.
- e) Following d), but now P3 depends on the results of P1. Find the optimal scheduling that the total turnaround time for the three processes is minimized.