Assignment #4
|
|
This page contains assignment #4 for Simulation.
This assignment is due on Monday, March 7th in class. Any solutions that
you find "on the web" must be referenced as such.
Situation:
You are the director of computing for a physics lab. You currently support
a 32-processor compute server. The compute server receives compute jobs
from a high speed network. Arriving jobs are buffered if all processors
are busy. The job buffer can only hold 5 jobs. Jobs arriving when the
job buffer is full are lost. You want to minimize lost jobs!
You have made measurements and determined that:
- Job interarrival time is distributed hyperexponentially with variance
4 times greater than the mean.
- Job execution time is distributed exponentially with mean 1 second.
Requirement:
You want to quantify the effect (on reducing job loss) of doubling the
size of the job buffer. If the maximum tolerable job loss is 1% (of arriving
jobs), how much greater arrival rate can be achieved with the double size job
buffer? That is, for the 5 and 10 job buffer sizes, what is maximum possible
arrival rate before 1% job loss occurs?
Submit a hardcopy and softcopy of your program and a plot of job loss as
a function of arrvial rate (for each job buffer size). Be sure to run
your simulation for a sufficient amount of time to get "good" answers.
Discuss your results. What do your results mean? The quality (correctness
and neatness) of your source code will factor into your grade. Be
proud of your high degree of craftsmanship!
Guidelines and hints:
Some hints are:
- The SMPL M/M/1 simulation (mm1_smpl.c) discussed
in class is a good starting point.
- This assignment is more about running experiments than writing code.
Creating the simulation model is quite easy. You need to think about how to
execute the model to answer the question being asked (i.e., the requirements).
- As always, arrival rate and interarrivel time are reciprocals of each other.
Extra Credit (10 points):
Are there other possible solutions to reducing job loss other than increasing
the size of the jobs buffer? Describe at least two other possible solutions
and back-up your stated solutions with simulation results. You should assume
that it is not possible to reduce the mean execution time of a job.
|
Last update on February 24, 2005
|