Heuristic Resource Allocation Algorithms for Maximizing Allowable Workload in

boorishadamantΤεχνίτη Νοημοσύνη και Ρομποτική

29 Οκτ 2013 (πριν από 3 χρόνια και 10 μήνες)

72 εμφανίσεις

Presenter: David Fleeman {
fleeman@ohio.edu

}


D. Juedes, F. Drews, L. Welch and D. Fleeman

Center for Intelligent, Distributed & Dependable Systems

Ohio University

Athens, OH


WPDRTS 2004

April 26, 2004

Heuristic Resource Allocation Algorithms
for Maximizing Allowable Workload in
Dynamic, Distributed, Real
-
Time Systems


WPDRTS, April 26, 2004

2

Motivating Example


Tasks which have workload dependent execution times.



Example originated in the generic air defense system



The
detect

task is periodic and identifies threats by filtering and
evaluating radar tracks.



The
engage

task is event
-
driven and fires a missile at the threat



The
guide missile

task is event
-
driven periodic and uses sensor
data to track a specific threat, recalculates flight path, and issues
guidance commands to the missile.



Familiar “shooter
-
to
-
target” requirement.

WPDRTS, April 26, 2004

3

Motivating Example (continued)


All three tasks have resource and timing
requirements that are environment
-
dependent.



The
detect

task depends on both the number of radar
tracks to process and the number of tracks that are
actually threats.



The
engage

task is activated by events which occur at
rates that are determined by the external environment.



The
guide missile

task depends on the number of
missiles in flight.

WPDRTS, April 26, 2004

4

Motivating Example (continued)


Traditional WCET analysis causes poor utilization of
resources whenever there are little or no threats to be
analyzed.



We characterize the resource needs of these tasks by
execution profile functions that compute the resource
needs as a function of workload.



These functions are used in this work to choose allocations
that allow the applications:


To better utilize the resources.


Allow real
-
time constraints to be met


Minimize the need for reallocations which create system overhead
at the worst possible times.

WPDRTS, April 26, 2004

5


The Maximum Allowable Workload
Problem (RMS)


Allocation of
n

independent tasks to
m
processors.



Running times of each task
t
is given as function
of the
system workload

w.



Problem:
Find an allocation of tasks to processors
and a setting of
w
such that this allocation is
feasible for all workloads
w’≤ w,
such that
w

is
maximized
.

WPDRTS, April 26, 2004

6

Known Analytical Results


If the running
-
times of all of the tasks are
well
-
behaved
, then a modified version of First First is
guaranteed to be within 41% of optimal,
asymptotically.



If less than 12% of the system utilization is used
up by input independent tasks (i.e., constant time
tasks), then First First is within 33% of optimal,
asymptotically.


WPDRTS, April 26, 2004

7

A Modified Version of First Fit by
Oh and Baker

Input:
<T,P>

and a workload
w.


Output: An allocation
alloc:T


P

and “Feasible” or “Not
Feasible”


for each job i do


place job i on the first processor j such that all tasks already
assigned to processor j and task i can meet their deadlines
when running with workload
w
.


if no such processor j exists, return “Not Feasible”

Return “Feasible” and alloc.



WPDRTS, April 26, 2004

8

Using FF to Approximate MAW
-
RMS

Use binary search to find a workload
w
such
that the algorithm given on the previous
page return “Feasible,” but the same
algorithm returns “Not Feasible” for
workload
w+1.
Use the

allocation returned
by the last feasible result of FF.


WPDRTS, April 26, 2004

9

Experimental Results


We considered n=20,30,40,…,100 tasks



10 non
-
identical processors, each of which
described by its speed factor ranging within
[10,30]



Periods of tasks were choosen from [2500,5000]



Random polynomials for workload functions


Choosen from

WPDRTS, April 26, 2004

10

Experimental Results: 100.000 Iterations for
Simulated Annealing and Random Search