CS 558a - Advanced Computer Networking
Project 2

Due: See class webpage.

1. Simulating a Multi-Server Shared Queue System

In this project, we will study the difference between two queueing systems for multiple servers. When you have multiple servers (cashier, tellers, etc), you can organize the client in two different ways:

So the simulation will let you answer the question "does it make a difference how you organize the queue ?"...

2. Simulation Model

The following figure shows the queueing system that the simulation will model:

The simulation model can be written using the following ProSim4 entities:

Clients enqueue in the queue of the Client Distributor entity. When a server becomes idle (has just finished servicing a client), it wake up the Client Distributor entity to tell it that the Client Distributor entity can send a client to a server if there are some clients waiting.

3. Special Notes

4. Comparison

Compare the performance of this common queue system against the separate queue system in main6.c. Use for example 4 servers and and service rate of 1 client per time unit. Try using various client arrival rates, ranging from very small arrival rates (e.g., 0.1) to close to the system capacity of 4 clients per time unit.

5. Turn In

I want a Makefile that I can use to compile your programs. The object of the makefile must be main (so I can automate the grading - I will run main on my inputs).

Turn the following in using the following turnin codes: