Mini-Project #3


This page describes mini-project #3 for Computer Networks.



Simulation is very useful tool for predicting the performance of computer networks (and computer systems in general) and for serving as a tool to engineer better systems. In this project you will use simulation as a tool to develop and evaluate an algorithm for trading-off performance and energy consumption in a given system. This mini-project may be completed in pairs (two students) or individually with help only to be given by the instructor.

Scenario

Consider a switch connecting an internal network (Network #1) to an external network (Network #2). The internal network has a 1 Gb/s link, the connection to the external network is via a 100 Mb/s or 1 Gb/s link. Figure 1 shows the configuration.



Figure 1 - Connection of an internal network (Network #1) to an external network (Network #2)

If the offered load (link utilization) is low on the internal 1 Gb/s link, then the 100 Mb/s external link is sufficient to carry the traffic. When offered load is high, the 100 Mb/s link may not be sufficient (that is, queueing delays in the switch will be unacceptable) and then the 1 Gb/s link should be used. Assume that the 100 Mb/s link draws 1 W and the 1 Gb/s link draws 10 W (and that both links can be placed into a 0 W sleep mode). Also assume that the switch is "smart" and can forward traffic via either the 100 Mb/s link or the 1 Gb/s link. Your challenge is to model the system and develop the "smarts" to determine when to forward traffic on the 100 Mb/s link or the 1 Gb/s link (and thus putting the unused link to sleep). The trade-off here is one of delay versus energy consumed.

Parameters

The parameters for this system (and your model) are as follows:
  1. Packet length is fixed at 1500 bytes
  2. Packet interarrivals are from two distributions (you are to model both):
  3. The offered load range of interest is from 1% to 15% measured on the internal 1 Gb/s link (so, from 10 Mb/s to 150 Mb/s data rate).
  4. The switch-over time (that is, wake-to-sleep and sleep-to-wake transition time) between the two links is 0 seconds, but once a link is put into operation it must remain in use (and powered on) for a minimum of 100 milliseconds. Only one link at a time may be powered-on and in use.
  5. Each link has its own queue (assume that any out-of-order packet delivery is somehow handled at the receiver).
  6. The switch can measure internal state including (but not limited to) the number of packets in a queue and number of packets arrived in a previous time period. It is this internal state that can be used to determine when to use the 100 Mb/s link or the 1 Gb/s link.
  7. The delay threshold (which much not be exceeded) is 99% of packets must have less than 1 millisecond delay in any given non-overlapping 1 hour of operation.

Problem

You are to model the above system and invent an algorithm to determine when to use the 100 Mb/s and 1 Gb/s external links such that the delay threshold is maintained and energy use (which can be measured as average power draw) is minimized. For your model you are to do the following:

Requirements on the algorithm

Your algorithm or method for determining when to use the 1 Mb/s or 1 Gb/s link is the "fun part" of this mini-project. Your algorithm may use any state information that you can collect in the modeled smart switch. You cannot know apriori the distribution of interarrival times (but, you could sample and estimate the distribution if you thought this would be useful). You cannot know apriori the offered load (but, you can sample and estimate it - this would probably be useful). The algorithm cannot be "tuned" for each offered load or distribution (but, it may be self-tuning).

Deliverables

Each student, or pair of students, will deliver the following:
  1. The source code for the simulation model in buildable form (so that the results can be reproduced). The simulation model should use the skeleton given here (especially the output section), unless there is some really good reason not to do so (which must be discussed with me before final submission).
  2. Graphs for item (1) in the Problem statement above.
  3. The mean delay and average power draw for offered load of 5% for the two given interarrival time distribution (where the 99% delay must be less than 1 millisecond). The student(s) with the best result (where the system must correctly meet the specified parameters) will receive a prize. What defines the best result?
  4. Algorithm description for item (2) in the Problem statement above.

Grading

Grading is as follows:
  1. Correctness of the simulation model -- 50 points
  2. The feasibility and "goodness" of the algorithm -- 25 points
  3. Results presented are better than the base model -- 25 points
Extra credit will be given if the student(s) can provide an analysis to prove that their algorithm works (that is, that their algorithm is not just a heuristic). Points can (and will) be deducted for sloppy graphs and/or sloppy/unclear description of your algorithm.

Notes, advice, and hints

Some notes:
Last update on November 5, 2014