eclipsecon europe 2015 · distribution many-core larger number of heterogeneous cores with...

35
1 © APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. EclipseCon Europe 2015 Harald Mackamul, Robert Bosch GmbH An Open Source Development Platform For Embedded Multi- and Many-Core Systems

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

1© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

EclipseCon Europe 2015

Harald Mackamul, Robert Bosch GmbH

An Open Source Development Platform

For Embedded Multi- and Many-Core Systems

Page 2: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

2© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

Demo / Screenshots of current release

APP4MC - Next steps

Page 3: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

3© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

Demo / Screenshots of current release

APP4MC - Next steps

Page 4: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

4© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

AMALTHEA

Timeline

2011 2012 2013 2014 2015 2016 2017

itea3.org/project/amalthea.htmlITEA2 Project ITEA2 Project itea3.org/project/amalthea4public.html

Developer

PreviewSept 2013

Release

1.0.3June 2014

Release

1.1.0Aug 2015

Release

1.1.1Oct 2015

Release

0.x

Eclipse Project Community

All releases were published underthe Eclipse Public License (EPL)

Page 5: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

5© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

AMALTHEA

Latest Open Source Releases

http://www.amalthea-project.org

Release 1.1.1

October 2015

Page 6: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

6© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

Demo / Screenshots of current release

APP4MC - Next steps

Page 7: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

7© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Challenges of Embedded Multi-Core

Software

Hardware

Software Distribution

FLASHFLASHRAMRAM

CoreCoreCore

local RAM

Memory Mapping

Store

Store

Load

Load

...

Data X

Data Y

Data ZData S

X

Z

Y

Y

Memory

Memory

Crossbar

Page 8: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

8© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Challenges of Embedded Multi-Core

Typical Paradigm of Single-Core Software

- Blackboard Architecture: Memory access is for “free”

- Integration challenge: scheduling of computation

Paradigm Change for Multi-/Many-Core

- Cross-Core Communication is expensive

- Synchronization leads to high overheads

- Memory location matters

- Integration challenge: scheduling of computation and communication

Sophisticated new tooling required for task distribution, memory

location optimization and performance analysis

Cross-core communication is a new resource bottleneck

Page 9: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

9© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

From Multi- to Many-Core

Multi-Core

Small number of homogenous

cores with shared memory

Mostly symmetric connectivity

(e.g. crossbar)

Limited impact on SW

distribution

Many-Core

Larger number of heterogeneous cores

with distributed memories

Increasingly heterogeneous connectivity

(Non-uniform Memory Access)

High impact on SW distribution

Today’s automotive Multi-Cores already have Many-Core characteristics

Page 10: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

10© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

- High level description

- Use cases

- Connections to other Eclipse projects

- Technical decisions and experiences

Demo / Screenshots of current release

APP4MC - Next steps

Page 11: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

11© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Processing, Simulation and Analysis

AMALTHEA4public

Simulation

t

t

ConstraintsPeriod T1 = 2msDeadline D1 = 1.5msPeriod T2 = 5msDeadline D2 = 5ms

CostsT1 takes 10µs on Core0, 20µs on Core3

HW Platform

SW

Application

Decisions

DecisionsRun T1 on Core0Run T2 on Core1Offset of T2 = 1ms

AMALTHEA

System

Model

“Performance Simulation” *

* Focus on Timing, Scheduling

Page 12: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

12© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Performance Simulation

Example of a timing / scheduling simulation*

*Commercial tool – not part of the open source project

Page 13: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

13© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Processing, Simulation and Analysis

SW Modeling

Initial model of software behavior

Simulation

Software Execution

Optimization

- Task distribution

- Memory mapping

System Modeling

- Hardware

- Constraints

AMALTHEA

Traces

AMALTHEA

System

Model

Partitioning

Identificationof initial tasks

Page 14: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

14© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Use cases @ BOSCH

Simulation& Analysis

AMALTHEA

System

Model

extract

Software

Structure

Runtime

Information

HW

Architecture

exchange

AMALTHEA

System

Model

Simulation& Analysis

software

data

Page 15: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

15© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Platform Architecture

3rd Party Tools / Custom Tools AMALTHEA Tools

AMALTHEATool Platform

Joint Model Repository

Variant Tool

Partititioning& Mapping

ComponentEditor

Enterprise Architect …

Rational Rhapsody V & V

Page 16: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

16© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Connection to other Eclipse Projects

SW Modeling

Simulation

Execution

Optimization

SystemModeling

TracesSystem

Model

Partitioning

Page 17: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

17© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Connection to other Eclipse Projects

SW Modeling

Simulation

Execution

Optimization

SystemModeling

TracesSystem

Model

Partitioning

planned extension

Timing

Annotations

Page 18: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

18© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Connection to other Eclipse Projects

SW Modeling

Simulation

Execution

Optimization

SystemModeling

TracesSystem

Model

Partitioning

to describe

Interfaces

Page 19: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

19© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Connection to other Eclipse Projects

SW Modeling

Simulation

Execution

Optimization

SystemModeling

TracesSystem

Model

Partitioning

implemented

BTF Import

BTF View

Page 20: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

20© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Eclipse Technology

Eclipse IDE for Automotive Software Developers

Xcore

-> Definition of the AMALTHEA Ecore model

Sphinx

-> Workspace Handling, Validation, Tree Editor

Xtend2

-> Code generation, model transformation

Page 21: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

21© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Tool platform AMALTHEA

Eclipse Technology

Lyo

-> OSLC (separate Java libraries, no bundles, not included in orbit)

Ecore Tools

-> Class diagrams (only limited connection to Xcore models)

Sirius

-> Graphical editors (first prototype)

Page 22: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

22© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

Demo / Screenshots of current release

APP4MC - Next steps

Page 23: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

23© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

AMALTHEA Model Editor

Page 24: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

24© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Examples

Page 25: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

25© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Tutorials

Page 26: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

26© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Data Models

Page 27: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

27© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Developer Guide

Page 28: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

28© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Developer Guide

Page 29: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

29© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Developer Guide

Page 30: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

30© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Platform Demo

Eclipse Help – Developer Guide

Page 31: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

31© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Agenda

APP4MC – Application Platform Project for MultiCore

AMALTHEA - Timeline and current project(s)

Challenges for embedded multi- and many-core systems

The AMALTHEA Platform

Demo / Screenshots of current release

APP4MC - Next steps

Page 32: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

32© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Project Activities

Eclipse Project APP4MC

http://projects.eclipse.org/projects/technology.app4mc

Page 33: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

33© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Project Activities

Eclipse Project APP4MC

Open Source Eclipse project is created

Current work: Committer Agreements, Code

refactoring, IP clearance, …

Page 34: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

34© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Project Activities

Timeline & future activities

- Architecture optimization

- Conceptual / Implementation

- Official Eclipse project

- Implementation

- Demonstrator

- Community

- Enhancement

- Maintenance

- Optimization

2015 2016 2017

Page 35: EclipseCon Europe 2015 · distribution Many-Core Larger number of heterogeneous cores with distributed memories Increasingly heterogeneous connectivity (Non-uniform Memory Access)

35© APP4MC - All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.

Evaluate the session