Computer Sciences Department logo

CS 368-4 (2011 Fall) — Day 11 Homework

Due Tuesday, December 6, at the start of class.


Run a simulation program many times under a few different conditions, then analyze the raw data using R.

At heart, this assignment uses the same queue simulator from homework #8. But this time, we want to run different experimental conditions and then run a bunch of statistics on the raw data, all by running a single command! That is, we will create a simple workflow to handle all of the work.

Background Information

This is information about the script that I wrote. You do not need to write this program!

For background on the queue simulator itself, see homework #8. The script for this assignment is a little bit different:

Here is the new usage information (note the new script name):

Usage: queue_sim_loop [options] SERVERS CLIENTS-PER-HOUR COUNT

  --version         show program's version number and exit
  -h, --help        show this help message and exit
  -d, --departures  Allow clients to leave queue after waiting too long

Also, I wrote a simple (simplistic?) R script that analyzes the raw data. To learn more about R, visit the R Project website.


There are two main tasks you need to complete:

  1. Write submit files for each part of the workflow and make sure they work
  2. Write a DAGMan submit file for the whole workflow and get it to work

Part I: Individual Jobs

In this part, you will create and test four separate submit files that correspond to the four nodes of our workflow. Because each submit file is similar to ones you have written before, I am providing minimal guidance here.

To get started, follow these steps:

  1. Create and change to a new directory (ultimately, this assignment yields lots of files)
    mkdir homework-11
    cd homework-11
    Name the directory whatever you like!
  2. Download the new simulator and associated R script
  3. Unpack the scripts:
    tar xzf homework-11.tar.gz
    You will have two files:

Now, write and test Condor submit files for each step of the process. A few details to note:

Make sure that you can successfully run all four jobs before moving on to the next part!

Part II: DAGMan

OK, now you have four working submit files. It is time to link them together into a single workflow. Obviously, we will use DAGMan to do this part.

First, draw a picture of the overall workflow. Pencil and paper is OK, no need to hand it in. But make sure you understand what each node does, what its inputs and outputs are, and how the nodes are connected. If you are unsure about this step, write to me!

Then, write the DAGMan submit file itself. It is not very complicated, and if you have done things right up to this point, you will not need to modify your Condor submit files from Part I at all.

And now, the moment we have been waiting for… Submit the entire workflow, stand back, and wait for the results!

Extra Challenges

Some ideas for extra learning:


Do the work yourself, consulting reasonable reference materials as needed. Any resource that provides a complete solution or offers significant material assistance toward a solution not OK to use. Asking the instructor for help is OK, asking other students for help is not. All standard UW policies concerning student conduct (esp. UWS 14) and information technology apply to this course and assignment.

Hand In

A printout of:

If you can squeeze that onto a single sheet of paper (double-sided is great!), the planet and I will thank you. Be sure to put your own name at the top of each piece of paper, regardless; identifying your work is important, or you may not receive appropriate credit.