Sie sind auf Seite 1von 5

SCHEDULING ADVANCE RESERVATIONS WITH PRIORITIES

IN GRID COMPUTING SYSTEMS


RUI MIN and MUTHUCUMARU MAHESWARAN

Advanced Networking Research Laboratory


Department of Computer Science
University of Manitoba
Winnipeg, MB, R3T 2N2, Canada
{ruimin@ee, maheswar@cs}.umanitoba.ca

Abstract and storage. Further, in this paper, immediate reservations


are modeled as advance reservations with current time as
Grid computing systems utilize distributively owned the start time and a predefined length for the duration.
and geographically dispersed resources for providing a This allows us to unify advance and immediate
wide variety of services for various applications. One of reservations.
the key considerations in Grid computing systems is The [3] implements an Advance Reservations Server
resource management with quality of service constraints. (ARS) that works in conjunction with the Dynamic Soft
The quality of service constraints dictate that submitted Real Time (DSRT) system [2] to reserve CPU resources
tasks should be completed by the Grid in a timely fashion in advance. In ARS, the client needs to specify some QoS
while delivering at least a certain level of service for the parameters such as the percentage of CPU required as
duration of execution. Because the Grid is a highly well as start time and duration. Once the reservation
“dynamic” system due to the arrival and departure of request is admitted, the reserved resources will be
tasks and resources, it is necessary to perform advance available for the client after the start time for the duration
reservations of resources to ensure their availability to at the predefined percentage. However, in practice, most
meet the requirements of the different tasks. This paper applications have QoS requirement that are negotiable.
introduces a new scheduling algorithm for advance Because ARS does not support re-negotiations it leads to
reservations. Simulations are performed to compare our higher number of rejected reservation requests.
algorithm with an existing approach. The results indicate The Resource Broker (RB) proposed in [6]
that the proposed algorithm can improve the overall the integrates with the ARS presented in [3]. The RB
performance by satisfying larger number of reservation improves ARS to give fast and constant response time and
requests. multiple negotiation options for the clients. However, the
occurrence of re-negotiation adds considerable overhead
Keywords: cluster computing; parallel and distributed to the system. Further, in case of unforeseen scarcity of
computing systems; resource allocation and management; resources, in order to allocate a resource to multiple,
task scheduling. competing applications, the admission control algorithm
requires a way to evaluate the relative importance of the
different applications in order to reject less important
applications first to ensure a group of clients get the most
1. INTRODUCTION
benefit.
Grid computing is an emerging paradigm for next The [7] proposes and evaluates several algorithms
generation distributed computing. The Grid is a highly for supporting advance reservations in supercomputer
dynamic environment with servers coming on-line, going scheduling systems. These algorithms improve traditional
off-line, and with continuously varying demand from the scheduling algorithms by unifying scheduling traditional
clients. In such an environment, it is necessary to consider tasks from job queues with the reservation requests. These
the quality of service (QoS) requirements of the different advance reservations allow users to request multiple
clients to ensure that the resources are used in the most resources simultaneously from scheduling systems at
beneficial manner. Due to the uncertainties of resource specific times. However, [7] allocates the “time slots”
availabilities in a dynamic system such as the Grid, it is exclusively, i.e., the resources are not reserved in a shared
necessary to support advance reservations to provide QoS fashion by multiple clients for the same duration. The
guarantees. This paper presents an algorithm for applications are assumed to operate on a “best effort”
scheduling advance reservations for resources. Although, basis and the reservation requests are assumed to have
only CPU resources are considered here this approach different priority than the applications. These differences
may be generalized to other resources such as network
in priorities are considered while the reservations and ◆✝ Bk(pcpu): the benefit function associated with Rk.
applications are scheduled by the system. It gives the benefit the client will receive if it is
In this paper, we present a Reservation Scheduler reserved CPU at the requested level. Although, in
with Priorities and Benefit Functions (RSPB). The RSPB this paper, benefit functions are used only for
algorithm schedules reservations while considering the quantifying the CPU requirements, it may be used
relative priorities of the various reservation requests. In for other resources as well as the time constraints.
RSPB, each reservation request has an associated benefit
function that quantifies the “profit” for the client accrued
by the client by securing the resource at the requested 3. RESERVATION SCHEDULING WITH
level. When the client is willing to negotiate for lower PRIORITIES AND BENEFIT
service levels, it could indicate this by providing a benefit
function that shows a reduced but positive benefit for
FUNCTIONS
lower resource levels. This facility provided by the This section examines the reservation scheduling
benefit functions removes the need for negotiations when algorithm. The algorithm is based on the following
there is a resource scarcity. The RSPB can be underlying assumptions. Once a request is granted
implemented on top of a CPU scheduler such as the reservation, a contract for the reservation is signed
DSRT [2] or a QoS enhanced operating system kernel between the application and the system. The reservation
such as QLinux [4]. scheduler won’t examine the same request more than once
In Section 2, we introduce the notation and except when a QoS violation occurred. This situation
mathematical model for the reservation problem. In should be handled by a higher level QoS broker that
Section 3, we present the RSPB algorithm. Using engages in renegotiation to establish another reservation
simulation studies, we compare RSPB with an existing or a continuation of the current reservation. Based on the
resource reservation algorithm in Section 4. The operating policies, the reservation scheduler may find
simulation results are also discussed in this section. another reservation or the application may operate under
best-effort conditions.
In this study, each reservation request involves a
2. NOTATION AND MATHEMATICAL single resource, i.e., no co-reservation of resources is
MODEL considered here. Figure 1 shows the outline of the
A centralized resource reservation scheduler is dynamic reservation scheduler. In this scheduler,
assumed, i.e., all the resource reservations are performed dynamically arriving requests are collected for a
by a centralized unit. Requests arrive randomly based on a predefined time interval to form a meta-request.
Poisson arrival process. Because the requests are arriving The dynamic reservation scheduler makes a decision
in a random fashion at real time, the reservation scheduler upon receiving a meta-request using the scheduleRmeta
cannot wait until all the requests have arrived to function that is shown in Figure 2. The scheduleRmeta
commence the scheduling. It should make the decisions function is called when the current time is equal to the
on the requests as each one arrives or make a decision current scheduling event time that is equal to t or the
after the arrival of a batch of requests. This paper follows requested start time of request R is less than current
the later method. scheduling event time t. This ensures that requests with
Let m be the number of machines in the system. The start time less than current scheduling event time is
machines are assumed to be homogeneous. Let CPU_sysj scheduled before current time is equal to current
represent the percentage of CPU of the j-th machine Mj scheduling event time. One example of this kind of
requests is immediate reservation.
that is dedicated to the Grid system. For each request, Rk Figure 2 shows the pseudo code for the
arriving at the reservation scheduler following parameters
scheduleRmeta function. Line (12) sorts the requests in
are defined.
◆✝ tk-start: start time of the reservation Rk Rmeta in descending order by the priority of the requests.
This ensures that if multiple reservation requests require
◆✝ tk-end: end time of reservation for Rk reservation in the same duration, the requests with higher
◆✝ CPUmax-k: minimum CPU requirement of Rk for priority will be scheduled first. This reduces the sum of
delivering the maximum benefit to the application rejected priorities thus ensuring the resources are used in
the most beneficial manner. Line (17) determines the
◆✝ pk: priority of Rk, due to limited amount of
resources, the scheduler cannot meet the demands minimum CPU requirement for request Rk (i.e., CPU
of all the requests. When the overall demand capacity at which Rk can provide the lowest acceptable
exceeds the available resources, the objective of the benefit to the application according to the selected benefit
reservation scheduler is to minimize the sum of function shape. This value will be used to determine if the
priority of the requests that are rejected. This study request should be admitted with graceful degradation or
uses heuristic approaches to achieve this objective. rejected when resources are scarce when its hard QoS
requirement cannot be guaranteed.
In our reservation model, a CPU resource may be function scheduleRmeta (meta-request Rmeta)
temporally shared by multiple reservations, i.e., multiple (2) Rk : the kth request in Rmeta;
(3) Mj : the jth machine in the system;
reservations may overlap in time. Therefore, we need to (4) CPUmin-k : minimum CPU requirement when Rk
determine the current CPU usage for a given time interval get lowest acceptable
before admitting a reservation. In Lines (19) and (38), the benefit from reservation;
current CPU (machine) usage is determined using time (5) load_heaviestj(tm, tn) : the heaviest load of Mj within
a reservation duration tm to tn;
slot tables that keep track of reservations that have (6) CPU_smallestj(tm, tn) : the smallest availability of CPU
already been accepted. The time slot tables only keep to reserve for Mj within a duration tm to tn;
track of the partition of the CPU that is dedicated to the (7) machQueuehard : queue for storing machines
Grid and thus, managed by the reservation scheduler. that satisfy hard QoS request of Rk;
(8) machQueuesoft : queue used to store machine
which can satisfy soft QoS request of Rk;
t=t0 ;; scheduler start time (9) Bjk : benefit value which Rk can get from Mj;
∆t ;; inter-schedule time (10) Rnonsatisfy : meta-request to store rejected requests;
while (true) (11) for all requests Rk in Rmeta
t = t + ∆t; (12) sort the requests in descending order by pk;
while (current time < t) (14) for each sorted request Rk in Rmeta
get current request R; (15) reset machQueuehard and machQueuesoft
add R to Rmeta (16) get tk-start and tk-end;
if (requested start time of R < t) (17) calculate CPUmin-k according to selected
t = current time; benefit function shape;
endif (18) for each machine Mj in the system
endwhile (19) get load_heaviestj(tk-start, tk-end);
scheduleRmeta(Rmeta) (20) CPU_smallestj(tk-start, tk-end) =
endwhile CPU_sysj - load_heaviestj(tk-start, tk-end);
(21) if (CPU_smallestj(tk-start, tk-end) ≥ CPUmax-k);
Figure 1: Outline of dynamic reservation scheduler. (22) machQueuehard ← Mj;
(23) else
(24) if (machQueuehard is empty)
Line (21) determines whether the examined machine (25) if (CPU_smallestj(tk-start, tk-end) ≥ CPUmin-k)
(26) if (machQueuesoft contain machine Mi)
can satisfy the hard QoS requirement of request Rk. If yes, (27) Bjk = Bk(CPU_ smallestj(tk-start, tk-end));
this machine is put into a machine queue named (28) Bik = Bk(CPU_ smallesti(tk-start, tk-end));
(29) if (Bjk > Bik)
machQueuehard for later selection in line (38). Although (30) machQueuesoft ← Mj;
it is not shown in pseudo-code in Figure 2, the search for (31) else
a machine that satisfies the reservation request can be (32) machQueuesoft ← Mj;
stopped when a machine that satisfies the hard QoS is (33) endfor
(34) if (both the machQueuehard and
found. If none of the machines in the system can satisfy machQueuesoft are empty)
the hard QoS requirement of Rk, the reservation scheduler (35) put the request Rk into meta-request Rnonsatisfy;
(36) else
will attempt to schedule the reservation with a (37) if (machQueuehard is not empty)
degradation of the CPU requirement for Rk provided the (38) select the machine with the lowest
average CPU load within duration (tm, tn);
benefit function allows for the degradation. Line (24) to (39) else
(32) attempt to find a machine that satisfies this situation (40) the machine in the machQueuesoft is the choice
and this machine is considered to satisfy the soft QoS (41) mark the time slot table for
this machine with requested reservation;
requirement of Rk. Lines (26) to (32) attempts to (42) endfor
maximize the benefit delivered to the application by the
reservation. Figure 2: A priority and benefit function based
Lines (34) and (35) deal with the case where the scheduling algorithm for indivisible reservations.
system cannot provide the requested level of service to
Rk. The reservation scheduler checks the meta-request 4. SIMULATION RESULTS AND
Rnonsatisfy and sends rejections messages to the clients DISCUSSION
that submitted the reservation requests in Rnonsatisfy. The This section presents some results from a simulation
clients may resubmit their reservation requests with study designed to evaluate the performance of the
modifications and these submissions will be considered algorithm provided in the previous section. The
for reservation at the next scheduling event. Line (38) simulation study compared the RSPB with the Resource
ensures that the load is distributed across the machines. Broker (RB) [6]. A discrete event simulator was written
using the PARSEC language [1] for comparing the two
reservation schemes. In the simulations, the reservation
requests arrived randomly according to a Poisson arrival
process. With each request, several attributes were
associated to define parameters like reservation start time,
end time, percentage of resource, shape of the benefit RSPB RB
function, priority, etc. The benefit functions were 9000

restricted to the four shapes such that each function is 8000

used by 25% of total number of requests. Time slot table 7000

number of rejections
6000
for each machine is maintained by a modified version of 5000
the data structure called Interval Skip List [5]. The 4000
following parameters are true for the simulation results 3000
presented below unless stated otherwise. 2000

◆✝ 10 machines participated in the simulation; 1000

◆✝ Each machine dedicated 70% of CPU to the Grid 0


-1000 0 5 10 15 20 25
system; number of machines
◆✝ Each reservation requested for CPU usage that is
uniformly distributed in [20%, 70%]; Figure 4: Number of rejections vs. machines.
◆✝ Requested duration is uniformly distributed in 20-
300 time units (PARSEC clocktype); In Figure 6, when average requested CPU is less
◆✝ Requested starting times are uniformly distributed than 25%, reserved CPU for all three curves are the same.
over 4,320 time units; This is because when the requested CPU is lower, the
◆✝ Time is slotted with a granularity of one time unit. system can satisfy all requests. Therefore, reservations for
The simulation time is 100,000 time units, it created all three cases are same. When average requested CPU is
an average of about 10,505 requests; greater than 25%, three approaches deviate. In particular,
Figure 3 shows the variation of the number of RB and RSPB deviate from the ideal approach.
rejections with the number of requests. The simulation
time ranged from 10,000 to 120,000 time units and an
average of about 1063 to 12,604 requests were created. RSPB RB
5000
Figure 4 shows the variation of the number of rejections
with the number of machines. The number of machines 4000

participated in this experiment ranged from 2 to 20. number of rejections


3000
Figure 5 shows the variation of the number of rejections
with the average of duration. The average requested 2000
duration varied in the [30, 350] range.
1000
From Figures 3, 4, and 5, it can be noted that the
number of rejections for RSPB is considerably lower than 0
that for RB in all three cases. This is because we use the 0 100 200 300 400

benefit function in RSPB. The requests that need to be re- -1000


request duration
negotiated in RB may be admitted in RSPB with graceful
degradation of QoS, provided they have specified soft
Figure 5: Number of rejections vs. requested duration.
QoS requirements using their benefit functions. This
reduces the number of rejections. Figure 6 shows the
variation of average of reserved CPU with the average RSPB RB best case
80
requested CPU. The average requested CPU ranges from
70
20% to 70%. For contrast, we show the ideal case of
average of reserved CPU

60
satisfying each request to 100% as well.
50

40
RSPB RB 30
2500
20

2000 10
number of rejections

0
1500 0 20 40 60 80
average of requested CPU
1000

500
Figure 6: Average reserved CPU vs. requested CPU.

0
0 5000 10000 15000
number of requests

Figure 3: Number of rejections vs requests.


RSPB RB 5. CONCLUSIONS AND FUTURE WORK
80000
70000
This paper introduces a novel way of incorporating
sum of rejected priorities 60000 QoS constraints and priority into an advance reservation
50000 scheduling algorithm for in Grid computing systems. The
40000 paper compares the performance of the proposed
30000
20000
algorithm with an existing advanced reservation
10000 algorithm, namely the Resource Broker and analyzes the
0 simulation results. The QoS constraints are specified
0 500 1000 1500 using an abstraction called the benefit functions. Although
number of rejections the proposed algorithm is designed to reserve CPU
resources, it is easy to extend the algorithm to reserve
Figure 7: Sum of rejected priorities vs. rejections. other resources such as network bandwidth, disk,
memory, etc. It is also possible to extend the algorithm for
The curve for RB is lowest before average of supporting multiple-dimension benefit functions, such as
requested CPU is less than 63%. The difference between supporting time deadline benefit functions.
RSPB and RB is larger for average of requested CPU is Several future directions are identified for further
less than 50%. However, this difference becomes smaller investigation. Two of them include: (a) relaxing the
after 50% and almost the zero after 63%. The reason for assumption that the requests arriving for reservations are
this is when average of requested CPU increases, the indivisible (i.e., including co-reservations) and (b)
number of satisfied requests decrease. Therefore, the developing schemes for incorporating multiple QoS
reserved CPU is decreased because of occurrence of constraints into the admission control problem.
rejections. However, considering benefit function in
RSPB helps it to reduce the number of rejections, thus
increasing the average percentage of reserved CPU. References
However, when the average requested CPU is greater than [1] R. Bagrodia, R. Meyer, M. Takai, Y. Chen, X. Zeng,
50%, the advantage of this mechanism is not pronounced. J. Martin, B. Park, and H. Song, “PARSEC: A
After 63%, this advantage is almost none existent. This is Parallel Simulation Environment for Complex
because when average of requested CPU is much higher, System,” IEEE Computer, Vol. 31, No. 10, Oct.
for example 60%, most machines usually only have two 1998, pp. 77-85.
possible states, either be reserved about 60% or idle. In [2] H. Chu and K. Nahrstedt, “A Soft Real Time
our study, from four different benefit function shapes, the Scheduling Server in UNIX Operating System,”
lowest CPU reservation that the user can be allocated and European Workshop on Interactive Distributed
still get acceptable benefit is requested CPU *25%. If in a Multimedia Systems and Telecommunication Services
certain time slot, let’s assume all requests ask for 60% (IDMS '97), Sep. 1997.
CPU, then, all machines in the system are reserved by [3] G. Garimella, “Advance CPU Reservations with the
60%, when a new request comes even with lowest Dynamic Soft Real-Time Scheduler”, Master’s
acceptable CPU which is 60% * 25% (from selected Thesis, University of Illinois at Urbana-Champaign,
benefit function shape), it will be rejected. 1999.
Figure 7 shows the result of sum of rejected [4] P. Goyal, X. Guo, and H. M. Vin, “A Hierarchical
priorities versus number of rejections. The simulation CPU Scheduler for Multimedia Operating Systems,”
time ranges from 10,000 to 100,000 time unit. It created 2nd Symposium on Operating System Design and
about average 1,063 to 10,505 requests, requested starting Implementation (OSDI '96), Oct. 1996, pp. 107-122.
times are uniformly distributed over 4,320 time units, but [5] E. Hanson, and T. Johnson, “Selection Predicate
difference from previous is starting time is added extra Indexing for Active Databases using Interval Skip
300 time units in order to void too many times that only Lists,” Information Systems, Vol. 21, No. 3, 1996, pp.
one request in metaRequest to be scheduled. Therefore, 269-298.
the advantage of ordering request by priority is more [6] K. Kim and K. Nahrstedt, “A Resource Broker Model
obvious. with Integrated Reservation Scheme,” IEEE
From Figure 7, we can see the sum of rejected International Conference on Multimedia and Expo
priorities of RSPB is less than that of RB. This is due to 2000 (ICME ’00), Aug. 2000.
priority ordering in RSPB. In RSPB, requests with higher [7] W. Smith, I. Foster, and V. Taylor, “Scheduling with
priority are always scheduled prior to those with lower Advanced Reservations,” International Parallel and
priority. This ensures when resources are scarce, requests Distributed Processing Symposium (IPDPS ’00),
with higher priority have more chance to be admitted. May 2000.

Das könnte Ihnen auch gefallen