Project


This page describes the project for Simulation.



Load balancing is a common theme in many modern computer applications. Load balancing is used to distribute jobs to parallel server computers in a data center. See wikipedia (here) for a discussion of load balancing. A good load balancing policy will minimize response time of jobs. Your task is to use simulation to study three different load balancing policies as a function of the job arrival rate, job service time distribution, and delay of state information from the server computers to the load balancer. The load balancing policies to be studied are random (RAND), round robin (RR), and shortest queue (SHORT).

The system

The system you will model consists of five server computers and one load balancer. All jobs arrive to the load balancer and are distributed (sent) to a server computer from the load balancer. When a job completes it departs from the server computer. The load balancer is assumed to work at "line speed", so it does not have a queue. The server computers do have queues for jobs. Every T seconds the load balancer gets an update from the server computers. The update is the state information that is the number of jobs in each server. This is the number of jobs in the server (0 or 1) and number of jobs queued (0 or more). This state information is needed only for the SHORT policy.

The three load balancing policies are:

The workload and key factors

All jobs arrive following a Poisson distrbution. There are three possible service time distributions: For the experiments you will vary the mean job interarrival time to control the utilization of the server computers. The server utilization should be varied from very low (say 10%) to very high (say, near 100% if possible). You should also vary the delay of posting state information from instantaneous to 10 seconds.

Performance measures of interest

The key performance measure of interest is response time. This is the time from a job arriving at the load balancer to departing from a server computer.

Queue overflow

The maximum queue length any server is assumed to be 100 jobs. If during a simulation run the maximum queue length is exceeded in any server, the system is considered "broken". This will occur when the offered load is high and/or the load balancing scheme is not good.

Knowledge of state information

For the SHORT policy the load balancer needs to know the state of the server computers. Here state is defined as number of jobs in service (0 or 1) plus number of jobs queued (0 or more). This state information can be known "instantaneously" by the load balancer for the no delay case, or be posted periodically every T seconds to the load balancer for the delay case.

Project Deliverables

Each team of two students (students may work individually if they wish) will deliver the following:
  1. A maximum five page paper written in IEEE conference paper format and style describing the problem, questions, system modeled, simulation model and workload, model validation, experiments conducted, experiment results, related work, conclusions, and list of references. The final paper must be submitted as a PDF file.
  2. The source code for the simulation model in buildable form (so that the results can be reproduced).

Project Grading

Project grading is as follows: Up to 20 extra credit points are possible if the student proposes, describes, and evaluates their own load balancing policy (in addition to RANDOM, RR, and SHORT). The new policy should show performance better than the three policies assigned and be based on sound engineering.

Notes

Some notes for the projects are:
  1. You can find a sample manuscript and a template for IEEE Conference papers here (PDF) and here (DOC). An example paper formatted in the correct style is here (PDF) and here (DOC).
  2. The coding style guidelines you must follow are here.
  3. When in doubt about style (e.g., correct format for references), the IEEE-CS Style Guide is the master reference.
Last update on May 7, 2009