2010 39th International Conference on Parallel Processing Workshops
Exponential Smoothing for Network-aware Meta-scheduler in Advance in Grids Luis Tom´as, Carmen Carri´on, Blanca Caminero Dept. of Computing Systems The University of Castilla La Mancha. Albacete, Spain {luistb, carmen, blanca}@dsi.uclm.es
Agust´ın Caminero Dept. of Communication and Control Systems The National University of Distance Education. Madrid, Spain
[email protected]
One possible solution is the “reservation in advance of resources”. With this technique the system tries to guarantee that a certain resource will be available when the job requires it. However, incorporating such mechanisms has proven to be a challenging task due to the resource fragmentation [4]. Moreover, in a real Grid environment, reservations may not be always feasible, since not all the Local Resource Management Systems (LRMS) permit them. Apart from that, there are other types of resources such as bandwidth (e.g. the Internet), which lack a global management entity, and make their reservation impossible. Therefore, our meta-scheduler performs meta-scheduling in advance rather than reservations in advance to provide QoS in Grids. That is, the system keeps track of the metascheduling decisions already made to make future decisions. Nevertheless, this kind of scheduling has one big challenge: it is rather difficult to decide whether a job can be executed fulfilling its QoS requirements without knowing the exact status of the resources in the future [5]. So, the system has to predict the future status of the resources to be able to estimate the time needed to execute a job. This paper proposes the inclusion of CPU and network status predictions by means of exponential smoothing (ES) algorithms into the network-aware meta-scheduler in advance implemented by authors in [6]. The paper is organized as follows. Related work is presented in Section II. In Section III a brief overview of network-aware meta-scheduling in advance is presented. Section IV explains the implementations carried out by extending the GridWay meta-scheduler. Section V explains the exponential smoothing algorithm used for predictions. Section VI presents the experiments carried out to evaluate the proposal. Finally, the conclusions obtained and the suggested guidelines for future work are outlined in Section VII.
Abstract—Grid computing involves the coordinated use of disperse heterogeneous computing resources. This heterogeneity and dispersion makes Quality of Service (QoS) still an open issue requiring attention from the research community. One way of contributing to the provision of QoS in Grids is by performing meta-scheduling of jobs in advance, that is, the computing resource where a job will be executed is decided some time before jobs are actually executed. But this way of scheduling needs to do predictions about the future status of resources, including network. The main aim of this work is to provide QoS in Grid environments through network-aware job scheduling in advance. In our case, QoS means the fulfillment of a deadline for the completion of jobs. For this, predictions about future status of computing and network resources are made by using exponential smoothing functions. This paper presents a performance evaluation using a real testbed that illustrates the efficiency of this approach to meet the QoS requirements of users. This evaluation highlights the effects of using Exponential Smoothing (ES) to tune predictions in order to deliver the requested QoS. Keywords-Exponential Smoothing; Grid; Holt-Winters; Meta-Scheduling; Prediction; QoS; Red-Black Trees;
I. I NTRODUCTION A Grid is an environment where resources are heterogeneous, belong to different administrative domains, and are usually scattered across wide areas. All of this makes the management of resources a challenging task [1]. Furthermore, the Grid has to provide the needed infrastructure to deal with the problem of choosing the right resources to execute each job. This infrastructure is named “metascheduler” and hides this process from users [2]. The meta-scheduling is complicated because of a number of issues, among others, the resource status may vary dynamically over time – resources may fail, join or leave the Grid at any time. Moreover, the load of each resource may also change over time since resources are shared between grid users and local users. To further complicate matters, the meta-scheduler typically lacks total control and even complete knowledge of the status of the resources [3]. These facts complicate the meta-scheduling problem because the future status of the resources is not known, even whether they will be available or not. 1530-2016/10 $26.00 © 2010 IEEE DOI 10.1109/ICPPW.2010.52
II. R ELATED W ORK Software infrastructures required for resource management and other tasks such as security and remote access are provided through Grid toolkits such as Globus [7]. Regarding the aforementioned reservations in advance of resources, Globus Architecture for Reservation and Allocation (GARA) [8] is one of the seminal works on advanced 334 323
reservation and defines a basic architecture for the manipulation of advanced reservation of different resources. Since then, advanced reservations have been studied in numerous contexts, such as clusters (Maui Scheduler [9]). Among the systems that allow resource reservation in a Grid we can find Grid Capacity Planning [10], that provides users with reservations of Grid resources through negotiations, co-allocations and pricing. Another important system is VIOLA [11], which includes a meta-scheduling framework that provides co-allocation support for both computing and network resources. Despite support for reservation in the underlying infrastructure is currently limited, a reservation in advance feature is required to meet QoS guarantees in Grid environments, as several contributions conclude [8], [10]. Qu [12] describes a method to overcome this shortcoming by adding a Grid advanced reservation manager on top of the local scheduler(s). Nevertheless, the performance penalty imposed by the usage of advanced reservations (typically decreased resource utilization) has been studied in [13]. As next section explains, our work is different from the ones mentioned above because it is based on metascheduling in advance in Grids since reservation may not always be possible. This is true since many resources cannot be reserved, as stated above. This work uses red-black trees to manage the resource usage, and it has already been tried in [4], [5]. In [4], a technique to perform scheduling using homogeneous resources is presented, whilst [5] presents a technique to perform scheduling using heterogeneous resources. However, as opposite to [4], [5], where authors assume that users have prior knowledge on the duration of jobs, such prior knowledge is not considered in the present work, so estimations on the completion times of jobs need to be calculated. Currently, a broad range of techniques used to perform estimations on jobs execution times are built around historical observations. In [14], it is shown that although load exhibits complex properties, it is still consistently predictable from past behaviour. For this work, a technique based on historical data is used, since it has been demonstrated to provide better results compared to linear functions [15].
loads on the resource. So, everything in the system has to be evaluated by its influence on the execution of applications. Algorithms for meta-scheduling in advance need to be efficient so that they can adapt themselves to dynamic changes in resource availability and user demand without affecting system and user performance. Moreover, they must take into account resource heterogeneity since Grid environments are typically highly heterogeneous. That is the reason why we employ techniques from computational geometry to develop an efficient heterogeneity-aware scheduling algorithm [5]. Moreover, this research focuses on low-cost computational heuristics that consider the network as a first level resource since the network has a very important impact on the performance of jobs, as studied in [16]–[19], among others. In this research we focus on jobs that do not have workflow dependencies. In this type of jobs the user provides both the input files and the application itself. However, with the start time and the deadline of each job, we can set a specific workflow among them. Taking into account these assumptions an scheduling in advance process is done following these steps [15]: 1) A “user request” is received. Every request must provide a tuple with information on the application and the QoS parameters: (in f ile, app, t s, d). in f ile stands for the input files required to execute the application, app. In this approach the QoS parameters are just specified by the start time, t s (earliest time jobs can start to be executed), and the deadline, d (time by which jobs must have been executed) [4]. 2) The meta-scheduler executes a gap search algorithm to obtain both the resource and the time interval to be assigned for the execution of the job. The heuristic algorithms presented take into account the predicted state of the resources, the jobs already scheduled and jobs QoS requirements. 3) If it is not possible to fulfill the user’s QoS requirements using the resources of its own domain, communication with other meta-schedulers starts. 4) If it is still not possible to fulfill the QoS requirements, a negotiation process with the user is started in order to define new QoS requirements.
III. N ETWORK - AWARE META - SCHEDULING IN ADVANCE
This proposal is implemented as an extension to the GridWay meta-scheduler [20], called Scheduler in Advance Layer (SA-layer). This layer is an intermediate layer between the users and the on-demand Grid meta-scheduler, as Figure 1 depicts. The SA-layer is a modular component that uses functionality provided by GridWay in terms of resource discovery and monitoring, job submission and execution monitoring, etc., and allows GridWay to perform networkaware meta-scheduling in advance. The SA-layer stores information concerning previous executions of applications (called DB Executions), and the status of resources and network over time (called DB Resources).
IV. I MPLEMENTATION : E XTENSION TO G RIDWAY
As explained before, not all the resources in a Grid allow advance reservations. This is the reason to perform metascheduling in advance rather than reservations in advance to provide QoS in Grids. That is, the system keeps track of the meta-scheduling decisions already made to make future decisions. So, if only Grid load exists, this would be enough to provide QoS since the meta-scheduler would not overlap jobs on resources – always depending on the accuracy of decisions. However, from the Grid applications point of view, all the tasks from both local users and Grid users are
324 335
Figure 1.
information on the task’s resource requirement. In our case we use a mixture between these two approaches. We use application-oriented approaches to sort out the execution time of the application. And, resourceoriented approaches to recalculate the execution time of the job depending on the resource CPU status predicted and to calculate the time needed to perform the network transfers. In the present work, predictions for the duration of jobs are calculated by estimating the execution time of the job and the time needed to complete the transfers separately. This is because it has been demonstrated that they yield better results than performing predictions for execution and transfer times altogether [6]. Moreover, an exponential smoothing function is used in order to tune the predictions of both the execution time of the job and the network transfers time. The exponential smoothing function is detailed in Section V.
The Scheduler in Advance Layer (SA-layer).
Resource usage is divided into time slots. Then, we have to schedule the future usage of resources by allocating the jobs into the resources at one specific time (taking one or more time slots). For this reason, data structures (represented by Data Structure in Figure 1) to keep a trace of the usage of slots are needed. The data structure used in this work is red black trees [4], [5]. The objective of using this type of trees is to develop techniques to efficiently identify feasible idle periods for each arriving job request, without having to examine all idle periods. This data structure is managed by the Gap Management module. So, this module is in charge of using and keeping up-to-date the information stored in the red-black tree data structure. The Gap management module represents the information of tree data structure in a geometrical way in order to find the best slots for each job in an efficient manner (for more information about this process see [4], [5], [15]). On the other hand, algorithms for estimations on job durations (implemented by Predictor in Figure 1) are also needed to know how many slots a job will need in a certain resource at a certain time in the future. On that purpose, the completion time of jobs in a given resource is estimated by taking into account the characteristics of the jobs, the power and usage of the CPU of the resources and the network future status. By processing this information about applications and resources, accurate estimations on the completion time of the job in the different computational resources can be performed. Besides, the memory overhead is negligible (about several Mbits). Predictions of job execution time are quite difficult to obtain since there are performance differences between Grid resources and their performance characteristics may vary for different applications (e.g. resource A may execute an application P faster than resource B, but resource B may execute application Q faster than A). This prediction information can be derived in two ways [21]: application oriented and resource oriented. For the application-oriented approaches, the running time of Grid tasks is directly predicted by using information about the application, such as the running time of previous similar tasks. For the resource-oriented approaches, the future performance of a resource such as the CPU load and availability is predicted by using the available information about the resource, and then such predictions are used to predict the running time of a task, given the
Algorithm 1 Estimation of Execution Time 1: Let R = set of resources known to GridWay {R1 , R2 ,. . . ,Rn } 2: Let app the job to be executed 3: Let initT the start time of the job 4: Let d the deadline for the job 5: Let ExecutionT ime(app, Ri )j the j execution time for the application app in the resource Ri 6: Let ES(DB ResourcesRi , initT, d) the exponential smoothing function that calculates the percentage of free CPU in resource Ri between time initT and d 7: Let CP U f ree(Ri , initT, d) the percentage of free CPU in the resource P Rin from time initT to time d ExecutionT ime(app,Ri )j
ExecutionT ime = j=1 n CP U f ree(Ri , initT, d) = ES(DB ResourcesRi , initT, d) 10: ExecutionT ime = ExecutionT ime ∗ (2 − CP U f ree(Ri , initT, d)) 11: return ExecutionT ime 8: 9:
Regarding predictions on the execution times, they are performed as explained in Algorithm 1. An estimation for the execution time is calculated as the average of previous executions (line 8). After that, the prediction on the future status of the CPU of each resource is calculated by means of an exponential smoothing function (line 9). Finally, the mean execution time is tuned by using the prediction about the future CPU status of each resource (line 10). Regarding transfer times, the mean bandwidth in the time period between the start time of the job and its deadline is also calculated by using an exponential smoothing function. Again, using this information along with the total number of bytes to transfer, the time needed to complete the transfers is estimated. The next section details the exponential smoothing functions used in this work. It is important to highlight that, in each case, predictions are only calculated when a suitable gap has been found in 325 336
observed seasonal factors given by the demand xt divided by the deseasonalized series level estimate Lt and the previous best seasonal factor estimate for this time period. Thus, seasonality indicates how much this period typically deviates from the period (in our case weekly) average. So, at least one full season of data is required for computation of seasonality. In the equations, α, β and γ are constants that must be estimated in such a way that the mean square error is minimized. It is important to set a correct value for them to predict the behaviour of resources and network as accurate as possible. In our work, the R program [24] is used for calculating these parameters with the aim of making the predictions as accurate as possible. An automatic system that tunes these parameters is among our future work.
the host. Thus, there is no need to calculate these times for all the hosts in the system – which would be quite inefficient. V. E XPONENTIAL SMOOTHING PREDICTIONS Exponential Smoothing (ES) [22] is a simple prediction method based on historical and current data that surprisingly works very good in practice [23]. ES is a procedure for continually revising a forecast in the light of more recent experience. In this way, ES assigns exponentially decreasing weights as the observations get older. In this point, recent observations are given relatively more weight in forecasting that the older ones. There are several types of ES’s. In this work a triple exponential smoothing is used, which is also named HoltWinters [22]. With this kind of ES the trend and seasonality of data are taken into account for the predictions. Trend refers to the long term patterns of data (e.g. sales of a toy may show a linear upward trend if they increase by 1 million euros a year), whilst seasonality is defined to be the tendency of time-series data to exhibit behaviour that repeats itself every L periods (e.g. sales of a toy may increase near Christmas and decrease afterwards, every year). The reason for choosing an ES which takes into account the trend and seasonality is because our data may present both behaviours. For example, in one day log of free CPU status, there is a seasonality of having more free CPU percentage at night hours. There is also a weekly seasonality since, for example, every Sunday there will be more free CPU percentage than Mondays. Thus, the day of the week is important when making an accurate prediction about the resources status. Hence, we use a one week log as input of the ES function for predicting the future status of network and resources for the next day. The forecasting method used is presented in Equation 1. At the end of a time period t, and being xt the observed value of the time series at time t (in our case, the CPU or bandwidth usage), then ft+m is the forecasted value for m periods ahead, Tt is the trend of the time series, Lt is the deseasonalized level, and St is the seasonal component. ES =
deadline X
ft+m =
m=initT
deadline X
VI. E XPERIMENTS AND RESULTS This section describes the experiments conducted to test the usefulness of this work, along with the results obtained. A. Testbed description The evaluation of the scheduling in advance implementation has been carried out in a local Grid environment. The testbed is made of resources located in two different buildings belonging to The University of Castilla La-Mancha. In one building, there are, on the one hand, one machine which carries out the scheduler tasks, and on the other hand, several computational resources. In a second building, there is a cluster machine. All these machines belong to the same administrative domain but they are located in different subnets. Notice that these machines belong to other users, so they have their own local background load. In this implementation, resource usage is divided into time slots of 1 minute, which is a customizable parameter. Moreover, in this work, the future status of the free CPU and bandwidth for each resource is calculated for each time slot for the next day, that is, for the next 1440 time slots. This information is recalculated every 30 minutes. Note that both parameters are customizable depending on the features of the system. On the other hand, the system overhead using these values in our environment is negligible since it takes only around several seconds every 30 minutes to update all the predictions. The memory overhead is also negligible, since less than 50 kbytes per resource are needed.
(Lt + Tt ∗ (m + 1))St+m−L
m=initT
(1) xt + (1 − α) ∗ (Lt−1 + Tt−1 ) (2) St−L Tt = β ∗ (Lt − Lt−1 ) + (1 − β) ∗ Tt−1 (3) xt St = γ ∗ + (1 − γ) ∗ St−L (4) Lt The deseasonalized level Lt is calculated following the Equation 2. The trend of the time series Tt is the smoothed difference between two successive estimations of the deseasonalized level as Equation 3 depicts. Finally, the seasonal component (St ) is calculated using the Equation 4. This expression means only a combination of the most recently Lt = α ∗
B. Workload used One of the GRASP [25] benchmarks, named 3node, has been run to evaluate the implementation. The 3node test consists of sending a file from a “source node” to a “computation node”, which performs a search pattern, generating an output file with the number of successes. The output file is sent to the “result node”. This test is meant to mimic a pipelined application that obtains data at one site, computes a result on that data at another, and
326 337
Figure 2.
account the input parameters of the applications and the knowledge about its behaviours to estimate the durations of jobs in resources. The technique which performs predictions for execution and transfer times separately, named Estimating Transfer Time Separately in [6] (labelled ETTS in figures), is based on historical data. In ETTS the execution time for the application app in the resource Ri is calculated as an average of previous executions of app in Ri . For transfer times estimations the mean bandwidth of the day before for the time interval in between the init time and the deadline of the job is used as the future bandwidth prediction. As mentioned above (see section IV), the ETTS technique has been improved using exponential smoothing for predictions on both execution and transfer times and is labelled as ETTS_ExS in figures. To evaluate the usefulness of the techniques several metrics can be used. This paper focuses on the following metrics: Scheduled job rate is the fraction of accepted jobs, i.e., those whose deadline can be met [4]. QoS not fulfilled means the number of rejected jobs, plus the number of jobs that were initially accepted but their executions were eventually delayed beyond the deadline. Thus, their QoS agreements were not fulfilled. These are measures of the QoS perceived by the user. Furthermore, two more metrics are presented, namely overlap and waste. These ones are measures of system performance (meta-scheduler point of view), and they indicate how well the job completion time was estimated. Overlap records the number of minutes that a job execution is extended over the calculated estimation because their execution times were miscalculated. Waste records the number of minutes that are not used to execute any job because the meta-scheduler thought that jobs would need more time to complete their executions. These metrics are related to the accuracy of predictions. Regarding system overhead, it is negligible since for the values studied in our environment it takes only around 20 seconds every 30 minutes to update all the predictions. The memory overhead is also negligible, since less than 50 kbytes per resource are needed. Results from the user and system point of view are depicted in Figure 3. First, Figure 3 (a) represents the percentage of scheduled jobs (the meta-scheduler has enough free slots to allocate them, meeting the QoS requirements). The more jobs there are in the system, the more lost jobs there are. In terms of scheduled job rate, the ETTS technique obtains the highest rate and Castillo the lowest. Anyway, there are not large differences between ETTS and ETTS_ExS when the submission rate is not very high. There are higher differences after 5 jobs per minute submission rate. Nevertheless, this submission rates supposes an extreme load since they are after the saturation point of the system (5 jobs per minute).
Workload characteristic.
analyses the result on a third site. Furthermore, this test has parameterizable options to make it more computing intensive (compute scale parameter) and / or more network demanding (output scale parameter). There are important parameters that have to be considered in the workload used for measuring performance, as can be seen in Figure 2. “T max reservation” represents how far in advance we can schedule a job; “T Execi ” is the time needed to execute the job i; “Scheduling Window” shows the time interval in which the job has to be scheduled; “Arrival Ratio” depicts the average time between two jobs sent; and “Laxity” represents how strict the user is when scheduling a job, which is the difference between “Scheduling Window” and “T Exec” for a job. For this evaluation, both the compute scale and the output scale take values between 0 and 20, being the average 10. This allows to create both compute and data intensive applications. The T max reservation is up to 1 hour, with an average of 30 minutes. Finally, the Laxity is set between 0 and 10 minutes, being the average 5 minutes. The submission rate is from 1 to 10 jobs per minute, simulating from 1 to 10 users, respectively. These users submit 20 jobs each one. The results shown are the average of 5 executions for each case. C. Performance evaluation In this section, a comparison between the SA-layer with two techniques of calculating the job execution time and a straight-forward implementation of the algorithm proposed by Castillo et al. [5] is presented. Our proposal has already been compared with the GridWay original framework (without support for scheduling in advance), resulting in a performance gain [15]. Moreover, the original framework developed by Castillo et al. [5] and the scheduling in advance techniques developed in [15] have also been compared. From those comparisons we can conclude that (1) there is no need to have prior knowledge about the execution time of jobs – as long as predictions can be made; and (2) the importance of performing estimations on transfer and execution times separately, rather than total completion times including both parameters altogether, in order to be able to provide a greater QoS to Grid users. Now, we are going to compare the Exponential Smoothing technique with the Castillo proposal and an implementation which performes estimations on transfer and executions time separately [6]. The Castillo proposal (labelled as Castillo in figures) is based on a linear function which takes into
327 338
Castillo
ETTS
ETTS_ExS
Castillo
ETTS
ETTS_ExS
60
100 90
% of QoS Not Fulfilled
% of Scheduled Jobs
50 80 70 60 50 40 30 20
40
30
20
10
10 0
0 1
2
3
4
5
6
8
10
1
2
Number of Submitted Jobs per minute
(a) Jobs Scheduled Castillo
ETTS
5
6
8
10
(b) QoS not Fulfilled ETTS
ETTS_ExS
160
Mean Waste per Job (in sec.)
Mean Overlap per Job (in sec.)
4
Castillo
ETTS_ExS
300
250
200
150
100
50
0
140 120 100 80 60 40 20 0
1
2
3
4
5
6
8
10
1
Number of Submitted Jobs per minute
2
3
4
5
6
8
10
Number of Submitted Jobs per minute
(c) Overlap
Figure 3.
3
Number of Submitted Jobs per minute
(d) Waste
Comparison between whether using or not predictions by means of Exponential Smoothing functions in the scheduling in advance proccess.
Figure 3 (b) shows the percentage of jobs that were not executed with the QoS requested, and includes lost jobs and jobs completed beyond the deadline. Again, the more jobs there are in the system, the more jobs there are not executed with the requested QoS. Castillo presents the worst results, clearly outperformed by ETTS and ETTS_ExS. A better performance is obtained before the saturation point (5 jobs per minute) by ETTS_ExS although results are tight. On the other hand, when the system load goes close and beyond the saturation point the ETTS method obtains a very similar results in terms of total QoS fulfilled job. However, from the system point of view its behaviour is worse than ETTS_ExS since the overlap in predictions has burst out at this submission rate (see Figure 3 (c)) and the percentage of QoS fulfilled per accepted job is rather low (see Figure 4). This will be explained next. From the point of view of the system, Figures 3 (c) and (d) depict the mean overlap and waste times in calculating the job completion time estimations, respectively. From those graphics we can conclude that Castillo technique obtains the lowest overlap since it has the highest waste and this is because the reservation of slots is not accurate, so a lot of time slots are wasted. Because of that, the rate of scheduled jobs is the lowest (as Figure 3 (a) depicts). This leads to a lower overlap since there are less load in the system, so jobs have less influence on the executions of other jobs. On the other hand, the ETTS_ExS technique has a lower overlap than ETTS with a similar accepted job rate, but at the expense of more waste. That explains the slightly better results obtained for ETTS in terms of scheduled job rate
(see Figure 3 (a)) but worse in terms of QoS not fulfilled (see Figure 3 (b)) and per scheduled job QoS (see Figure 4). It must be noted that for ETTS_ExS, both overlap and waste have a more uniform behaviour. In fact, the value for both measures are around 60 seconds. Taking into account that the scheduling in advance process manages slots of one minute, an overlap and a waste of 1 minute means a very good estimation on job completion time. Paying attention to the highest submission rates, a much better behaviour of the ETTS_ExS technique from the system point of view is observed. At this rate, the overlap is burst out for the ETTS, and consequently, the waste is very low. By contrast, the ETTS_ExS technique keeps the waste, and the overlap is only slightly increased. Those results are consistent with those shown by Figure 3 (a). That is, there are more rejected jobs for ETTS_ExS since the jobs completion times are predicted more accurately. This higher number of rejected jobs allows the system to fulfill the QoS of the accepted jobs (see Figure 4). Finally, Figure 4 depicts the percentage of fulfilled QoS of the total amount of accepted jobs. ETTS_ExS technique has a more uniform behaviour. Castillo has a less uniform behaviour and a little worse average until the saturation point than ETTS_ExS. From this point of view, the QoS fulfilled per accepted job is highest for Castillo but in those cases the accepted job rate is rather low (see Figure 3 (a)). So, the total QoS fulfillment is rather low compared with the other two techniques (see Figure 3 (b)). As far as ETTS is concerned, the QoS fulfilled per accepted job is the lowest since this technique accepts more jobs and the estimations of 328 339
Castillo
ETTS
submission rates is 27.31 % higher for ETTS_ExS method than for Castillo (see Figure 3 (a)). In conclusion, the ETTS_ExS prediction technique obtains the best results in terms of QoS fulfilled per jobs submitted, that is, from the user point of view, in spite of not being able of scheduling as many jobs as ETTS. Regarding the system point of view, this technique is also the best since it has a more uniform behaviour and both the overlap and waste times are around only one time slot, which means a good enough completion time estimation. Moreover, in terms of QoS fulfilment taking into account only the accepted jobs, it obtains results close to the best ones in each situation.
ETTS_ExS
% of QoS Fulfilled
100
90
80
70 1
2
3
4
5
6
8
10
Number of Submitted Jobs per minute
Figure 4.
Percentage of QoS Fulfillment per Accepted Job.
Table I P ERCENTAGE OF Q O S F ULFILLMENT PER ACCEPTED J OB . Before Saturation Point After Saturation Point
Minimum Mean Minimum Mean
Castillo 88 % 94.38 % 88 % 95.26 %
ETTS 83.33 % 89.93 % 77.54 % 87.09 %
VII. C ONCLUSION
ETTS ExS 93.15 % 96.15 % 89.17 % 94.54 %
Several research works aim at providing QoS in Grids by means of advanced reservations. However, making reservations of resources is not always possible for several reasons, for example, not all the LRMS permit reservations. So, we propose scheduling in advance as a possible solution to provide QoS to Grid users. This type of scheduling allows to estimate whether a given application can be executed before the deadline specified by the user. But this requires to tackle many challenges, such as developing efficient scheduling algorithms that scale well or how to predict the jobs execution time. In this work a scheduling in advance implementation which predicts the future usage of the CPUs and the network bandwidth by means of exponential smoothing functions is presented. This system uses these predictions to make better estimations about how much time a job will need to be executed in a certain resource at a certain time. So, a comparison between whether using or not techniques to predict the resource status in the future is presented. These comparisons highlight the usefulness of applying ES to calculate predictions, in terms of QoS delivered to users and use of resources. Finally, recall that both meta-scheduling in advance and reservation in advance in Grid environments are open fields that still need research since there are no definitive solutions (in terms of scalability and / or efficiency). Besides, many of the ideas developed to provide QoS in Grids have been evaluated in simulated environments, but our work is being carried out under a real environment. The development and implementation of new efficient and scalable algorithms is one of the challenges of this research. So, among the future work we are planning to include new features such as a jobs rescheduling module to improve the QoS provision. This will work as follows: when the scheduler fails to allocate a job, it is possible to allocate new incoming jobs by rescheduling already scheduled jobs whenever possible without affecting their QoS (Replanning Capacity [5]). Furthermore, it is a good point to try to reserve network bandwidth where this is possible, such as within an administrative domain.
job completion times are not as accurate as for ETTS_ExS. This explains that, in spite of scheduling more jobs than ETTS_ExS (see Figure 3 (a)), the QoS obtained is lower for both total QoS and QoS per accepted job (see Figures 3 (b) and 4). Moreover, when the saturation point is exceeded, the QoS per accepted job using ETTS falls down dramatically. Table I summarizes the information shown by Figure 4 and highlights the better performance of ETTS_ExS technique on estimating the job completion time. This table depicts the minimum and the mean percentage of QoS fulfillment per accepted jobs for the different job submission frequencies. Moreover, this table splits the information in two parts. First it shows the summarized information before the saturation submission rate (5 jobs per minute). And second, the table shows all the information summarized, taking into account the higher submission rates too. In this table we can see that the minimum QoS fulfillment percentage before the saturation point is greater when the ETTS_ExS is used. Moreover, this is the only one which keeps the percentage above 90 %. Also, the mean percentage of QoS fulfillment per accepted job is higher using ETTS_ExS. In fact, this technique performs slightly better (1.77%) than Castillo technique in spite of accepting many more jobs than Castillo. On the other hand, when the saturation point is reached, the minimum QoS fulfillment per accepted jobs is lower than 80 % for ETTS whilst for Castillo this percentage is maintained. Using the ETTS_ExS method, this percentage also decreases but even so, it is kept as the highest value. In terms of mean QoS fulfillment percentage, using ETTS_ExS it remains above 90 % since the predictions are more accurate than the other prediction techniques. This percentage has only decreased around 1.5 % compared to the values before the saturation point. However, for Castillo, this percentage is also above 90 % but in this case, the accepted job rate is significantly lower compared to the other techniques. For instance, the mean executed job ratio for all 329 340
ACKNOWLEDGMENT
[13] W. Smith, I. Foster, and V. Taylor, “Scheduling with advanced reservations,” in Proc. of the 14th Intl. Parallel and Distributed Processing Symposium (IPDPS), Washington, DC, USA, 2000.
This work was supported by the Spanish MEC and MICINN, as well as European Commission FEDER funds, under Grants “CSD2006-00046” and “TIN2009-14475-C04”. It was also partly supported by JCCM under Grants “PBI08-0055-2800” and “PII1C09-0101-9476”. Authors would like to thank Dr. E. Arias (UCLM) for his help with the exponential smoothing technique.
[14] P. A. Dinda, “The statistical properties of host load,” Scientific Programming, vol. 7, no. 3-4, pp. 211–229, 1999. [15] L. Tom´as, A. Caminero, C. Carri´on, and B. Caminero, “MetaScheduling in Advance using Red-Black Trees in Heterogeneous Grids,” in Proc. of the High Performance Grid Computing Workshop (HPGC), hold jointly with the Intl. Parallel & Distributed Processing Symposium (IPDPS), Atlanta, USA, 2010.
R EFERENCES [1] U. Farooq, S. Majumdar, and E. W. Parsons, “Efficiently scheduling advance reservations in grids,” Carleton University, Department of Systems and Computer Engineering, Tech. Rep., 2005. [2] R. Yahyapour, “Considerations for resource brokerage and scheduling in Grids,” in Proc. of Parallel Computing: Software Technology, Algorithms, Architectures and Applications (PARCO), Dresden, Germany, 2003.
[16] L. Tom´as, A. Caminero, B. Caminero, and C. Carri´on, “Studying the Influence of Network-Aware Grid Scheduling on the Performance Received by Users,” in Proc. of the Grid computing, high-PerformAnce and Distributed Applications (GADA), Monterrey, Mexico, 2008.
[3] E. Elmroth and J. Tordsson, “An interoperable, standardsbased grid resource broker and job submission service,” in Proc. of the 1st Intl. Conference on e-Science and Grid Computing (e-Science), Washington, DC, USA, 2005.
[17] A. Caminero, O. Rana, B. Caminero, and C. Carri´on, “Performance evaluation of an autonomic network-aware metascheduler for Grids,” Concurrency and Computation: Practice and Experience, vol. 21, no. 13, pp. 1692–1708, 2009.
[4] C. Castillo, G. N. Rouskas, and K. Harfoush, “On the design of online scheduling algorithms for advance reservations and QoS in grids.” in Proc. of the Intl. Parallel and Distributed Processing Symposium (IPDPS), Los Alamitos, USA, 2007.
[18] C. Barz, P. Martini, M. Pilz, and F. Purnhagen, “Experiments on network services for the grid.” in Proc. of the 32nd IEEE Conference on Local Computer Networks (LCN ’07), Washington, DC, USA, 2007.
[5] ——, “Efficient resource management using advance reservations for heterogeneous grids.” in Proc. of the Intl. Parallel and Distributed Processing Symposium (IPDPS), Miami, USA, 2008.
[19] S. Tanwir, L. Battestilli, H. G. Perros, and G. KarmousEdwards, “Dynamic scheduling of network resources with advance reservations in optical grids.” Int. Journal of Network Management, vol. 18, no. 2, pp. 79–105, 2008.
[6] L. Tom´as, A. Caminero, B. Caminero, and C. Carri´on, “Using network information to perform meta-scheduling in advance in Grids,” in Proc. of the Sixteenth International Conference on Parallel Computing (Euro-Par), Ischia,Italy, 2010.
[20] E. Huedo, R. S. Montero, and I. M. Llorente, “A modular meta-scheduling architecture for interfacing with pre-WS and WS Grid resource management services,” Future Generation Computing Systems, vol. 23, no. 2, pp. 252–261, 2007.
[7] The Globus Alliance, Web page at http://www.globus.org, 2010.
[21] Y. Zhang, W. Sun, and Y. Inoguchi, “Predict task running time in grid environments based on CPU load predictions,” Future Generation Computing Systems, vol. 24, no. 6, pp. 489–497, 2008.
[8] A. Roy and V. Sander, Grid Resource Management. Kluwer Academic Publishers, 2003, ch. GARA: A Uniform Quality of Service Architecture, pp. 377–394. at
[22] P. S. Kalekar, “Time series Forecasting using Holt-Winters Exponential Smoothing,” Kanwal Rekhi School of Information Technology, Tech. Rep., 2004.
[10] M. Siddiqui, A. Villazon, and T. Fahringer, “Grid capacity planning with negotiation-based advance reservation for optimized QoS,” in Proc. of the Conference on Supercomputing (SC), Tampa, USA, 2006.
[23] M. Dobber, R. van der Mei, and G. Koole, “A prediction method for job runtimes on shared processors: Survey, statistical analysis and new avenues,” Performance Evaluation, vol. 64, no. 7-8, pp. 755 – 781, 2007.
[11] O. Waldrich, P. Wieder, and W. Ziegler, “A meta-scheduling service for co-allocating arbitrary types of resources,” in Proc. of the 6th Intl. Conference on Parallel Processing and Applied Mathematics (PPAM), Poznan, Poland, 2005.
[24] The R Foundation, Web page at http://www.r-project.org/, 2010.
[9] Maui Cluster Scheduler, Web page http://www.clusterresources.com/products/maui/, 2010.
[25] G. Chun, H. Dail, H. Casanova, and A. Snavely, “Benchmark probes for grid assessment,” in Proc. of 18th Intl. Parallel and Distributed Processing Symposium (IPDPS), Santa Fe, USA, 2004.
[12] C. Qu, “A grid advance reservation framework for coallocation and co-reservation across heterogeneous local resource management systems,” in Proc. of 7th Intl. Conference on Parallel Processing and Applied Mathematics (PPAM), Gdansk, Poland, 2007.
330 341