## 4 Experimental Results  
To validate the main findings of this work, we have conducted a series of experiments using a representative number of computing machines. In particular, we have used six computers (\(R=6\)) in the \"remote cluster\" and three similar computers (\(L=3\)) for our \"local cluster\". The computers were selected from a set of dual core Pentium 4 and quad-core Intel Xeon computers, all of them running Ubuntu Linux with CPU throttling enabled. Job requests were originated from an additional machine connected through a Fast Ethernet switch to both clusters. A job consisted in calculating the number \(\pi\), using [PERSON]'s formula, to a desired level of precision and in sending the resulting string back to the client over the network. Each job request indicated the desired number of digits to be used, which was randomly chosen in the range 10,000-50,000 by the client. In addition to generating requests periodically (exponentially spaced, at rate \(\lambda\)), the client also determined the cluster that handled the request as is illustrated in Figure 1. With probability \(\alpha\) a request was sent to the remote cluster and with \((1-\alpha)\) to the local cluster. A round-robin scheduler (\"RR\" in Figure 1) was implemented in each of the clusters, so that each newly arriving job is assigned and placed in the input queue of the next machine in the list regardless of the machine's load. _This in effect results in an equal distribution of the incoming flow of jobs to each of the machines in the cluster, with a separate queue being created at each machine in the cluster, and is reflected in the way in which we construct the mathematical model in Section 2._  
Because of the differences in both number and kind of machines in the two clusters, the job service times varied as shown in Figures 2. The service time in the local cluster was on average 9.6119 and in  
Figure 1: Experimental system. the remote cluster 9.5256, giving a speed-up factor of \(f=1.0091\) with corresponding coefficients of variation of 0.5103 and 0.6413. The power consumption of both clusters is shown in Figure 3[5]. From observations of power consumption and system utilization, it was possible to approximate parameters \(A_{L}=223.0062\), \(B_{L}=9.9302\), \(A_{R}=413.2667\) and \(B_{R}=11.5130\) using linear regression. Note that the linear regressions were applied to each model's operational region, which depends on the number of processors available: 6 and 3 processors respectively for the remote and local clusters. Power measurements beyond the model's validity regions are shown for illustration purposes only. Clearly, the remote cluster has a higher power consumption because of the larger number of machines available to service jobs. By recording the start and completion times for each job at the client, we were able to measure the _average_ job response time. We conducted the experiment by using only one of the clusters at the time  
Figure 3: Power consumption of both the local and remote cluster. Figure 2: Normalized histograms of service times. (**a**) Local cluster; (**b**) Remote cluster. (_i.e._, by fixing \(\alpha=0\), and later \(\alpha=1\)). The results for each independent cluster are shown in Figure 4 alongside the theoretical values. The reported values were obtained by averaging the measurements corresponding to 1000 jobs. The saturation rate for the local cluster was at around \(\lambda=0.3\) and about twice as large for the remote cluster, which makes sense given the relative sizes of the clusters. Similarly, we recorded the power consumption while executing the jobs along with the total execution time for each job set, which allowed us to estimate the energy consumption per job (see Figure 5). As shown in Figures 4 and 5, the theoretical model approximated well the measured values within the operational range (_i.e._, when not exceeding the systems' capacity).