Professional Documents
Culture Documents
net/publication/265220363
Article
CITATIONS READS
2 52
3 authors, including:
All content following this page was uploaded by Rushi Agrawal on 07 July 2015.
Abstract—In this paper, we define various problems Though there are commonalities between performance
encountered in batch processing in modern enterprise and capacity analysis of transactional and batch systems,
systems. We focus our attention on scheduling of batch jobs the problem of scheduling of jobs is specific to batch
on multi-processor systems such that the batch finishes systems.
in minimum time with minimum resource utilization. The
A typical batch system is characterized by: (1) A
contribution of this paper is two folds: (1) study properties
of dependency graph of batch jobs to identify that for
set of jobs: each job is characterized by its execution
fat graphs the state-of-the-art CP/MISF (critical path/most time. (2) Precedence or dependency relationships: a job
immediate successors first)[1] scheduling algorithm com- can not start unless and until each and every job on
putes near optimal schedules; (2) further, we propose an which it is dependent is completed. The dependency
efficient graph pre-processing method to shorten the time relationship is represented as a directed acyclic graph.
taken to compute schedule of batches that have dense (3) Batch completion time constraint: batch execution
dependency graphs. We show that an overall gain of 0 should finish before batch finish time, tbc ≤ Tbc , where
- 50% in the execution time is achieved by pre-processing. tbc is the time required to complete the batch and Tbc is
maximum time before which the batch must finish. (4)
Resource constraint: there is a threshold on the maximum
I. I NTRODUCTION
amount of resources that could be used at a point of
Data centers typically cater to two types of workload: time. In other words, pres ≤ Pres where pres is the
transactional and batch. The transactional workload is peak amount of resource used at any point of time
processed in real-time and needs to meet per-request and Pres is the maximum threshold beyond which the
service level objectives (SLOs) defined on metrics such resource utilization should not exceed. Any additional
as response time. The batch workload, on the other use of resource beyond the threshold results in additional
hand, consists of jobs such as data consolidation, data financial charges.
compliance checks, maintenance jobs, etc. The desired Scheduling jobs to meet the batch completion time
performance of a batch workload is defined by metrics constraint and resource utilization constraint simultane-
such as the batch completion time (time within which ously is a challenging task. Work has been done in
all batch jobs should be completed) and peak resource the past on scheduling of multiprocessor systems and
requirements. The past literature contains a lot of work batch systems. [1],[4] addresses scheduling of processes
on performance and capacity analysis of transactional on the multiprocessor systems. Work has been done in
systems [2], [3]. Analysis of batch workloads, though the area of multiprocessor systems where the processing
equally important, has received relatively lesser attention. speeds of processors is not equal[5]. [6] explores using
In this paper, we focus on analysis of batch processing frequently occurring subgraphs for computing schedules.
systems. In Section II, we discuss in detail various versions
Both transactional and batch systems need answers to scheduling problems related to batch system. We also
similar questions such as: what is the cause of delay in identify contribution of the paper in this section.
completing a transaction or a batch?, what is the capacity
of the system - How much resource is available?, how II. S CHEDULING OF BATCH S YSTEMS
much more workload can be processed in the avail- The batch systems run on different types of infras-
able resource?, which are the bottleneck resources? etc. tructures, viz. multiprocessor systems or mainframes.
2
subgraphs, pre-computation of their schedules may be 1000 nodes from batch systems inside the data centers
used to possibly pre-compute schedules as well. We of a financial bank, CP/MISF algorithm takes around
propose to address this in future. half to two hours to calculate schedule. In such cases,
we propose to pre-process graphs to compute schedules
C. Mainframe environment more efficiently. We propose that dense graphs be pre-
In case of mainframes, a pool of CPU cycles/sec with processed to reduce the execution time of CP/MISF
threshold on maximum CPU cycles that can be used at algorithm. We show that overall gain of 0-50% in the
a point of time is given. Batches may run on different execution time is achieved by pre-processing.
LPARs. And each LPAR may have different maximum
MIPS allocated to it. A batch can be scheduled on an B. Redundant edge removal
LPAR with higher or lower speed of execution in order CP/MISF[1] algorithm requires for each node calcu-
to minimize the batch completion time. Separate CPU lating the longest execution path from the node to the
cycle provisioning to LPARs, flexibility of assigning exit node. As this step requires finding out all paths
jobs to LPARs with different speeds, and meeting batch originating from each node, number of edges in the
completion time and resource constraint throws various graph become the dominant factor in the complexity of
challenges in scheduling jobs optimally on mainframes. algorithm.
We propose to address these problems in the future. Batch graphs created from enterprise batch data usu-
ally contain hundreds of nodes with thousands of edges.
III. S CHEDULING IN MULTI - PROCESSOR SYSTEMS Of these edges, a significant number of edges contain
In this section, we look at the problem defined in redundant information. In the graph 1, the edge j1 →j3
Section II-A in greater detail. At the end of the day, the is redundant as the information portrayed by this edge
operators have an understanding of jobs in their batch is already contained in other two edges(j3 is to be
and their dependencies. As a result, full schedule can be scheduled after j2 already implies that j3 is scheduled
computed before actually assigning (possibly unfitting) after j1 as j2 is to be scheduled after j1 ). This has been
jobs to processors. shown in Figure 1.
As the problem is strongly NP-hard, computation of We propose an algorithm to remove all the redundant
optimal schedule is infeasible. As we will be deal- edges from the batch graph. We measure the performance
ing with state-of-the-art and so far the most efficient, of our algorithm on the collection of task graphs given
CP/MISF algorithm, a short analysis of the algorithm in Standard Task Graph [8], and present the results in
is presented. CP/MISF algorithm generates priority of the next section.
jobs statically, based on the ‘maximum execution path The proposed algorithm first selects edges which are
length’: the costliest path to the end node in the depen- potential candidates for redundancy, and then checks
dency graph with respect to time. For example, for job a whether the selected edge can actually be harmlessly
with execution time ea , if there are only two paths to the removed.
end node z in the dependency graph: paths a→b→c→z Algorithm: For a batch graph G of n nodes, let
and a→d→z , with nodes b, c, d, having execution times j1 , j2 ,. . . jn represent the nodes of the graph. We first
eb , ec and ed respectively, the longest path execution time calculate the topological ordering of nodes and save
will be maximum of (eb +ec ) and (ed ). the node ids in the topological order in a list T. Also,
The state-of-the-art CP/MISF[1] scheduling algorithm along with finding out the order of topological sort, we
computes near optimal schedule most of the time. In calculate the ‘level’ of each node in the graph. A level
Section IV-A, we study how the accuracy of CP/MISF of a node is the longest path from the start node to the
algorithm depends upon various properties of the prece- current node. We represent level of a node i by levi . The
dence graph. in neighbour() function returns list of all the immediate
predecessors of the argument node.
A. Approach for i in T do
CP/MISF has the worst case time complexity of for j in in neighbour(i) do
O(V 2 + P V ), where V is the number of vertices in if levj < levi−1 then
the batch graph and P is the number of processors. As remove if redundant(i, j)
a result, it takes a large amount of time to execute end if
algorithm on graphs of large size with large number end for
of edges. On some of the precedence graph of size end for
4
IV. E XPERIMENTS AND R ESULTS Fig. 3. Effect of number of edges on gain in execution time: (a)
A. Dependence of deviation of schedules on graph pa- 300 nodes, (b) 500 nodes.
rameters
Although CP/MISF gives the results very close to the
optimal value in a comparatively very small time, it is of paths (or in other words, the number of possible
worth studying the pattern - if any - of how much the schedules) in the graph. As CP/MISF algorithm tries to
algorithm deviates from the optimal with respect to the select a schedule very close to optimal, the increase in
change in the graph properties. density increases the number of schedules to pick from
We generated directed acyclic graphs based on the resulting in the decrease in the accuracy of the algorithm.
following parameters: (1) fatness, (2) density and (3) Effect of fatness of the graph: Figure 2(b) shows a
number of nodes.[9] Fatness of the graph is defined as plot of fatness vs. deviation from optimal, e for density
the inverse of the number of levels in the graph; density 0.4, 0.5, 0.6. It can be observed that when the fatness
of a graph is the ratio of actual number of edges in the of the graph is small and large the error is small. When
graph to the maximum number of edges that are possible the fatness is very low, the graphs tends towards a linear
for the graph with same number of nodes. The default chain of nodes. As the number of edges in the graphs for
values of parameters are: (1) fatness, f : 0.5 (2) density, same fatness is nearly the same, such a form of graph
d: 0.5 (3) number of nodes/jobs: 100. has relatively less number of possible schedules, thereby
For all these graphs, we calculated schedule lengths giving a very less chance for the algorithm to select a
with two identical processors. We calculated by how schedule very far from optimal value. When the number
much amount (in percentage difference from the optimal) of fatness is very high, following reason can be attributed
the schedule generated by CP/MISF algorithm deviate to the behaviour: at any instant in the execution of
from the optimal value. As we generated thousands of schedule generation, the number of available jobs is very
graphs, it was not feasible to calculate optimal schedules high as compared to the number of idle (‘schedulable’)
for all the graphs, so we used lower bound [10] as the processors. As a result, the generated schedule has a
optimal value for each of these graphs. The lower bound processor idle for an extremely small fraction of the total
is fast to calculate, and also give results very close to the execution time. The optimal schedule is no different.
optimal value for graphs with few hundred of nodes. For This means that there are a large number of schedules,
all 180 graphs of Standard Task Graph of each of 50, but all those schedules also lie very close to the optimal
100, 300, and 500 nodes, for which optimal schedule was value, which results in the depicted trend.
provided on [8], the lower bound gave values equal to the Effect of size of the graph: Figure 2(a) shows a plot
optimal schedule. In order to make the data appear more of number of nodes vs. deviation from optimal, e for
meaningful, for each set of parameters, we generated fatness 0.4, 0.5, 0.6. The error in the schedule decreases
10 graphs, and averaged the value of the deviation from as the size of the graph increases. The percentage error
optimal schedule. The results of the analysis are provided in the schedule is the actual error in time units, divided
as following. by the length of the optimal schedule. As the number
Effect of density of the graph: Figure 2(c) shows a of nodes increase keeping all the other parameters same,
plot of density vs. deviation from optimal or error, e for the optimal schedule increases linearly; so, although the
fatness 0.4, 0.5, and 0.6. It can be observed that the error actual deviation from optimal is still of the same order,
increases with increasing density of the graph. However, the large denominator makes the percentage deviation
as the fatness increases, the error reduces. The reason for appear small. However, even in case of larger graphs,
this trend can be explained in the following manner: for if the fatness > 0.5, the error is small for the reasons
fixed fatness, the number of levels in a graph are same; mentioned in the above section.
but increase in density will introduce more number of From this section we conclude that the CP/MISF
edges in the graph and therefore increases the number algorithm gives near optimal results for fat graphs.
5
Fig. 2. Effect of (a) number of nodes, (b) fatness, (c) density on the accuracy of schedule.
B. Benefit in execution time by pre-processing the graph reduce the execution time of CP/MISF algorithm. We
We implemented and ran the algorithm for all of the show that overall gain of 0-50% in the execution time is
300-node 180 graphs of Kasahara’s Standard Task Graph achieved by pre-processing.
dataset [8]. As we found out, the graphs from which In future, we plan to address better methods of com-
more number of edges were removed gave up to 50% puting schedules using dynamic information. We also
increase in execution time. Note that the execution time propose to address computing schedules incrementally
is the sum of time to remove redundant edges, and when a portion of the dependence graph changes. We
time to execute Kasahara’s CP/MISF algorithm on the also plan to address scheduling problem and MIPS
‘sparsed’ graph. A clear relationship between the number optimization in mainframe environment.
of edges in the original graph and the computational
speed-up can be seen from the graph Figure 3 (a),(b). R EFERENCES
Figure 3 shows the plot of number of edges and gain [1] H. Kasahara and S. Narita, “Practical multiprocessor scheduling
in execution time in percentage by pre-processing the algorithms for efficient parallel processing,” in IEEE Transac-
tions on Computers, 1984.
graph of size (a) 300 nodes and (b) 500 nodes. It can
[2] P. Bahl, R. Chandra, A. Greenberg, S. Kandula, D. A. Maltz,
be observed that the gain in execution time is positive and M. Zhang, “Towards highly reliable enterprise network
for graphs with ratio of number of nodes to number of services via inference of multi-level dependencies,” in Sigcomm,
levels in the graph greater than 13 for a graphs of 300 2007.
[3] S. Kandula, R. Mahajan, P. Verkaik, S. Agarwal, J. Padhye,
jobs, and greater than 15 for graphs with 500 jobs. We and P. Bahl, “Detailed diagnosis in enterprise networks,” in
propose to take a decision of pre-processing the graphs SIGCOMM, 2009.
based on this metric: ratio of number of nodes to the [4] P. Rebreyend, F. E. Sandnes, and G. M. Megson, “Static
number of levels in the graph. In such cases, the gain multiprocessor task graph scheduling in the genetic paradigm:
A comparison of genotype representations,” tech. rep., 1998.
in the execution time of the algorithm is between 0 to [5] R. Righter and S. H. Xu, “Scheduling jobs on non-identical ifr
50%. processors to minimize general cost function,” in Advances in
Applied Probability, Vol. 23, No. 4, pp. 909-924, 1991.
[6] S. Patil, M. Natu, V. Sadaphal, and H. Vin, “Analyzing batch
V. C ONCLUSION AND FUTURE WORK processing systems using frequent subgraph discovery,”
[7] J. K. Lenstra and A. H. G. R. Kan, “Complexity of scheduling
In this paper, we addresses various problems in batch
under precedence constraints,” in Oper. Res. vol. 26, 1978.
systems. We addressed problem of scheduling and opti- [8] STG, “http://www.kasahara.elec.waseda.ac.jp/schedule/,” 2011.
mizing the resources in detail. We address the problem [9] DagGen, “http://www.loria.fr/ suter/dags.html,” 2011.
of scheduling of batch jobs on multi-processor systems. [10] E. B. Fernandez and B. Bussell, “Bounds on the number of
processors and time for multiprocessor optimal schedules,” in
Our contributions is three folds: (1) We study the graphs IEEE Transactions on Computers, Vol. C-22, NO. 8, 1994.
properties of the dependency graph and observe that for
the fat graphs the state-of-the-art algorithm (CP/MISF
[1]) gives near optimal results and there is no need to
run the computationally intensive optimal algorithm. (2)
Further, we propose an efficient method of computing
schedules of batches that have dense dependency graphs.
(3) We propose that the graphs be pre-processed to