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
© Copyright 2026 Paperzz