Application of Queue in Data Structures (computer server)
Write a complete computer algorithm that simulates a computer server with the following specifications:
- The server consists of 2 computers.
- Tasks arrive at random intervals and attempt to use the available computer.
- If the computer is available, the task is immediately allowed to use it.
- Each task requires a certain amount of time (random number) and must wait for a certain random time.
- If the computer is currently being used, then an arriving task waits in a Queue until a computer becomes available.
- Assume that the task arrival time and service time follows exponential distribution. The average service time is 25 sec and the average interarrival time is 20 sec.
Part I: You must submit an algorithm showing the detailed design that matches the above specifications.
Part II: You must submit a complete implementation of your design using C, C++, Python, Java, …. Your implementation must be carefully tested against the above specifications.
Part III: Find the average waiting time after running your code for 10,000 sec.
Verina Michel
Marly Magdy
Zyad Ashraf