Title: Task Alloc' In Dist' Embed' Systems
1CMPE 511COMPUTER ARCHITECTURE
- Task Alloc. In Dist. Embed. Systems
- Murat Semerci
- A.Yasin Çitkaya
2Task Allocation
- It is process of assigning the task in a way that
deadlines and precedences of the tasks are
preserved. - They are represented as DAGs (Directed Acyclic
Graph). They show precedence and activities
between tasks.
3Embedded Systems
- It is any combination of hardware and software
systems even involving mechanical parts to
fulfill a specific function. Unlike
general-purpose computers embedded sytems are
designed to performed only interested tasks. - Most known examples are mobile phones, PDAs, MP3
players, and sensors (in networks). - The ones in our interest are the systems
collaboratively performing tasks in a distributed
environment.
4Task Allocation in Embedded Systems
- The major problems in task allocation in
distributed systems are - Energy Problem
- Computation/Design Limitation
- Real-Time Processing (Dynamic Tasks Emerging)
- Communication And Communication Channels
5Genetic Algorithm Based Task Allocation I
- Since most optimal task allocations are hard to
find, they can not be evaluated in a short time,
real-time allocation must be evaluated by either
heuristics or genetic algorithms. - The only criterion is the task deadline.
- It just deals with objection function information
(deadline). It works globally from a population,
not a single point.
6Genetic Algorithm Based Task Allocation II
- The operations are stochastic, not deterministic
(Crossover, Mutation) - The individuals whose utilization is lower than
or equal to predefined node utilization are the
fittest (It can not exceed 1)
7LEneS (Low Energy Scheduling) I
- It is one of first task allocation/scheduling
algorithms considering energy saving. - Fundamentally uses DVS (Dynamic Voltage Scaling).
- The tasks can be done on a longer time as long as
the deadline of the all tasks is not exceeded. - It is a variant of list-scheduling (assign task
to the node offering earliest finish time) with
energy-sensetivity.
8LEneS II
9LEneS III
- Take advantage of slack times.
- As long as deadline not exceeded, run on low
voltages.
10BEATA (Balanced Energy-Aware Task Allocation) I
- It is a heuristics proposed for soft real-time
heterogeneous embedded systems. - It assumes no DVS mechanisms. It assumes distinct
computation time, communication time,
communication capacities..vs. - It assumes all nodes are connected by a
single-hop wired or wireless network.
11BEATA II
12BEATA III
- The total energy consumed by the network is the
sum of energy consumed by active and idle nodes
and active and idle links. - It is a variant of list-scheduling.
- The idea is assigning the task to the node
consuming less energy among a predefined number
of nodes completing it fast.
13BEATA IV
14Constraints of embedded systems
- Time
- Area (processing power, memory)
- Energy
- Cost
- (market size expected at more than 100 billion
in 2006)
15Energy Balanced Task Allocation
- The goal is to balance the energy dissipation of
the elements during each period of the
application with respect to the remaining energy
of elements, such that the system lifetime is
maximized. - A single-hop cluster of homogeneous sensor nodes
connected through multiple wireless channels is
considered.
16Clustering
Different ways to cluster a task graph
17Procedure
- An assignment of all the tasks to onto the
elements, - The setting of voltage levels for tasks,
- The scheduling of the computation / communication
activities, specified by the start and finish
time of activities.
18Integer Linear Programming
- computation and communication activities with
precedence constraints are forced by Constraint
set 1
19Integer Linear Programming
- computation and communication activities that do
not have precedence constraints an extra set
forced by Constraint set 2
20Integer Linear Programming
- In Constraint set 3, the system lifetime is
calculated
Overall ILP formulation
21Heuristic approach
- Assuming that the voltage levels of all tasks are
set to the highest options - In the first phase, the tasks are grouped into
clusters with the goal to minimize the overall
execution time of the application
22Heuristic approach
- In the second phase, clusters are assigned onto
the elements such that the energy dissipation of
each element is proportional to the remaining
energy of the element.
23Heuristic approach
- In the last phase, the system lifetime is
maximized by lowering the voltage levels of of
tasks.
24Example
- An application example
- Application graph
- b) Time and energy costs for executing tasks at
voltage levels Vh and Vl
25Clustering steps for the example
26Simulation results
Lifetime improvement for small scale problems (3
sensor nodes, 3 voltage levels, 2 channels,
CCR1) a)lifetime improvement achieved by the
ILP-based approach b)perfomance comparison of the
ILP-based approach and the 3-phase
heuristic.
27Simulation results
Lifetime improvement of the 3-phase heuristic for
large scale problems (10 sensor nodes, 8 voltage
levels, 4 channels, 60-100 tasks) a)lifetime
improvement vs. system utilization (u) and the
communication to computation ratio
(CCR) b)lifetime improvement vs. number of tasks
(CCR4)
28Simulation results
Impact of variation in number of voltage levels
(10 sensor nodes, 4 channels, 60 tasks, CCR2)
29Simulation results
Lifetime improvement of the 3-phase heuristic
incorporated with modulation scaling (10 sensor
nodes, 8 voltage levels, 4 channels, 3 modulation
levels, 60 tasks) a)small energy/time ratio for
communication activities (Ci10-7) b) small
energy/time ratio for communication activities
(Ci10-6)
30Simulation results from real world
- Lifetime improvement for the matrix
factorization algorithm (10 sensor nodes, 8
voltage levels, 4 channels, 3 modulation levels) - u0.5
- u0.8
31Simulation results from real world
- Lifetime improvement for the FFT algorithm (10
sensor nodes, 8 voltage levels, 4 channels, 3
modulation levels) - u0.5
- u0.8
32Conclusions
- Task allocations are design to fulfill different
constraints (mostly time, but also energy). - Optimal solutions due to including integer
programming can not be found in a realistic time.
Because of this, heuristics or genetic algorithms
are used. - Energy constraint is the crucial constraint in
embedded system. Since energy can be saved by
using low power during computation, there is a
trade-off between time and energy. - Heuristics for energy savings are either based on
individual power consumption or on network
(total) energy consumption. - Different heuristics are suggested, which depend
on different assumptions (homogenous or
heterogeneous...) - Any other types energy saving methods can be
proposed based on new solutions(e.g. new
communication schemes)
33References
- B. Korousic-Seljak, J.E. Cooling, Optimization
of Multiprocessor Real-Time Embedded System
Structures, Proceedings, 7th Mediterranean
Electrotechnical Conference, Vol.1, pp.313-316,
12-14 April 1994 . - F. Gruian, K. Kuchcinski, LEneS Task
Scheduling for Low-Energy Systems Using Variable
Supply Voltage Processors, Proceedings, Asia and
South Pacific Design Automation Conf.,pp.
449-455, 30 Jan.-2 Feb. 2001. - T. Xie, X. Qin, M. Nijim, Solving Energy-Latency
Dilemma Task Allocation for Parallel
Applications in Heteregeneous Embedded Systems,
Proceedings, Inter. Conf. on Parallel Processing,
pp. 12-22, 14-18Aug. 2006. - Y. Yu, V. K. Prasanna, Energy-Balanced Task
Allocation for Collaborating Processing in
Wireless Sensor Networks, Mobile Networks and
Applications, Vol. 10, pp. 115-131, 2005. - M. A. Weiss, Data Structures Algorithms
Analysis in C, 2nd Ed., Addison Wesley
Longman, 1999.