Challenging Scheduling Problem in the field of System Design

CHALLENGING SCHEDULING
PROBLEM IN THE FIELD OF
SYSTEM DESIGN
Alessio Guerri
Michele Lombardi *
Michela Milano
DEIS, University of Bologna
OUTLINE
Talk outline
Talk topic
 Present a mixed resource allocation and scheduling
problem arising in the design flow of embedded systems
 Discuss some problem variants (including a stochastic one)
 Discuss the instances we used…
 …and the instance generator
MOTIVATION & CONTEXT
Motivation
Why is this stuff interesting?
1. It’s challenging
 Mainly due to the resource allocation phase
2. It’s a real world problem

It’s important to test solvers on real problems
3. We considered many problem variants
 Different objective function
 Deterministic vs stochastic
4. The instance generator
 Flexible, from random to “real like” instances
MOTIVATION & CONTEXT
Embedded system
Embedded system
any information processing device embedded in another product
They are finding widespread application:
automotive
digital convergence
market share
They are special purpose
They often run a fixed set of applications
Strong off-line optimization before the deployment
MOTIVATION & CONTEXT
Platforms for embedded systems
General trend:
H/S co-design:
 special purpose application
 “general purpose” platform
IBM, CELL processor
A promising platform: MPSoCs
MOTIVATION & CONTEXT
Embedded system design
System design with MPSoCs
Exploit application and
platform parallelism to achieve
real time performance
P1
P2
ram
Design flow
 Given a platform description
 and an application abstraction
 compute an allocation &
schedule
 verify results & perform
thechanges
allocation
Crucial role of
& scheduling
algorithm
P1
1
2
P2
3
5
1
2
4
1
2
3
4
5
4
3
5
t
PROBLEM DESCRIPTION
MPSoC platform
MPSoC platform
 Identical processing
elements (PE)
 Local storage devices
 Remote on-chip memory
 Shared bus
Resources:
Constraints:




PEs
Local memory devices
Shared BUS
PE frequencies
DVS
 Local device capacity
 Bus bandwidth (additive resource)
 Architecture dependent constraints
PROBLEM DESCRIPTION
Application
Task graph
 Nodes are tasks/processes
 Arcs are data communication
1
2
Each task:
3
6
4
 Reads data for each ingoing arc
 Performs some computation
 Writes data for each outgoing arc
5
FREQ.
PROG. DATA
LOC/REM
PE
WR
RD
EXEC
WR
COMM. BUFFER
LOC/REM
PROBLEM DESCRIPTION
Application
Task graph
Durations depend on:
 Memory allocation
1
2
 Remote memory is slower than
the local ones
3
 Execution frequency
6
4
Different phases have different bus
requirements
5
FREQ.
PROG. DATA
LOC/REM
PE
WR
RD
EXEC
WR
COMM. BUFFER
LOC/REM
PROBLEM VARIANTS
Application
We focused on problem variants with different
 Objective function
 Graph features
O. F.
Bus
traffic
Energy
consumption
Makespan
Pipelined
no DVS
DVS
no DVS
Generic
no DVS
DVS
no DVS
Generic with
cond. branches
no DVS
DVS
no DVS
G.F.
PROBLEM VARIANTS
Objective function
Bus traffic
 Tasks produce traffic when they access the bus
 Completely depends on memory allocation
Makespan
 Completely depends on the computed schedule
Energy (DVS)
 The higher the frequency, the
higher the energy consumption
 Cost for frequency switching
Allocation dependent
Schedule dependent
Time &
energy cost
1
2
3
4
t
PROBLEM VARIANTS
Graph structure
Pipelined
1
2
3
Generic
4
Generic with cond. branches
0.3
1
2
Typical of stream processing
applications
3
a
2
3
0.5
6
4
5
0.7
!a
1
4
b
!b
0.5
6
5
Stochastic problem
Stochastic O.F. (exp. value)
INSTANCES & INSTANCE GENERATOR
Instances – an overview
Different needs…
 Solve real problems
 Test the solvers and the models
 Perform computation studies
…different instances
 Real world instances
 “Synthetic” instances
 Random instances
Where do they come from?
INSTANCES & INSTANCE GENERATOR
Real world instances
…extract a
task graph…
Real world instances
1
From application code…
2
3
6
4
The extraction phase is tricky and slow
5
…and compute durations
by repeated runs
INSTANCES & INSTANCE GENERATOR
Synthetic instances
Synthetic instances
Randomly generate
a graph…
1
2
4
3
Faster, but not enough for a statistical
6
complexity study
5
…again, compute
durations by
repeated runs
…wrap it into a synthetic
computer program…
INSTANCES & INSTANCE GENERATOR
Random instances
Why random instances?
 Quickly available “real like” instances
 Completely random instances to test the solvers
Instance generator* able to provide both
Generation algorithm
Start from a
bipartite graph…
..repeatedly replace an arc
with series of nodes…
* Soon available for download at http://www-lia.deis.unibo.it/Staff/AlessioGuerri/Sched_LIB
INSTANCES & INSTANCE GENERATOR
Random instances
..cut arcs to turn some
nodes into “tails”…
..randomly add
some nodes…
Real like
Many types of instances
by balancing these two steps
Random
..randomly add
some arcs
INSTANCES & INSTANCE GENERATOR
Random instances
The generation process is tuned by means of “random
parameters”


rp(MIN, MAX, DISTRIBUTION)
mrp(MEAN, ST. DEV., DISTRIBUTION)
Crucial to have “real like”
instances
Linear, quadratic,
exponential
Nodes and arcs are labeled with custom lists of attributes
Nodes and arc attributes can depend on each other and are
specified via a simple functional language


node_attr
node_attr
dur
long_dur
rp(100, 200, LIN)
sum(dur, rp(50, 100, EXP))
CONCLUSIONS
Conclusions
 Mixed allocation &
scheduling problem
 Complex allocation phase
 It’s important for a
competition to evaluate
solvers on real problems
Questions?
 Different O.F.s
 Deterministic &
Stochastic problems
 Random instances
 Realistic instances
needed for real
problems
CHALLENGING SCHEDULING
PROBLEM IN THE FIELD OF
SYSTEM DESIGN
Alessio Guerri
Michele Lombardi *
Michela Milano
DEIS, University of Bologna