Sei sulla pagina 1di 28

GCLP ALGORITHM FOR HARDWARE SOFTWARE PARTITIONING PROBLEM

OVERVIEW
y INTRODUCTION y HARDWARE SOFTWARE PARTITIONING y HARDWARE SOFTWARE PARTITIONING PROBLEMS y GCLP ALGORITHM y ALGORITHM FOUNDATION y GC/LP y MODIFIED GCLP ALGORITHM FOR MULTIFUNCTION

SYSTEMS y CONCLUSION y REFERENCES

INTRODUCTION
y The application specific hardware is much faster than software, y

y y

but it is more expensive. Software is cheap and provides the great flexibility to modify, append the features and maintain. But software is slow with respect to hardware due to its sequential execution nature. Hence in ideal system performance critical components should be realized in hardware and non critical components with variable values to be in software. It is very challenging to create an ideal system. Traditionally, partitioning was carried out manually, however, as the system to design have become more and more complex so need of portioning automation arises.

Partitioning Algorithm
y GCLP:

Global Criticality/Local Phase algorithm


y Introduced by Kalavade and Lee in 1994. y Goal:

To generate high quality partitioning/scheduling problem.

solutions

for

Partitioning
y In embedded system design the term partitioning combines two

tasks: Allocation, i.e. the selection of architectural components Mapping, i.e. the binding of system functions to these components.

Hardware Software Partitioning


y Goal: Map each node of a directed acyclic graph (DAG) to

hardware or software (binary choice) and to determine the schedule for each node.

y DAG: The task level description of an application is specified as

SDF (synchronous data flow) graph, then SDF is translated to DAG representing precedence relationship among the nodes. A DAG is input to partitioning tool.

Hardware Software Partitioning Problem

y Given a DAG, area and time estimates for hw and sw mapping of

all nodes, and communication cost, subject to resource capacity constraints and deadline D, determine for each node i, the hw or sw mapping(Mi) and the start time for the execution of the node (schedule ti), such that the total area occupied by the nodes mapped to hardware is minimum.

Partitioning Algorithm (with various notations)


Graph parameters {G,D, ahi , asi,thi, tsi sizei, }

GCLP Algorithm Architecture constraints {AH,AS, ahcomm , ascomm ,tcomm} Outputs Mi, ti

Graph Parameters
NOTATION G D ahi asi thi tsi sizei INTERPRETATION
DAG G=(N,A)where N is set of nodes representing computations and A is the set of arcs representing precedences. Dead line constraint. The execution time of the graph shouldnt exceed D cycles. Hardware area estimate for node i. Software size estimate for node i. Hardware execution time estimate for node i. Software execution time estimate for node i. Size of node i(number of atomic operations).

Architectural Constraints
NOTATION AH AS INTERPRETATION Hardware capacity constraint(total area of nodes mapped to hardware cannot exceed AH) Software capacity constraint(total area of nodes mapped to software cannot exceed AS) Hardware required for the transfer of one data sample between hardware and software. Software required for the transfer of one data sample between hardware and software. Number of cycles required to transfer one sample of data between hardware and software.

ahcomm ascomm

tcomm

Algorithm output

NOTATION Mi ti

INTERPRETATION Mapping for node i(0 for software and 1 for hardware) Start time for the execution of node i(schedule)

Algorithm Foundation
y Uses list scheduling: serial traverse the node list to select a

mapping that minimizes objective function y Objective functions:  Minimize finish time of the node or  minimize area of the node The GCLP algorithm adaptively selects an appropriate mapping objective at each step to determine the mapping and the schedule.

Algorithm Foundation(contd)

Fig: Selection of the mapping objective at each step of GCLP.

GC-LP
y GC: Global Criticality is a look-ahead method that estimates

time criticality of the algorithm. If time is critical, the objective function that minimizes finish time is selected, else the one that minimizes area.
y LP: LP is a classification of nodes based on their heterogeneity

and intrinsic properties. Each node is classified as an extremity (local phase 1), repeller (local phase 2), or normal (local phase 3) node. A measure called local phase delta quantifies the local mapping preferences of the node.

GCLP Algorithm

GCLP Algorithm(Contd)
y N represents the set of nodes in the graph y NU(NM) is the set of unmapped(mapped) nodes at the current step. y NU is initialized to N. y The algorithm maps one node per step. y At the beginning of each step, the global time criticality measure

GC is computed. y GC is a global measure of time criticality at each step of the algorithm, based on the currently mapped and unmapped nodes and the deadline requirements. y Unmapped nodes whose predecessors have already been mapped and scheduled are called ready nodes.

GCLP Algorithm(Contd)
y A node is selected for mapping from the set of ready nodes using

y y

y y y

an urgency criterion, i.e., a ready node that lies on the critical path is selected for mapping. The local phase of the selected node is identified and the corresponding local phase delta is computed. GC and the local phase delta are then used to select the mapping objective. Using this objective, the selected node is assigned a mapping (Mi). The mapping is also used to determine the start time for the node (ti). The process is repeated |N| times until no nodes are left unmapped.

Global Criticality(GC)
y GC is a global lookahead measure that estimates time criticality

at each step of the algorithm. Steps: y The hardware/software mapping and schedule for the already mapped nodes is known. y Using this schedule and the required deadline D, the remaining time Trem is first determined. y All the unmapped nodes are mapped to software and the corresponding finish time TS is computed. y Suppose that TS exceeds the allowed deadline D. Some of the unmapped nodes have to be moved from software to hardware to meet the deadline.

Example Used For Computing GC

Local Phase(LP)
y GC is an averaged measure over all the unmapped nodes at each

step. y This desensitizes GC to the local properties of the node being mapped. y To emphasize the local characteristics of nodes, classify nodes as
 Extremities (or local phase 1 nodes),  Repellers (or local phase 2 nodes),  Normal nodes (or local phase 3 nodes).

Extremities(Local Phase 1)
y The bottleneck resource in hardware is area, while the bottleneck

resource in software is time. y Extremities are nodes that consume a disproportionately large amount of the bottleneck resource on a particular mapping (relative to the other mapping). y A hardware extremity node is defined as a node that consumes a large area in hardware, but a relatively small amount of time in software. y A software extremity node is defined as a node that takes up a large amount of time in software, but a relatively small amount of area when mapped to hardware.

Local Phase 2 or Repeller Nodes


y GCLP uses the concept of repellers or local phase 2 nodes to

perform on-line swaps of similar nodes between hardware and software. y To do this, identify certain intrinsic nodal properties (called repeller properties) that reflect the inherent suitability of a node to either a hardware or a software mapping. y Bit operations are handled better in hardware, while memory operations are better suited to software. y As a result, a node with many bit manipulations, relative to other nodes, is a software repeller, while a node with a lot of memory operations, relative to other nodes, is a hardware repeller.

Local Phase 3 or Normal Nodes

y A node that is neither an extremity nor a repeller is defined to be

a local phase 3 node or a normal node.


y The threshold is set to its default value (0.5) when a normal node

is mapped. Thus the mapping objective is governed by GC alone.

Modified GCLP algorithm for Multifunction Systems


y Optimizing the design of multifunction embedded systems such

as multistandard audio/video codecs and multisystem phones.


y Such systems run a prespecified set of applications, and any

one of the applications is selected at a run time, depending on system parameters.


y Modified algorithm considers global preferences across the

application set as well as the preference of each individual application to generate an efficient overall solution while ensuring that timing constraints of each application are met.

Partitioning Multiple Applications


y Two methods for partitioning multiple applications. y These methods use modified versions of the GCLP algorithm. y HOP(Hardware Bias for Common Node)

The commonality measures are used to bias the mapping decisions made by GCLP.
y CHOP(Consistency in Mapping Common Nodes)

The applications are ordered according to their relative criticality.

Conclusion
y The hardware-software codesign problem has received a lot of

attention recently. y The GCLP algorithm find the best implementation for a particular application.

hardware-software

y The algorithm maps the selected node to an implementation

(hardware or software) in each iteration.


y The key features of the algorithm are hardware area minimization

and meeting latency constraints.

REFERENCES
1. A. Kalavade, E. A. Lee, A Global Criticality/ Local Phase Driven Algorithm for the Constrained Hardware/Software Partitioning Problem, Proc. of CODESIC ASHE, Third Intl. Workshop on HardwarelSojhare Codesign, Grenoble,France, Sept. 22-24,1994. pp 42-48. 2. Kalavade and E.A. Lee, The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection., Journal of Design Automation for Embedded systems, Vol. 2,no. 2,March1997,pp. 126 -163. 3.Bastin,Martin Holzer Markus Rupp Improvements of the GCLP algorithm for HW/SW partitioning of task graphs Proc.of fourth Intl/conference Circuit Signals and Systems,Nov,2006,pp.107-113. 4.A. Kalavade, System-level codesign of mixed hardware-software systems, Ph.D. dissertation, University of California, Berkeley, CA, Sept.1995. 5. Kalavade and P.A.Subramanyam Hardware/Software Partitioning for Multifunction systems IEEE Trans. computer aided design of Integrated Circuits and systems, September 1998,pp.819837. 6. B. Knerr, M. Holzer, and M. RuppExtending The GCLP Algorithm For Hw/Sw Partitioning: A detailed Platform Model And Performance Improvements IEEE Austrochip 06,Oct 2006, Vienna Austria,pp 89-95.

THANK YOU!!!!!!!!

Potrebbero piacerti anche