33
Task Task Alloc. In Dist. Embed. Alloc. In Dist. Embed. Systems Systems Murat Semerci Murat Semerci A.Yasin Çitkaya A.Yasin Çitkaya CMPE 511 CMPE 511 COMPUTER COMPUTER ARCHITECTURE ARCHITECTURE

CMPE 511 COMPUTER ARCHITECTURE

  • Upload
    marie

  • View
    47

  • Download
    8

Embed Size (px)

DESCRIPTION

CMPE 511 COMPUTER ARCHITECTURE. Task Alloc. In Dist. Embed. Systems Murat Semerci A.Yasin Çitkaya. Task Allocation. It is process of assigning the task in a way that deadlines and precedences of the tasks are preserved. - PowerPoint PPT Presentation

Citation preview

Page 1: CMPE 511 COMPUTER ARCHITECTURE

TaskTask Alloc. In Dist. Embed. Systems Alloc. In Dist. Embed. SystemsMurat SemerciMurat Semerci

A.Yasin ÇitkayaA.Yasin Çitkaya

CMPE 511CMPE 511COMPUTER COMPUTER

ARCHITECTUREARCHITECTURE

Page 2: CMPE 511 COMPUTER ARCHITECTURE

Task AllocationTask Allocation

It is process of assigning the It is process of assigning the task in a way that deadlines and task in a way that deadlines and precedences of the tasks are precedences of the tasks are preserved.preserved.

They are represented as DAGs They are represented as DAGs (Directed Acyclic Graph). They (Directed Acyclic Graph). They show precedence and activities show precedence and activities between tasks.between tasks.

Page 3: CMPE 511 COMPUTER ARCHITECTURE

Embedded SystemsEmbedded Systems

It is any combination of hardware and It is any combination of hardware and software systems even involving software systems even involving mechanical parts to fulfill a specific mechanical parts to fulfill a specific function. Unlike general-purpose function. Unlike general-purpose computers embedded sytems are designed computers embedded sytems are designed to performed only interested tasks.to performed only interested tasks.

Most known examples are mobile phones, Most known examples are mobile phones, PDAs, MP3 players, and sensors (in PDAs, MP3 players, and sensors (in networks).networks).

The ones in our interest are the systems The ones in our interest are the systems collaboratively performing tasks in a collaboratively performing tasks in a distributed environment.distributed environment.

Page 4: CMPE 511 COMPUTER ARCHITECTURE

Task Allocation in Embedded Task Allocation in Embedded SystemsSystems

The major problems in task The major problems in task allocation in distributed systems allocation in distributed systems are:are: Energy ProblemEnergy Problem Computation/Design LimitationComputation/Design Limitation Real-Time Processing (Dynamic Real-Time Processing (Dynamic

Tasks Emerging)Tasks Emerging) Communication And Communication And

Communication ChannelsCommunication Channels

Page 5: CMPE 511 COMPUTER ARCHITECTURE

Genetic Algorithm Based Task Genetic Algorithm Based Task Allocation IAllocation I Since most optimal task allocations Since most optimal task allocations

are hard to find, they can not be are hard to find, they can not be evaluated in a short time, real-time evaluated in a short time, real-time allocation must be evaluated by allocation must be evaluated by either heuristics or genetic either heuristics or genetic algorithms.algorithms.

The only criterion is the task The only criterion is the task deadline.deadline.

It just deals with objection function It just deals with objection function information (deadline). It works information (deadline). It works globally from a population, not a globally from a population, not a single point.single point.

Page 6: CMPE 511 COMPUTER ARCHITECTURE

Genetic Algorithm Based Task Genetic Algorithm Based Task Allocation IIAllocation II

The operations are stochastic, The operations are stochastic, not deterministic (Crossover, not deterministic (Crossover, Mutation)Mutation)

The individuals whose utilization The individuals whose utilization is lower than or equal to is lower than or equal to predefined node utilization are predefined node utilization are the fittest (It can not exceed 1) the fittest (It can not exceed 1)

Page 7: CMPE 511 COMPUTER ARCHITECTURE

LEneS (Low Energy LEneS (Low Energy Scheduling) IScheduling) I It is one of first task It is one of first task

allocation/scheduling algorithms allocation/scheduling algorithms considering energy saving.considering energy saving.

Fundamentally uses DVS (Dynamic Fundamentally uses DVS (Dynamic Voltage Scaling).Voltage Scaling).

The tasks can be done on a longer The tasks can be done on a longer time as long as the deadline of the time as long as the deadline of the all tasks is not exceeded.all tasks is not exceeded.

It is a variant of list-scheduling It is a variant of list-scheduling (assign task to the node offering (assign task to the node offering earliest finish time) with energy-earliest finish time) with energy-sensetivity.sensetivity.

Page 8: CMPE 511 COMPUTER ARCHITECTURE

LEneS IILEneS II

Page 9: CMPE 511 COMPUTER ARCHITECTURE

LEneS IIILEneS III

Take advantage of slack times.Take advantage of slack times. As long as deadline not exceeded, run on As long as deadline not exceeded, run on

low voltages.low voltages.

Page 10: CMPE 511 COMPUTER ARCHITECTURE

BEATA (Balanced Energy-BEATA (Balanced Energy-Aware Task Allocation) IAware Task Allocation) I It is a heuristics proposed for soft It is a heuristics proposed for soft

real-time heterogeneous embedded real-time heterogeneous embedded systems.systems.

It assumes no DVS mechanisms. It It assumes no DVS mechanisms. It assumes distinct computation time, assumes distinct computation time, communication time, communication communication time, communication capacities..vs.capacities..vs.

It assumes all nodes are connected It assumes all nodes are connected by a single-hop wired or wireless by a single-hop wired or wireless network.network.

Page 11: CMPE 511 COMPUTER ARCHITECTURE

BEATA IIBEATA II

Page 12: CMPE 511 COMPUTER ARCHITECTURE

BEATA IIIBEATA III

The total energy consumed by The total energy consumed by the network is the sum of energy the network is the sum of energy consumed by active and idle consumed by active and idle nodes and active and idle links.nodes and active and idle links.

It is a variant of list-scheduling.It is a variant of list-scheduling. The idea is assigning the task to The idea is assigning the task to

the node consuming less energy the node consuming less energy among a predefined number of among a predefined number of nodes completing it fast.nodes completing it fast.

Page 13: CMPE 511 COMPUTER ARCHITECTURE

BEATA IVBEATA IV

Page 14: CMPE 511 COMPUTER ARCHITECTURE

Constraints of embedded Constraints of embedded systems:systems:

TimeTime Area (processing power, memory)Area (processing power, memory) EnergyEnergy CostCost

(market size expected at more than (market size expected at more than $100 billion in 2006)$100 billion in 2006)

Page 15: CMPE 511 COMPUTER ARCHITECTURE

Energy Balanced Task AllocationEnergy Balanced Task Allocation

The goal is to balance the energy The goal is to balance the energy dissipation of the elements during each dissipation of the elements during each period of the application with respect to the period of the application with respect to the remaining energy of elements, such that remaining energy of elements, such that the system lifetime is maximized.the system lifetime is maximized.

A single-hop cluster of homogeneous A single-hop cluster of homogeneous sensor nodes connected through multiple sensor nodes connected through multiple wireless channels is considered.wireless channels is considered.

Page 16: CMPE 511 COMPUTER ARCHITECTURE

Clustering:Clustering:Different ways to cluster a task graph:

Page 17: CMPE 511 COMPUTER ARCHITECTURE

Procedure:Procedure:

An assignment of all the tasks to An assignment of all the tasks to onto the elements,onto the elements,

The setting of voltage levels for The setting of voltage levels for tasks,tasks,

The scheduling of the The scheduling of the computation / communication computation / communication activities, specified by the start activities, specified by the start and finish time of activities.and finish time of activities.

Page 18: CMPE 511 COMPUTER ARCHITECTURE

Integer Linear Programming:Integer Linear Programming: computation and communication activities computation and communication activities

with precedence constraints are forced by with precedence constraints are forced by Constraint set 1Constraint set 1

Page 19: CMPE 511 COMPUTER ARCHITECTURE

Integer Linear Programming:Integer Linear Programming: computation and communication activities computation and communication activities

that do not have precedence constraints an that do not have precedence constraints an extra set forced by Constraint set 2extra set forced by Constraint set 2

Page 20: CMPE 511 COMPUTER ARCHITECTURE

Integer Linear Programming:Integer Linear Programming:

In Constraint set 3, the system lifetime is In Constraint set 3, the system lifetime is calculatedcalculated

Overall ILP formulation

Page 21: CMPE 511 COMPUTER ARCHITECTURE

Heuristic approach:Heuristic approach: Assuming that the voltage levels Assuming that the voltage levels

of all tasks are set to the highest of all tasks are set to the highest optionsoptions

In the first phase, the tasks are In the first phase, the tasks are grouped into clusters with the grouped into clusters with the goal to minimize the overall goal to minimize the overall execution time of the applicationexecution time of the application

Page 22: CMPE 511 COMPUTER ARCHITECTURE

Heuristic approach:Heuristic approach: In the second phase, clusters In the second phase, clusters

are assigned onto the elements are assigned onto the elements such that the energy dissipation such that the energy dissipation of each element is proportional of each element is proportional to the remaining energy of the to the remaining energy of the element.element.

Page 23: CMPE 511 COMPUTER ARCHITECTURE

Heuristic approach:Heuristic approach: In the last phase, the system In the last phase, the system

lifetime is maximized by lifetime is maximized by lowering the voltage levels of of lowering the voltage levels of of tasks.tasks.

Page 24: CMPE 511 COMPUTER ARCHITECTURE

Example:Example:

An application example;

a) Application graph

b) Time and energy costs for executing tasks at voltage levels Vh and Vl

Page 25: CMPE 511 COMPUTER ARCHITECTURE

Clustering steps for the exampleClustering steps for the example

Page 26: CMPE 511 COMPUTER ARCHITECTURE

Simulation results:Simulation results:

Lifetime improvement for small scale problems (3 sensor nodes, 3 voltage levels, 2 channels, CCR=1)

a)lifetime improvement achieved by the ILP-based approach

b)perfomance comparison of the ILP-based approach and the 3-phase heuristic.

Page 27: CMPE 511 COMPUTER ARCHITECTURE

Simulation results:Simulation 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 (CCR=4)

Page 28: CMPE 511 COMPUTER ARCHITECTURE

Simulation results:Simulation results:

Impact of variation in number of voltage levels (10 sensor nodes, 4 channels, 60 tasks, CCR=2)

Page 29: CMPE 511 COMPUTER ARCHITECTURE

Simulation results:Simulation 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 (Ci=10-7)

b) small energy/time ratio for communication activities (Ci=10-6)

Page 30: CMPE 511 COMPUTER ARCHITECTURE

Simulation results from real world:Simulation results from real world:

Lifetime improvement for the matrix factorization algorithm (10 sensor nodes, 8 voltage levels, 4 channels, 3 modulation levels)

a) u=0.5

b) u=0.8

Page 31: CMPE 511 COMPUTER ARCHITECTURE

Simulation results from real world:Simulation results from real world:

Lifetime improvement for the FFT algorithm (10 sensor nodes, 8 voltage levels, 4 channels, 3 modulation levels)

a) u=0.5

b) u=0.8

Page 32: CMPE 511 COMPUTER ARCHITECTURE

ConclusionsConclusions

Task allocations are design to fulfill different constraints Task allocations are design to fulfill different constraints (mostly time, but also energy).(mostly time, but also energy).

Optimal solutions due to including integer programming Optimal solutions due to including integer programming can not be found in a realistic time. Because of this, can not be found in a realistic time. Because of this, heuristics or genetic algorithms are used.heuristics or genetic algorithms are used.

Energy constraint is the crucial constraint in embedded Energy constraint is the crucial constraint in embedded system. Since energy can be saved by using low power system. Since energy can be saved by using low power during computation, there is a trade-off between time and during computation, there is a trade-off between time and energy.energy.

Heuristics for energy savings are either based on Heuristics for energy savings are either based on individual power consumption or on network (total) energy individual power consumption or on network (total) energy consumption.consumption.

Different heuristics are suggested, which depend on Different heuristics are suggested, which depend on different assumptions (homogenous or heterogeneous...)different assumptions (homogenous or heterogeneous...)

Any other types energy saving methods can be proposed Any other types energy saving methods can be proposed based on new based on new solutionssolutions(e.g. new communication (e.g. new communication schemes)schemes)

Page 33: CMPE 511 COMPUTER ARCHITECTURE

ReferencesReferences B.B. Korousic-Seljak Korousic-Seljak, J.E., J.E. Cooling,Cooling, “ “Optimization of Optimization of

MMultiprocessor ultiprocessor RReal-eal-TTime ime EEmbedded mbedded SSystem ystem SStructurestructures”, ”, Proceedings, 7th MediterraneanProceedings, 7th Mediterranean ElectrotechnicalElectrotechnical Conference,Conference, V Vol.1ol.1, pp., pp.313313--316316, , 12-14 12-14 April 1994 April 1994 ..

F. Gruian, K. Kuchcinski, “ LEneS: Task Scheduling for F. Gruian, K. Kuchcinski, “ LEneS: Task Scheduling for Low-Energy Systems Using Variable Supply Voltage Low-Energy Systems Using Variable Supply Voltage Processors”, Proceedings, Asia and South Pacific Design Processors”, Proceedings, Asia and South Pacific Design Automation Conf.,pp. 449-455, 30 Jan.-2 Feb. 2001.Automation Conf.,pp. 449-455, 30 Jan.-2 Feb. 2001.

T. Xie, X. Qin, M. Nijim, “Solving Energy-Latency T. Xie, X. Qin, M. Nijim, “Solving Energy-Latency Dilemma: Task Allocation for Parallel Applications in Dilemma: Task Allocation for Parallel Applications in Heteregeneous Embedded Systems”, Proceedings, Inter. Heteregeneous Embedded Systems”, Proceedings, Inter. Conf. on Parallel Processing, pp. 12-22, 14-18Aug. 2006.Conf. on Parallel Processing, pp. 12-22, 14-18Aug. 2006.

Y. Yu, V. K. Prasanna, “Energy-Balanced Task Allocation Y. Yu, V. K. Prasanna, “Energy-Balanced Task Allocation for Collaborating Processing in Wireless Sensor for Collaborating Processing in Wireless Sensor Networks”, Mobile Networks and Applications, Vol. 10, pp. Networks”, Mobile Networks and Applications, Vol. 10, pp. 115-131, 2005.115-131, 2005.

M. A. Weiss, “Data Structures & Algorithms Analysis in M. A. Weiss, “Data Structures & Algorithms Analysis in C++“, 2nd Ed., Addison Wesley Longman, 1999.C++“, 2nd Ed., Addison Wesley Longman, 1999.