HardwareSoftware Copartitioning for Distributed Embedded Systems 1 Outline
Hardware-Software Co-partitioning for Distributed Embedded Systems 1
Outline 1. Introduction 2. Related Work 3. Distributed Embedded System and System Model 4. Multi-Level Partitioning 5. Case Study 2
1. Introduction • Hardware-Software Codesign • Distributed Embedded System • Motivation Ø Ø Task Graph Physical Restrictions • Distributed Embedded System Codesign (DESC) Ø Ø Ø Object Modeling Technique (OMT) Linear Hybrid Automata (LHA) SES Models 3
1. Introduction (cont’) • Multi-Level Partitioning Ø Ø Partitioning Algorithm Sharing, Clustering • Case Studies 4
2. Related Work • Target Embedded System Ø Ø 1 -CPU and 1 -ASIC Topology n-CPU and m-ASIC Topology ü ü Optimal Codesign Heuristic Codesign 5
2. Related Work (cont’) • Codesign of 1 -CPU and 1 -ASIC Topology Ø Ø Ø Kumar et al. 1993 Kalavade and Lee 1993 Thomas et al. 1993 Gupta and De Micheli 1993 Barros et al. 1994 6
2. Related Work (cont’) • Codesign of n-CPU and m-ASIC Topology Ø Optimal Codesign Approaches: ü Mixed integer linear programming Prakash and Parker 1992 ü Exhaustive search Wolf 1994, Haworth et al. 1993 D’Ambrosio and Hu 1994 7
2. Related Work (cont’) Ø Heuristic Codesign Approaches: Iterative and Constructive Iterative: Dick and Jha 1998 --- MOGAC, CORDS Dick and Jha 1999 --- MOCYN ü 8
2. Related Work (cont’) ü Constructive: Wolf 1996 --- object-oriented Yen and Wolf 1996 --- sensitivity-driven Dave, Lakshminarayana, and Jha 1999 --- COSYN Dave and Jha 1999 --- COFTA Dave and Jha 1998 --- COHRA Our proposed: Distributed Embedded System Codesign (DESC) 9
3. Distributed Embedded Systems and System Models • An embedded computer system is a system which uses computers but is not a generalpurpose computer. • In 1971, there were about 142, 000 computers world-wide. • In 1999, there are now some 350 to 400 million personal computers alone and at least of magnitude more embedded devices. 10
3. Distributed Embedded Systems and System Models (cont’) • There are several reasons to build distributed hardware engine for embedded system Ø Ø Ø Cheaper Faster response time The devices control may be physically distributed 11
3. Distributed Embedded Systems and System Models (cont’) • System Models Ø Object Modeling Technique (OMT) Models ü ü ü Object Model Dynamic Model Functional Model 12
3. Distributed Embedded Systems and System Models (cont’) Ø Linear Hybrid Automata (LHA) Models ü ü Ø Internal system model For verifying systems SES Models ü SES/workbench is a popular modeling and simulation tool for system performance evaluation 13
4. Multi-Level Partitioning • Multi-Level Partitioning (MLP) Three Main Phases Ø Ø Ø Codesign Space Exploration (CSE) System Structural Partitioning (SSP) Binary Search Copartitioning (BSC) 14
Overall Flow Chart of Multi-Level Partitioning 15
Detailed Flow Diagram of Multi-Level Partitioning 16
4. Multi-Level Partitioning (cont’) CPD: Cost-Performance Difference where x is a object 17
4. Multi-Level Partitioning (cont’) • CPU/ASIC Sharing Threshold Distance (STD) SLI: Subsystem Location Inter-distance 18
4. Multi-Level Partitioning (cont’) Interconnect Cost (IC) Model IC (X 1, X 2) = α × SLI(S 1, S 2) × #Link(X 1, S 2) × Ø BW(X 1, S 2) + EC(X 1) SLI: Subsystem Location Inter-distance S 1 and S 2 : Subsystems X 1 and X 2 : A component (PE or ASIC) α : A parameter that depends on the interconnection technology #Link(X 1, S 2) : The number of links between X 1 and S 2 BW(X 1, S 2) : The communication bandwidth between X 1 and S 2 EC(X 1) : The cost for enhancing X 1 such that both S 1 and S 2 can use X 1. 19
4. Multi-Level Partitioning (cont’) Algorithm 5. 2 Share Components Algorithm Share_Components(s){ /* s=<s 1, s 2, …, s >, si=(si 1, si 2) where si 1 is the number of PE in subsystem Si and si 2 is the number of ASIC in subsystem Si. si 1, si 2 {0, 1, ……} */ for (i = 1, i , i++) { for (j = i, j , j++) { if SLI(si, sj) STD { if (si 1 0 sj 1 0) Share_PE(Si, Sj); /* Refer to Algorithm 5. 3 */ if (si 2 0 sj 2 0) Share_ASIC(Si, Sj); /* Refer to Algorithm 5. 4 */ } } } } 20
4. Multi-Level Partitioning (cont’) • Hardware Clustering and Software Grouping Ø Ø In DESC, hardware clustering is based on Kernighan and Lin basic graph partitioning algorithm, but it is enhanced to include DEMS characteristics. Software grouping technique similar to load balancing on multiple processors 21
4. Multi-Level Partitioning (cont’) • Analysis and Validation of MLP Ø Complexity analysis r: the number of objects : the number of subsystems 22
5. Case Studies • Vehicle Parking Management System (VPMS) • Examples of Sharing and Clustering in MLP • Application of MLP to Coal Mine System 23
5. Case Studies (cont’) • Vehicle Parking Management System (VPMS) Ø VPMS Specifications ü ü ü A VPMS consists of three subsystems: ENTRY management, EXIT management, and DISPLAY. An ENTRY (or an EXIT) subsystem consists of three parts: a ticket facility, a gate controlled by a gate-motor, and a pair of sensors. A DISPLAY subsystem 24
7. Case Study (cont’) Ø Constraints for the VPMS system ü ü ü A maximum cost of $1, 300, A maximum display response time of 14, 000 µs, and A maximum ENTRY (EXIT) gate response time of 250 µs. 25
5. Case Study (cont’) Ø Specification and Mapping of VPMS is described using OMT models consisting of Object Dynamic, and Functional models. ü 26
Object Model of VPMS 27
Dynamic Model of a DISPLAY Subsystem 28
Functional Model of a DISPLAY Subsystem 29
5. Case Study (cont’) • LHA Model of VPMS Ø Hardware LHA Model Ø Software LHA Model 30
Hardware LHA of a DISPLAY Subsystem 31
Software LHA of a DISPLAY Subsystem 32
5. Case Study (cont’) • SES Models Ø Using SES/workbench Model ü A car-simulator ü An ENTRY management subsystem ü An EXIT management subsystem ü A DISPLAY subsystem 33
5. Case Study (cont’) Ø SES Model of a DISPLAY Subsystem 34
5. Case Study (cont’) • Applying MLP to VPMS 35
5. Case Study (cont’) 36
5. Case Study (cont’) • VPMS Emulation Ø Block Diagram for Prototype D(SC, HS, SM) 37
5. Case Study (cont’) Ø VPMS Emulation Results 38
5. Case Study (cont’) • Examples of Sharing and Clustering in MLP Ø Ø Ø Sharing and clustering techniques in MLP based on several variants of the VPMS case study. How object oriented modeling can be advantageous in hierarchical partitioning. Coal mine control and monitoring system 39
Advantage of Sharing in MLP 40
Advantage of Clustering in MLP 41
- Slides: 41