This is the trace analysis report (generated by reportgen.py) for the NGS system. The trace data was taken from the filename ngs_jobs.gwf, which contains job data obtained from. Below is a summary of the contents of the trace data:

- Date first entry: Mon Dec 15 19:34:15 2003
- CPU time consumed by jobs: 269y 226d 3h 6m 38s
- Number of sites in the system: -
- Number of CPUs in the trace: -
- Number of jobs in the trace: 631737
- Number of users in the trace: 379
- Number of groups in the trace: 1

We define the overall system utilization as the ratio between the total CPU time consumed by users, and the total CPU time available to the users. We compute the total CPU time consumed by users as the sum of CPU time consumed by each job in the system; for failed jobs, only those that have effectively spent resource time are considered. We compute the total CPU time available as the number of CPUs multiplied by the duration of a fixed time interval, c.q. 10 minutes.

Below we show the statistical properties of both the overall system utilization and the overall system for non-zero values, that is, excluding all intervals that have system utilization equal to zero. This excludes values that may account for downtime of the system.

Figure 1 shows System utilization over time.

- Minimum: 0.0 percent
- Maximum: 78.589 percent
- Average: 22.821 percent

- Minimum: 0.101 percent
- Maximum: 78.589 percent
- Average: 27.26 percent

We define the job arrival rate as the number of jobs that are submitted to the system in a fixed time interval. We compute the arrival rate for every hour by counting the all jobs that are recorded in the trace during that hour. This includes failed jobs and jobs that are cancelled before execution. Below we list the time periods in which the highest number of jobs were submitted to the system. We also summarize statistical properties for all job arrival rate values, and the statistical properties for arrival rate higher than zero. This excludes time periods that may account to downtime of the system.

Figure 2 shows Overall job arrival rate during hourly intervals.

- Busiest day: 2005-03-01
- Busiest week: 2005-38
- Busiest month: 2006-06

- Minimum: 0.00 jobs/hour
- Maximum: 4994.00 jobs/hour
- Average: 23.02 jobs/hour

- Minimum: 2.00 jobs/hour
- Maximum: 4994.00 jobs/hour
- Average: 28.57 jobs/hour

We compute three important characteristics of jobs in the trace: number of CPUs used, the runtime of the job and the amount of memory used. Below we summarize the statistical properties for single jobs in the trace. We do not include jobs that were cancelled before execution, because those jobs did not consume resources from the system.

Figure 3 shows CDFs of the most important job characteristics.

- Minimum: 1 processors
- Maximum: 128 processors
- Average: 1.406 processors
- Standard deviation: 2.828
- Coefficient of variation: 2.012

- Minimum: 0.00 seconds
- Maximum: 1206253.00 seconds
- Average: 2924.64 seconds
- Standard deviation: 17908.126
- Coefficient of variation: 6.123

- Minimum: 0.00 MB
- Maximum: 65993.98 MB
- Average: 38.91 MB
- Standard deviation: 226.215
- Coefficient of variation: 5.814

Below we summarize the resource usage of all sequential and all parallel jobs, that is all jobs that use more than one processor. First we calculate the number of sequential jobs and the number of parallel jobs that are submitted to the system. Furthermore, we compute the consumed CPU time by multiplying the runtime of a job by the number of processors allocated to the job. Again, this is divided into parallel and sequential jobs. For the number of jobs and the consumed CPU time, the percentage of all jobs is displayed.

- Sequential: 599090 jobs (94.83 percent)
- Parallel: 32647 jobs (5.17 percent)

- Sequential: 1313142197 seconds (15.44 percent)
- Parallel: 7189537079 seconds (84.56 percent)

Figure 4 shows The number of submitted jobs and the consumed CPU time by user.

Table 1 shows Top 10 users by number of jobs submitted to the system.

Rank | UserID | Number of jobs | Percentage |
---|---|---|---|

1 | U2 | 140449 | 22.23% |

2 | U0 | 66091 | 10.46% |

3 | U33 | 49460 | 7.83% |

4 | U3 | 45850 | 7.26% |

5 | U1 | 29114 | 4.61% |

6 | U48 | 26597 | 4.21% |

7 | U167 | 19058 | 3.02% |

8 | U63 | 17821 | 2.82% |

9 | U35 | 17575 | 2.78% |

10 | U8 | 15456 | 2.45% |

11 | Other | 204266 | 32.33% |

12 | Total | 631737 | 100.00% |

- Minimum: 0.0 percent
- Maximum: 12.676 percent
- Average: 0.584 percent

- Minimum: 0.00 jobs/hour
- Maximum: 370.00 jobs/hour
- Average: 17.30 jobs/hour

**Number of CPUs used by a single job**

- Minimum: 1 processors
- Maximum: 24 processors
- Average: 1.003 processors
- Standard deviation: 0.000
- Coefficient of variation: 0.000

**Runtime of a single job**

- Minimum: 0.00 seconds
- Maximum: 424859.00 seconds
- Average: 439.24 seconds
- Standard deviation: 5235.975
- Coefficient of variation: 11.921

**Memory usage of a single job**

- Minimum: 0.00 MB
- Maximum: 3033.47 MB
- Average: 15.44 MB
- Standard deviation: 58.936
- Coefficient of variation: 3.817

Table 2 shows Top 10 users by consumed CPU time (in seconds).

Rank | UserID | CPU seconds | Percentage |
---|---|---|---|

1 | U300 | 1409246013 | 16.57% |

2 | U272 | 1173650589 | 13.80% |

3 | U139 | 907641122 | 10.67% |

4 | U281 | 733410806 | 8.63% |

5 | U269 | 271887472 | 3.20% |

6 | U297 | 242801528 | 2.86% |

7 | U311 | 201431123 | 2.37% |

8 | U100 | 194939109 | 2.29% |

9 | U339 | 179104842 | 2.11% |

10 | U277 | 159954412 | 1.88% |

11 | Other | 3028654582 | 35.62% |

12 | Total | 8502721598 | 100.00% |

- Minimum: 0.0 percent
- Maximum: 65.608 percent
- Average: 18.614 percent

- Minimum: 0.00 jobs/hour
- Maximum: 2986.00 jobs/hour
- Average: 0.80 jobs/hour

**Number of CPUs used by a single job**

- Minimum: 1 processors
- Maximum: 96 processors
- Average: 5.558 processors
- Standard deviation: 10.247
- Coefficient of variation: 1.844

**Runtime of a single job**

- Minimum: 0.00 seconds
- Maximum: 1194936.00 seconds
- Average: 29910.08 seconds
- Standard deviation: 59429.938
- Coefficient of variation: 1.987

**Memory usage of a single job**

- Minimum: 0.00 MB
- Maximum: 65993.98 MB
- Average: 74.44 MB
- Standard deviation: 1067.833
- Coefficient of variation: 14.345

Figure 5 shows The number of submitted jobs and consumed CPU time by group.

Table 3 shows Top 10 groups by number of jobs submitted to the system.

Rank | GroupID | Number of jobs | Percentage |
---|---|---|---|

1 | 1 | 631737 | 100.00% |

2 | Other | 0 | 0.00% |

3 | Total | 631737 | 100.00% |

Table 4 shows Top 10 Groups by consumed CPU time (in seconds).

Rank | GroupID | CPU seconds | Percentage |
---|---|---|---|

1 | 1 | 8502721598 | 100.00% |

2 | Other | 0 | 0.00% |

3 | Total | 8502721598 | 100.00% |

Figure 6 shows The number of running and of waiting jobs during hourly intervals. The vertical axis is limited to 7500 for better visibility.

We compute the number of running and waiting jobs by considering a fixed time interval. In each time interval, we count in the trace the amount of jobs that have been submitted but not yet started, that is, waiting. We also count the number of jobs that have been submitted, and have started executing in the time interval, but did not finish executing, and thus are running. Below we show the values for an interval value of 3600 seconds, summarized in amounts per day. Also the summary for values higher than zero are displayed, which excludes the possible effect of downtime of the system.

- Minimum: 0 jobs
- Maximum: 5044 jobs
- Average: 111.79 jobs

- Minimum: 1 jobs
- Maximum: 5044 jobs
- Average: 135.36 jobs

- Minimum: 0 jobs
- Maximum: 3350 jobs
- Average: 589.15 jobs

- Minimum: 1 jobs
- Maximum: 3350 jobs
- Average: 622.94 jobs

We compute the job throughput by considering a fixed time interval. In each time interval, we count in the trace the amount of jobs that have been submitted, started and finished executing. Below we show the values for an interval value of 3600 seconds, summarized in amounts per day. Also the summary for values higher than zero are displayed, which excludes the possible effect of downtime of the system.

Figure 7 shows Throughput during hourly intervals. The vertical axis of each individual site graph is limited to 7500 for better visibility.

- Minimum: 0 jobs
- Maximum: 3201 jobs
- Average: 552.24 jobs

- Minimum: 1 jobs
- Maximum: 3201 jobs
- Average: 588.27 jobs

Figure 8 shows The number of completed jobs during hourly intervals.

This section contains the workload model for the analyzed trace. The workload model consists of several parameters: job size, job runtime, requested runtime and interrarivals of jobs. These parameters are modeled by fitting well-known distributions to the data obtained from the trace. In all cases, first a logarithmic transformation was performed on the dataset to diminish the effect of outliers and speed up the modelling process. The fitting was performed using the maximum likelihood estimation method, which tries to maximize the log-likelihood function of each distribution given a dataset.

Figure 9 shows Cumulative distribution function for the logarithm of the job sizes, with fitted distributions.

Figure 10 shows Cumulative distribution function for the logarithm of the job runtimes, with fitted distributions.

Figure 11 shows Cumulative distribution function for the logarithm of the job requested runtimes, with fitted distributions.

**Lognormal distribution**

- meanlog: 2.8407907641311
- sdlog: 0.0921666208869822

**Exponential distribution**

- rate: 0.0581638692580985

**Normal distribution**

- sd: 1.30486789944264
- mean: 17.1928039306079

**Weibull distribution**

- shape: 21.6902532213033
- scale: 17.6050670698576

**Hyperexponential distribution**

- p: 5.82920054484107
- rate2: 0.0545599148050512
- rate1: 0.0858315857643764

**Gamma distribution**

- shape: 135.110805541538
- rate: 7.8585277397255

Table 7 shows for each distribution the results for the Kolmogorov-Smirnov test, which gives a measure for the distance of the distribution to the original dataset (lower distance => better fit).

Distribution | Distance |
---|---|

Lognormal | 0.494671704762857 |

Exponential | 0.566179811045743 |

Normal | 0.490082922539964 |

Weibull | 0.46624466163712 |

Hyperexponential | 0.54265998838151 |

Gamma | 0.493841855045911 |

Figure 12 shows Cumulative distribution function for the logarithm of the job interarrival, with fitted distributions.

Side content