Hardware-Software Co-partitioning for Distributed Embedded Systems
2 Outline 1. Introduction 2. Related Work 3. Distributed Embedded System and System Model 4. Multi-Level Partitioning 5. Case Study
3 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
4 1. Introduction (cont’) Multi-Level Partitioning Partitioning Algorithm Sharing, Clustering Case Studies
5 2. Related Work Target Embedded System 1-CPU and 1-ASIC Topology n-CPU and m-ASIC Topology Optimal Codesign Heuristic Codesign
6 2. Related Work (cont’) Codesign of 1-CPU and 1-ASIC Topology Kumar et al Kalavade and Lee 1993 Thomas et al Gupta and De Micheli 1993 Barros et al. 1994
7 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 D’Ambrosio and Hu 1994
8 2. Related Work (cont’) Heuristic Codesign Approaches: Iterative and Constructive Iterative: Dick and Jha MOGAC, CORDS Dick and Jha MOCYN
9 2. Related Work (cont’) Constructive: Wolf object-oriented Yen and Wolf sensitivity-driven Dave, Lakshminarayana, and Jha COSYN Dave and Jha COFTA Dave and Jha COHRA Our proposed: Distributed Embedded System Codesign (DESC)
10 3. Distributed Embedded Systems and System Models An embedded computer system is a system which uses computers but is not a general- purpose 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.
11 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
12 3. Distributed Embedded Systems and System Models (cont’) System Models Object Modeling Technique (OMT) Models Object Model Dynamic Model Functional Model
13 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
14 4. Multi-Level Partitioning Multi-Level Partitioning (MLP) Three Main Phases Codesign Space Exploration (CSE) System Structural Partitioning (SSP) Binary Search Copartitioning (BSC)
Fig. 5.1 Overall Flow Chart of Multi-Level Partitioning Overall Flow Chart of Multi-Level Partitioning
Detailed Flow Diagram of Multi-Level Partitioning
17 where x is a object CPD: Cost-Performance Difference 4. Multi-Level Partitioning (cont’)
18 4. Multi-Level Partitioning (cont’) CPU/ASIC Sharing Sharing Threshold Distance (STD) SLI: Subsystem Location Inter-distance
19 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 Multi-Level Partitioning (cont’)
20 Algorithm 5.2 Share Components Algorithm Share_Components(s){ /* s=, s i =(s i1, s i2 ) where s i1 is the number of PE in subsystem S i and s i2 is the number of ASIC in subsystem S i. s i1, s i2 {0,1, ……} */ for (i = 1, i , i++) { for (j = i, j , j++) { if SLI(s i, s j ) STD { if (s i1 0 s j1 0) Share_PE(S i, S j ); /* Refer to Algorithm 5.3 */ if (s i2 0 s j2 0) Share_ASIC(S i, S j ); /* Refer to Algorithm 5.4 */ } 4. Multi-Level Partitioning (cont’)
21 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 4. Multi-Level Partitioning (cont’)
22 4. Multi-Level Partitioning (cont’) Analysis and Validation of MLP Complexity analysis r: the number of objects : the number of subsystems
23 5. Case Studies Vehicle Parking Management System (VPMS) Examples of Sharing and Clustering in MLP Application of MLP to Coal Mine System
24 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 5. Case Studies (cont’)
25 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. 7. Case Study (cont’)
26 Specification and Mapping of VPMS VPMS is described using OMT models consisting of Object Dynamic, and Functional models. 5. Case Study (cont’)
Object Model of VPMS
Dynamic Model of a DISPLAY Subsystem
Functional Model of a DISPLAY Subsystem
30 LHA Model of VPMS Hardware LHA Model Software LHA Model 5. Case Study (cont’)
Hardware LHA of a DISPLAY Subsystem
Software LHA of a DISPLAY Subsystem
33 SES Models Using SES/workbench Model A car-simulator An ENTRY management subsystem An EXIT management subsystem A DISPLAY subsystem 5. Case Study (cont’)
34 SES Model of a DISPLAY Subsystem 5. Case Study (cont’)
35 Applying MLP to VPMS 5. Case Study (cont’)
36 5. Case Study (cont’)
37 VPMS Emulation Block Diagram for Prototype D(S C, H S, S M ) 5. Case Study (cont’)
38 VPMS Emulation Results 5. Case Study (cont’)
39 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 5. Case Study (cont’)
Advantage of Sharing in MLP
Advantage of Clustering in MLP