Post on 28-Dec-2015
CHALLENGING SCHEDULING PROBLEM IN THE FIELD OF SYSTEM DESIGN
Alessio GuerriMichele Lombardi *Michela MilanoDEIS, University of Bologna
Talk outlineOUTLINE
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 MOTIVATION & CONTEXT
Mainly due to the resource allocation phase
Why is this stuff interesting?
1. It’s challenging
2. It’s a real world problem
3. We considered many problem variants
It’s important to test solvers on real problems
Different objective function Deterministic vs stochastic
4. The instance generator Flexible, from random to “real like” instances
Embedded systemMOTIVATION & CONTEXT
Embedded system
They are special purpose
automotive digital convergence
market share
any information processing device embedded in another product
They are finding widespread application:
They often run a fixed set of applications
Strong off-line optimization before the deployment
Platforms for embedded systemsMOTIVATION & CONTEXT
General trend:
A promising platform: MPSoCs
H/S co-design: special purpose application “general purpose” platform
IBM
, C
ELL
pro
cess
or
Embedded system designMOTIVATION & CONTEXT
System design with MPSoCs
Exploit application and platform parallelism to
achieve real time performance
Given a platform description
and an application abstraction
compute an allocation & schedule
verify results & perform changes
Design flow
1
2 3
4
5
P1 P2 ram
P1
P2
1 2
3
4
5
1 2
3
4
5 t
Crucial role of the allocation& scheduling algorithm
MPSoC platform
Identical processing elements (PE)
Local storage devices Remote on-chip
memory Shared bus
PROBLEM DESCRIPTION
MPSoC platform
Resources:
Constraints:
PEs Local memory devices Shared BUS PE frequencies Local device capacity Bus bandwidth (additive resource) Architecture dependent constraints
DVS
Application
Nodes are tasks/processes Arcs are data communication
PROBLEM DESCRIPTION
Task graph
1
2 3
4
5
6
RD
Each task:
Reads data for each ingoing arc
Performs some computation Writes data for each outgoing
arc
EXEC
WR
WR
COMM. BUFFER
LOC/REM
PEPROG. DATA
LOC/REMFREQ
.
Application
Memory allocation Remote memory is slower than the local ones
Execution frequency
PROBLEM DESCRIPTION
Task graph
1
2 3
4
5
6
RD EXEC
WR
WR
COMM. BUFFER
LOC/REM
PEPROG. DATA
LOC/REMFREQ
.
Durations depend on:
Different phases have different bus requirements
ApplicationPROBLEM VARIANTS
O. F.
We focused on problem variants with different Objective function Graph features
G.F. Bustraffic
Energyconsumptio
nMakespan
Pipelined
Generic
Generic withcond.
branches
DVS
DVS
DVS
no DVS
no DVS
no DVS
no DVS
no DVS
no DVS
Objective functionPROBLEM VARIANTS
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
1 2 3 t4
Time & energy
cost
Allocation dependentSchedule dependent
Graph structurePROBLEM VARIANTS
1 2 3 4
Pipelined
Typical of stream processing applications
Generic
1
2 3
4
5
6
Generic with cond. branches
1
2 3
4
5
6
a !a
b!b
Stochastic problem
0.3
0.7
0.5
0.5
Stochastic O.F. (exp. value)
Instances – an overviewINSTANCES & INSTANCE GENERATOR
Real world instances “Synthetic” instances Random instances
…different instances
Different needs…
Solve real problems Test the solvers and the models Perform computation studies
Where do they come from?
Real world instancesINSTANCES & INSTANCE GENERATOR
Real world instances1
2 3
4
5
6
From application code…
…extract atask graph…
…and compute durations by repeated
runs
The extraction phase is tricky and slow
Synthetic instancesINSTANCES & INSTANCE GENERATOR
Synthetic instances
1
2 3
4
5
6
Randomly generate a graph…
…wrap it into a synthetic computer
program…
…again, compute
durations by repeated runs
Faster, but not enough for a statistical complexity study
Random instancesINSTANCES & INSTANCE GENERATOR
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
Random instancesINSTANCES & INSTANCE GENERATOR
..randomly add some nodes…
..randomly add some arcs
..cut arcs to turn some nodes into “tails”…
Random
Real like
Many types of instancesby balancing these two steps
Random instancesINSTANCES & INSTANCE GENERATOR
The generation process is tuned by means of “random parameters”rp(MIN, MAX, DISTRIBUTION)mrp(MEAN, ST. DEV., DISTRIBUTION)
Linear, quadratic,
exponential
Nodes and arc attributes can depend on each other and are specified via a simple functional languagenode_attr dur rp(100, 200, LIN)node_attr long_dur sum(dur, rp(50, 100, EXP))
Nodes and arcs are labeled with custom lists of attributes
Crucial to have “real like” instances
ConclusionsCONCLUSIONS
Mixed allocation & scheduling problem
Complex allocation phase
It’s important for a competition to evaluate solvers on real problems
Different O.F.s Deterministic &
Stochastic problems
Random instances
Realistic instances needed for real problems
Questions?
CHALLENGING SCHEDULING PROBLEM IN THE FIELD OF SYSTEM DESIGN
Alessio GuerriMichele Lombardi *Michela MilanoDEIS, University of Bologna