Experimental Methods in Computer Science – Exercise 6

Experimental Methods in Computer Science

Exercise 6 – Experimental Design

Goals

Assignment

In this exercise we will use a 22 experiment design to assess the performance impact of two factors.

Specifically, the time to call a function depends on two factors:

  1. The number of arguments
  2. The size each argument
Using two levels for each of the factors, and conducting a full factorial design, means measuring four combinations. The analysis will then tell us which factor has a larger effect: the number of arguments, their size, or maybe the combination of the two. Can you guess what the result will be?

Assignment

  1. Run experiments

    Measure the time to call an empty function with either 2 or 10 arguments, each of which is either an int or a double. If this bores you, you can use other numbers or sizes; it would be interesting to see how this affects the conclusions. Remember to do the measurements carefully in order to obtain reliable results.

  2. Analyze the results

    First, use a set of equations directly or a sign table to find the effect of each factor. The factors are the number of arguments and their size, represented by the following two variables:
    variablevaluemeaning
    xA-1int
    1double
    xB-12 arguments
    110 arguments
    The performance model is

    y = q0 + qA xA + qB xB + qAB xA xB
    The four measurements with 4 combinations of size and number give 4 values of y, yielding 4 equations from which you can find the four q's.

    In case you don't remember, the sign table is
    IABABy
    1-1-11 
    11-1-1 
    1-11-1 
    1111 

  3. Repeat this for the multiplicative model, i.e. using the log of the results.

Submit

Submit a single pdf file that contains all the following information:

  1. Your names, logins, and IDs
  2. Specifics of where you ran the measurements: what machine, it's clock speed.
  3. A short description of how you conducted the measurements.
  4. Your raw measurement results.
  5. Your analysis and its conclusions; specifically, does the function call time depend more on the number of arguments, their size, or the interaction between these factors?
  6. The results, analysis, and conclusions for the multiplicative model
  7. Answer the question: which model is more reasonable in this case?
  8. The program you wrote to perform the measurements.
Submission deadline is Monday morning, 28/3/11, so I can give feedback in class on Tuesday.

To the course home page