Trace analysis report

(auvergrid_jobs.gwf / GWA-T-4)

generated by reportgen.py

Parallel Distributed Systems Group
Faculty of Electrical Engineering, Mathematics, and Computer Science
Delft University of Technology


General information

This is the trace analysis report for the AuverGrid system. The trace data was taken from the filename auvergrid_jobs.gwf, which contains job data obtained from Local resource manager. Below is a summary of the contents of the trace data:

System-wide characteristics

System utilization

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.
Figure 1: System utilization over time

Overall system utilization

Overall system utilization for non-zero values

Job arrival rate

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.
Figure 2: Overall job arrival rate during hourly intervals

Busiest time periods in terms of number of job submissions

Overall job arrival metrics

Overall job arrival metrics for non-zero values

Job characteristics

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.
Figure 3: CDFs of the most important job characteristics

Number of CPUs used by a single job

Runtime of a single job

Memory usage of a single job

Sequential vs. Parallel jobs

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

Number of jobs

Consumed CPU Time

User and group characteristics

User characteristics

Figure 4 shows The number of submitted jobs and the consumed CPU time by user.
Figure 4: The number of submitted jobs (left) and consumed CPU time (right) by user. Only the top 10 users are displayed. The horizontal axis depicts the user's rank. The vertical axis shows the cumulated values, and the breakdown per week. Users have the same labels in the left and right sub-graphs

Top 10 users by number of job submitted to the system


Table 1 shows Top 10 users by number of jobs submitted to the system.
RankUserIDNumber of jobsPercentage
1U3034S2180214.46 %
2U247162184.01 %
3U45112592.79 %
4U256110832.74 %
5U25797812.42 %
6U3001S296632.39 %
7U4180822.00 %
8U2043S166191.64 %
9U1004S062201.54 %
10U27662001.53 %
11Other30103074.48 %
12Total404176100.00 %
Table 1

System utilization

Job arrival

Job characteristics

Number of CPUs used by a single job

Runtime of a single job

Memory usage of a single job

Top 10 users by consumed CPU time


Table 2 shows Top 10 users by consumed CPU time (in seconds).
RankUserIDCPU secondsPercentage
1U457118666198.13 %
2U2475419857436.19 %
3U1013S03783428914.32 %
4U3053421145263.91 %
5U3034S23391684873.87 %
6U3010S23047748933.48 %
7U872988627473.41 %
8U3011S22986855513.41 %
9U2762832794193.24 %
10U3032S22720648533.11 %
11Other498387835856.93 %
12Total8755024087100.00 %
Table 2

System utilization

Job arrival

Job characteristics

Number of CPUs used by a single job

Runtime of a single job

Memory usage of a single job

Group characteristics

Figure 5 shows The number of submitted jobs and consumed CPU time by group.
Figure 5: The number of submitted jobs (left) and consumed CPU time (right) by group. Only the top 10 groups are displayed. The horizontal axis depicts the groups rank. The vertical axis shows the cumulated values, and the breakdown per week. Groups have the same labels in the left and right sub-graphs

Table 3 shows Top 10 groups by number of jobs submitted to the system.
RankGroupIDNumber of jobsPercentage
1G314550836.00 %
2G48868121.94 %
3G2377929.35 %
4G1243116.01 %
5G6159243.94 %
6G7137903.41 %
7G8119032.95 %
8G597022.40 %
9Other5656514.00 %
10Total404176100.00 %
Table 3

Table 4 shows Top 10 Groups by consumed CPU time (in seconds).
RankGroupIDCPU secondsPercentage
1G3294279994333.61 %
2G4286644550432.74 %
3G2189496409121.64 %
4G75668624436.47 %
5G63227907123.69 %
6G51519431321.74 %
7G169556810.08 %
8G822625810.03 %
9Other00.00 %
10Total8755024087100.00 %
Table 4

Performance analysis

Waiting and running jobs

Figure 6 shows The number of running and of waiting jobs during hourly intervals. The vertical axis is limited to 7500 for better visibility.
Figure 6: 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

Number of waiting jobs per day

Number of waiting jobs per day (non-zero values)

Number of running jobs per day

Number of running jobs per day (non-zero values)

Throughput

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..
Figure 7: Throughput during hourly intervals. The vertical axis of each individual site graph is limited to 7500 for better visibility.

Throughput per day

Throughput per day (non-zero values)

Completed jobs

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

Workload model

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

Job size

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

Parameters of fitted distributions

Goodness-of-fit (Kolmogorov-Smirnov test)


Table 5 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). .
DistributionDistance
Table 5

Job runtime

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

Parameters of fitted distributions

Goodness-of-fit (Kolmogorov-Smirnov test)


Table 6 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). .
DistributionDistance
Table 6

Job requested runtime

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

Parameters of fitted distributions

Lognormal distribution

Exponential distribution

Normal distribution

Weibull distribution

Hyperexponential distribution

Gamma distribution

Goodness-of-fit (Kolmogorov-Smirnov test)


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). .
DistributionDistance
Lognormal0.471175710123947
Exponential0.570398538763021
Normal0.470558968708816
Weibull0.459531505712732
Hyperexponential0.499039770441242
Gamma0.471470468074848
Table 7

Job interarrival

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

Parameters of fitted distributions

Goodness-of-fit (Kolmogorov-Smirnov test)


Table 8 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). .
DistributionDistance
Table 8