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
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
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
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)
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
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
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
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
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
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
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
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
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
…
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
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
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
…
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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, …
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
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