21
Embedded Systems & Parallel Programming PeterM arw edel U niversity ofD ortm und,Germ any [email protected] //ls12-www.cs.uni-dortm und.de/~m arwedel //ww w.icd.de/es

Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

Embed Size (px)

Citation preview

Page 1: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

Embedded Systems &Parallel Programming

Peter MarwedelUniversity of Dortmund, Germany

[email protected]//ls12-www.cs.uni-dortmund.de/~marwedel

//www.icd.de/es

Page 2: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

A view on embedded systems (1)

Page 3: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 3 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

A view on embedded systems (2)

Main reason for buying is not information processing

Embedded systems (ES) = information processing systems embedded into a larger product

Areas:1. High performance signal processing2. Control intensive applications3. High-safety application

Tight power constraints, especially for mobile applications

Page 4: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 4 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Inherent Power Efficiency© H

ugo

De

Man

, IM

EC

, 2

007

GO

Ps/

J

Page 5: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 5 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Examples of Embedded Processors

© Hug

o D

e M

an,

IME

C,

200

7

½ of IPE; obviously heterogeneous processors

Page 6: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 6 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

• FAUST chip architecture 4G mobile

application 20 nodes with 23 IPs

are connected by a network

8MG / 0.13μ CMOS technology (STMicroelectronics)

NoC Example

t (mem. access) « t (communic.) try to avoid buffering of messages!

Page 7: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 7 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Programming modelsfor parallel embedded systems (1)

Page 8: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 8 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Problems with classical CS abstractions

Even the core 20th-century notion of computable is at odds with the requirements of embedded software. In this notion, useful computation terminates, but termination is undecidable. In embedded software, termination is failure-yet to get predictable timing, subcomputations must decidably terminate.

Ed Lee: Absolutely positively on time: What would it take? IEEE Computer, July, 2005

Finally an end to von-Neumann specifications?

Page 9: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 9 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Toward different models of computation

Page 10: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 10 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Other models of computation & approaches

• Various types of tasks graphs

• Kahn process networks

• Synchronous dataflow

• Partial differential equations

• Event queues

• Generated software

• ….

How much of this is used in practice already?

Page 11: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 11 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Generated software examples

After the successful use of SCADE on the A340, AIRBUS adopted it for several A380 projectshttp://www.esterel-technologies.com/ technology/success-stories/airbus.html

Production code generation directly from MATLAB®/Simulink®/Stateflow®

ANSI C code with the efficiency of handwritten code

Optimizations for individual processors Built-in simulation and testing

SCADE

DSPACE Targetlink

http://www.dspace.ltd.uk/ww/en/ltd/home/products/sw/pcgs/targetli.cfm

Page 12: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 12 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Task to Processor Mapping (1)

© L. Thiele et al.

Page 13: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 13 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Task to Processor Mapping (2)

Page 14: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 14 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Task to Processor Mapping (3)

Page 15: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 15 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Task to Processor Mapping (4)

Page 16: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 16 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Task to Processor Mapping (5)

Page 17: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 17 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

2nd example

Page 18: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 18 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Demonstrated parallelism: SymTA/S Screenshot

Page 19: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 19 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Parallel Accelerator: Triscend A7 CSoC

• ARM7TDMI + FPGA

Source: ©Triscend

Page 20: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 20 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Parallel Accelerator: Chameleon

• C/Verilog –based reconfigurable platform

Application of HPC techniques?

Page 21: Embedded Systems & Parallel Programming. - 2 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems

- 21 - P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007

Universität Dortmund

Conclusion

Parallel embedded systems are a reality Architectures include heterogeneous MPSoCs (also

NoCs), parallel accelerators. Multiple threads a potential problem Introduction of new models of computation realistic Higher level programming acceptable Parallel execution existing standard

• for ECUs

• for MPSoCs, NoCs

• for accelerators Situation different from HPC