16
SOFTWARE SYNTHESIS FOR MULTI-CORES SOFTWARE SYNTHESIS FOR MULTI-CORES Alberto Sangiovanni-Vincentelli The Edgar L. and Harold H. Buttner Chair of EECS University of California at Berkeley Co-Founder, CTA and Member of the Board Cadence Design Systems

SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

SOFTWARE SYNTHESIS FOR MULTI-CORESSOFTWARE SYNTHESIS FOR MULTI-CORES

Alberto Sangiovanni-VincentelliThe Edgar L. and Harold H. Buttner Chair of EECSUniversity of California at Berkeley

Co-Founder, CTA and Member of the BoardCadence Design Systems

Page 2: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Intel MXP5800ArchitectureIntel MXP5800Architecture

• Highly concurrent heterogeneous architecture• Eight Image Signal Processors(ISPs) with mesh interconnect• Low overhead blocking read, blocking write operations

Page 3: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Inside Each ISPInside Each ISP

• Heterogeneous programming elements(PEs)• Two hardware accelerators• Memory command handler is a programmable DMA

Page 4: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

The JPEG Encoder ApplicationThe JPEG Encoder Application

Page 5: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Specification

Analysis

Dev

elop

men

t Pro

cess

BusesBusesMatlab

CPUs Buses OperatingSystems

Behavior Components Virtual Architectural Components

C-CodeIPs

Dymola

ECU-1 ECU-2

ECU-3Bus

f1 f2

f3

Behavior Platform

Mapping

Performance Analysis

Refinement

Evaluation ofArchitectural

and Partitioning Alternatives

Implementation

Separation of Concerns (ca. 1990)Separation of Concerns (ca. 1990)

Page 6: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

PlatformDesign-Space

Export

PlatformMapping

Architectural SpaceApplication Space

Application Instance Platform Instance

Platform-Based DesignPlatform-Based Design

Platform: library of resources defining an abstraction layer with interfaces that allow legal connections

• Resources do contain virtual components i.e., placeholders that will be customized in the implementation phase to meet constraints

• Very important resources are interconnections and communication protocols

© Alberto Sangiovanni-Vincentelli. All rights reserved.

6

Page 7: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Learning from logic synthesisLearning from logic synthesis

d+e b+h

t4’

at2+ct1t3+fgh

b’ h’

a

d’ e’g

f

c

inv(1) nand2(2)

nor(2)

aoi21 (3)

xor (5)

nand3 (3)

oai22 (4)

nor3 (3)F

fgdehbac

nand3(3)

oai21(3)

oai21 (3)

and2(3)

inv(1)nand2(2)

High level function model Gate library (platform)

Function model in netlist

Gate library in netlist

Technology Mapping (covering )

Mapped design

- Separation of func and arch- Common language for funcand arch netlists (Boolean logic, NAND2 gate)- Automatic mapping

restructuring restructuring

Page 8: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Proposed software synthesis flowProposed software synthesis flow

Function Model Architecture Platform

restructuring restructuring

Stage 1: Common modeling domain (CMD) selectionCommon semantics for func and archPrimitives to decide abstraction level

Function Modelin CMD

T2T1

T5

T3

T6T4 Architecture Model in CMDStage 2: Automatic

mapping

E1 E2 E3

B1

E1 E2 E3

B1

T1 T2T3

T4

Mapped Design in CMD

Stage 3: Code generation

Page 9: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Challenges in the flow Challenges in the flow

• Stage 1: Common modeling domain selection Various models of computation exist in system level. Trade-off between expressiveness and ease of manipulation

when selecting the common semantics. Trade-off between granularity and optimality when selecting the

primitives.

• Stage 2: Automatic mapping Various constraints and objectives. Domain-specific algorithms may be used albeit not necessary.

• Stage 3: Code generation Communication interface synthesis maybe needed to guarantee

correct semantics.

Page 10: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Choosing the common MoCChoosing the common MoC

Page 11: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Covering problem after CMD selectionCovering problem after CMD selection

• Symbols: Function primitive instances : Architecture primitive instances : Mapping decision variables : Architecture selection variables: Quantities (power, area, bandwidth…):

General covering formulation

),...,,( 21 nfffF =),...,,( 21 maaaA =

jas

tataf jjiQQ ,,,

ji afd ,

Function covering constraints

Architecture selection constraints

Quantity constraints

Objective functions

Domain specific.Determines complexity!

Page 12: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Stage 1: CMD selection – common semantics

D = C PN (PD)

F = C SR (PF)

A = C LTTA (PA)

C1 = C LTTA (P1=PF’ U PA)

C2 =C SR (P2=PF U PA’)

Original FunctionModeling Domain

Original ArchitectureModeling Domain

CMD Selection

1. Process Networks (PN): expressive but high modeling complexity. Need transformation of both func and arch models.

2. Loosely time triggered architecture (LTTA): transformation of func model to support asynchronous communication.

3. Synchronous reactive (SR): transformation of the arch to support synchronous communication, by applying following protocols.

• Clock synchronization.• Constraints on task periods.

Chosen in this case study

Page 13: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Stage 2: covering problemFunctional Model Architectural Model

Covering variables- Task to ECU- Signal to message- Message selection- Priority- Period

Quantity constraints and objective functions - End-to-end latency- Utilization- Extensibility - ……

Variety of algorithms- mathematical programming- heuristics- meta-heuristics- machine learning- ……

ECU1 ECU2

ECU3 ECU4

BUS1

BUS2

IRSensor

WheelSensor

FusionTask

ObjectID Task

Brake Act.

Nav.Task

150 ms

Primitives: tasks, signals Primitives: ECUs, messages on buses

Page 14: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

After mapping- Meet all requirements- Total latency from 36486ms in manual design to 12900ms

Allocation & priority synthesis results

End to end latencies

...ECU1 ECU2

...ECU20 ECU21

...

...ECU61 ECU62

Function Model- 41 Tasks- 83 Signals- 171 paths

Architecture platform- 9 ECUs- single bus

Mapping

Page 15: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Case studies in other domains

• Building automation domain [1] Similar semantics as in automotive – synchronous function model and

LTTA architecture platform. Also choose SR as the common semantics, however additional timing

constraints are added to the architecture for preserving synchronism, as we consider the physical interaction with environment.

Mapping leverages COSI for communication network synthesis.

• Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics for both function and architecture are dataflow. Challenge is to choose the proper abstraction level. Different levels are

explored and compared through choices of primitives.

[1] “A Design Flow for Building Automation and Control Systems”, 31st RTSS, 2010. [2] “JPEG Encoding on the Intel MXP5800: A Platform-Based Design Case Study”, ESTIMedia’05, 2005.

Page 16: SOFTWARE SYNTHESIS FOR MULTI-CORESMapping leverages COSI for communication network synthesis. • Multimedia domain [2] JPEG encoder application. Intel MXP architecture platform. Semantics

Concluding remarksConcluding remarks

• Software (and hardware) synthesis based on a formal mapping procedure Formally determines the semantics and abstraction level of the

design by choosing a common modeling domain. Automatic and optimal mapping algorithms. Generality – applied to various domains with different models of

computation as well as different implementation platforms. Domain-specific mapping algorithms may be leveraged in the framework.

Optimality – trade-off between complexity and mapping space through the selection of CMD.

Reusability – common semantic selection requires designers’ expertise. However proper selection is typically general for particular domains.