Handling Challenges of Multi-Core Technology in Automotive Software Engineering

Similar documents
A Model-based Approach for Conditioning Software to Multi-Core using AUTOSAR

Taking the Right Turn with Safe and Modular Solutions for the Automotive Industry

AUTOSAR Method. Webinar

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW

AUTOSAR Software Design with PREEvision

10 th AUTOSAR Open Conference

ISO meets AUTOSAR - First Lessons Learned Dr. Günther Heling

Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018

AMDC 2017 Liviona Multi-Core in Automotive Powertrain and Next Steps Towards Parallelization

Automotive Networks Are New Busses and Gateways the Answer or Just Another Challenge? ESWEEK Panel Oct. 3, 2007

PREEvision at Porsche (Update 2018)

AUTOSAR design flow. Yoon-Jin Kim Application Engineer. July mentor.com/automotive

Software integration challenge multi-core experience from real world projects

10 th AUTOSAR Open Conference

The AUTOSAR Timing Model --- Status and Challenges. Dr. Kai Richter Symtavision GmbH, Germany

정형기법을활용한 AUTOSAR SWC 의구현확인및정적분석

NET. A Hardware/Software Co-Design Approach for Ethernet Controllers to Support Time-triggered Trac in the Upcoming IEEE TSN Standards

Agenda. > AUTOSAR Overview. AUTOSAR Solution. AUTOSAR on the way

AUTOSAR proofs to be THE automotive software platform for intelligent mobility

Introduction to Adaptive AUTOSAR. Dheeraj Sharma July 27, 2017

10 th AUTOSAR Open Conference

Ethernet Design Challenges The requirements and use of Ethernet with AUTOSAR

Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm

Experiences with AUTOSAR compliant Autocode generation using TargetLink

Scalable and Flexible Software Platforms for High-Performance ECUs. Christoph Dietachmayr Sr. Engineering Manager, Elektrobit November 8, 2018

The Adaptive Platform for Future Use Cases

A Multi-Core Basic Software as Key Enabler of Application Software Distribution

Product Information Embedded Operating Systems

New ARMv8-R technology for real-time control in safetyrelated

Model Based Development and Code Generation for Automotive Embedded Systems. April 26, 2017 Dr. Gergely Pintér, Dr. Máté Kovács thyssenkrupp Steering

Capita Selecta: Software engineering for automotive systems

Is This What the Future Will Look Like?

PREEvision Technical Article

Virtual Validation of Cyber Physical Systems

Arccore AB 2017, all rights reserved. Accelerating innovation

How to Integrate E2E in MICROSAR

Autonomous Driving From Fail-Safe to Fail-Operational Systems

Create, Embed, Empower. Crevavi Technologies Company profile

Harmonization of TSN parameter modelling with automotive design flows

Functional Safety on Multicore Microcontrollers for Industrial Applications

Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components

Virtualization of Heterogeneous Electronic Control Units Testing and Validating Car2X Communication

The Challenges of System Design. Raising Performance and Reducing Power Consumption

Adaptive AUTOSAR. Ready for Next Generation ECUs V

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software

Interconnecting Components

Virtual Hardware ECU How to Significantly Increase Your Testing Throughput!

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Compliance Verification Process for Ethernet ECUs

Tools and Methods for Validation and Verification as requested by ISO26262

The Safe State: Design Patterns and Degradation Mechanisms for Fail- Operational Systems

Isolation of Cores. Reduce costs of mixed-critical systems by using a divide-and-conquer startegy on core level

MATLAB Expo Simulation Based Automotive Communication Design using MATLAB- SimEvent. Sudhakaran M Anand H General Motors

10 th AUTOSAR Open Conference

SystemDesk - EB tresos Studio - TargetLink Workflow Descriptions

Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware.

Mentor Automotive. Vehicle Network Design to meet the needs of ADAS and Autonomous Driving

Failure Diagnosis and Prognosis for Automotive Systems. Tom Fuhrman General Motors R&D IFIP Workshop June 25-27, 2010

AUTOSAR System and Software Design with PREEvision

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

Modeling and Assessment of Safety Critical Systems

Analyzing the performance of CAN networks

Safety and Security for Automotive using Microkernel Technology

AUTOMATIC FUNCTIONALITY ASSIGNMENT TO AUTOSAR MULTICORE DISTRIBUTED ARCHITECTURES

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer

Designing a software framework for automated driving. Dr.-Ing. Sebastian Ohl, 2017 October 12 th

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software

SW-C Description. AUTOSAR SW-C n SW-C 3. Virtual Functional Bus. Deployment tools ECU2 AUTOSAR SW-C 3 AUTOSAR SW-C 2 AUTOSAR SW-C 1 RTE

10 th AUTOSAR Open Conference

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int

4. Hardware Platform: Real-Time Requirements

Introduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec

ReconOS: An RTOS Supporting Hardware and Software Threads

Object Fusion for an Advanced Emergency Braking System (AEBS) Jonny Andersson

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010

Current status and Future of AUTOSAR. Markus Bechter 7 th AUTOSAR Open Conference Oct. 22 nd -23 rd 2014, Detroit

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1.

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Impact of Platform Abstractions on the Development Workflow

Developing AUTOSAR Compliant Embedded Software Senior Application Engineer Sang-Ho Yoon

Generating Industry Standards Production C Code Using Embedded Coder

CAN FD - Flexible Tools for Flexible Data Rates

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Giancarlo Vasta, Magneti Marelli, Lucia Lo Bello, University of Catania,

Predictable hardware: The AURIX Microcontroller Family

MICROSAR-OS. Embedded Real-time Multitasking Operating Systems

Deriving safety requirements according to ISO for complex systems: How to avoid getting lost?

November 16, TTTech Computertechnik AG / TTTech Auto AG Copyright TTTech Auto AG. All rights reserved

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Adaptive AUTOSAR: Infrastructure Software for Advanced Driver Assistance. Chris Thibeault June 7, 2016

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering

Integration of Active Noise Control in future IVI system designs

A Reliable Gateway for In-vehicle Networks

Three basic multiprocessing issues

EtherCAT with MORPHEE 2, D2T s Automation System A fast and reliable communication with the test bed

AUTOBEST: A microkernel-based system (not only) for automotive applications. Marc Bommert, Alexander Züpke, Robert Kaiser.

Chapter 13: I/O Systems

IMPLEMENTATION OF SENSOR DIAGNOSIS BASED ON AUTOSAR

Cyber security mechanisms for connected vehicles

Transcription:

Model Based Development Tools for Embedded Multi-Core Systems Handling Challenges of Multi-Core Technology in Automotive Software Engineering VECTOR INDIA CONFERENCE 2017 Timing-Architects Embedded Systems GmbH Dr.-Ing. Michael Deubzer, CEO 18 July 2017

Agenda Multi-Core Technology in Automotive Systems Multi-Core Technology Challenges Timing Aspects in Multi-Core Systems A Model-Based Approach for Multi-Core Systems Verifying Timing in Multi-Core Systems Conclusion 2

Multi-core Technology in Automotive Systems 3

Multi-core Technology in Automotive Systems Increased Demand for Processing Capacity in Automotive Systems Zero Emission Autonomous Driving Car2x Interconnection 4

Multi-Core Technology in Automotive Systems Why multi-core gets standard Kurzweil, Ray; The Singularity Is Near; Viking, New York; 2005 http://www.extremetech.com/wp-content/uploads/2012/02/cpu-scaling.jpg 5

Multi-Core Technology in Automotive Systems New E/E Architecture for High-Performance Multi-core Systems ECU Gateway Engine ECU PT ECU PT ECU PT ECU PT ECU PT ECU PT Braking ECU CH ECU CH ECU CH ECU CH ECU CH ECU CH ECU B ECU B ECU B ECU B ECU B ECU Front Steering ECU Right ECU Performance Unit ECU Real-Time Unit Braking ECU Back ECU PT ECU PT ECU CH ECU CH Engine ECU Left ECU PT ECU PT Steering Today E/E Architecture Domain clusters with interconnected single-core ECUs One ECU per functional unit Possible Future E/E Architecture High-performance domain multicore ECUs Real-time ECUs for actuator control Integration of multiple functional units one ECU 6

Multi-core Technology Challenges 7

Multi-Core Technology Challenges Influencing Factors from Processor Hardware Single-Core Multi-Core Core 1 Core 1 Core 2 Core n L1 Cache L1 Cache L1 Cache L1 Cache Timer Unit RAM RAM 1 ROM 1 RAM 1 ROM 1 RAM n ROM n Bus Crossbar FLASH RAM 0 FLASH DMA Controller Timer Unit Sequential execution on one processing unit Single memory Single resource Allocating application on multiple processing units Allocating data on available memory modules Synchronizing access to memory and peripherals 8

Multi-core Technology Challenges Managing Data Exchange Across Application Software Task A Task B Core 1 Task A #1 #2 0x01 0x02 0x03 Mem 1 Task B # 1 # 2 Core 1 Task A 0x01 Core 1 Task C Core 2 Task C Core 2 Task B Core 2 Data Consistency Data Coherency Data Stability 9

Multi-Core Technology Challenges Partitioning of Application Software Impacts of Partitioning Data-dependencies across Runnables Frequency of data-exchange Latency constraint on data-exchange Braking Software Braking RE_B1 Diagnosis RE_D1 Control RE_C1 Execution sequence constraint Allocation constraint RE_B2 RE_B3 RE_B4 RE_D2 RE_D3 RE_C2 RE_C3 Core 1 Core 2 Core 3 Core 4 10

Timing Aspects in Multi-Core Systems 11

Timing Aspects in Multi-Core Systems 12

Timing Aspects in Multi-Core Systems Timing Requirements on System Level t = < 60.0 ms t = < 140.0 ms t = < 250.0 ms t = < 50.0 ms End-to-end timing behavior requirement for the distributed system SW Architecture Sensor RE Fusion RE Braking RE Legend SWC SW Component RE Runnable Entity In- / Output Sensor ECU Fusion ECU Braking ECU Event-Chain Network / Communication HW Architecture 13

Timing Aspects in Multi-Core Systems Timing Requirements on ECU Level Static View Braking Software t = < 50.0 ms Braking Braking RE_B1 RE_B2 RE_B3 RE_B4 Diagnosis RE_D1 RE_D2 RE_D3 Control RE_C1 RE_C2 RE_C3 Task 1ms Task 4ms Task 10ms RE Task 20ms Dynamic View t = < 50.0 ms Braking ECU 1ms 10ms 4ms RE_B1 RE_B1 RE_B1 RE_B2 RE_B3 RE_B4 RE_D1 RE_D2 RE_C1 20ms RE_C2 RE_C3 RE_D3 14

2nd/3rd Level Top Level Task Level Timing Aspects in Multi-Core Systems Parallelization Concepts Task Level Parallelism Task A Task B Task C Runnable (Top) Level Parallelism Task C-1 Task C-2 Service/Algorithm Level Parallelism Runnable Core 1 Core 2 Core 1 Core 2 Core 1 Core 2 Core 3 By change of Configuration + Less synchronization overhead + Less context switching overhead + No change of runnable execution sequence - No speedup in function execution - Low load balancing capabilities By change of Integration + Better load balancing capabilities + Reduction of task response times - Analysis of dataflow necessary - Creation of new tasks necessary By change of Implementation + Highest potential of load balancing + Reduction of function execution times (Speedup) - High synchronization effort - Modification of source-code 15

Timing Aspects in Multi-Core Systems Scheduling Concepts Event-based Scheduling Events Events Time-Triggered Scheduling T3 T2 T2 T1 T1 Time T1 T2 T3 Time Runtime decision on task execution Design-time decision on task execution Pro: Fast reaction on interrupts Con: Scheduling overhead Jitter for low priority task High Interferences at parallel resource access Pro: Low/(no) jitter for tasks Con: Lower maximal system utilization due to worstcase assumptions Longer reaction times 16

Timing Aspects in Multi-Core Systems Communication Concepts Single-Core Approach RE_B1 RE_B2 RE_B3 RE_B4 RE_B1 RE_D1 RE_D2 RE_C1 Global Shared Memory Non Data-protected Approach Data-protected Approach RE_B1 RE_B1 Core 1 RE_B1 RE_B1 Core 1 Global Shared Memory Global Shared Memory RE_B2 RE_B3 RE_B4 RE_D1 RE_D2 RE_C1 Core 2 RE_B2 RE_B3 RE_B4 RE_D1 RE_D2 RE_C1 Core 2 17

Timing Aspects in Multi-Core Systems Timing-Behavior in Single-Core System 1ms RE_B1 RE_B1 RE_B1 10ms 4ms 20ms RE_B2 RE_B3 RE_B4 RE_D1 RE_D2 RE_C1 RE_C2 RE_C3 RE_D3 Timing-Behavior in Multi-Core System 1ms 10ms 4ms 20ms RE_B1 RE_B1 RE_B1 RE_D1 RE_D2 RE_C1 RE_D1 RE_D2 RE_C1 RE_B2 RE_B3 RE_B4 RE_C2 RE_C3 RE_D3 Core 1 Core 2 18

Timing Aspects in Multi-Core Systems Improving Timing Behavior of Multi-Core Systems Change of Runnable Execution Sequence 1ms 10ms 4ms 20ms RE_B1 RE_B1 RE_B1 RE_D1 RE_D2 RE_C1 RE_D1 RE_D2 RE_C1 RE_B2 RE_B3 RE_B4 RE_C2 RE_C3 RE_D3 Core 1 Core 2 Earlier Buffer export / Later Buffer update Re-Allocation of Task to other Core 19

A Model-Based Approach for Multi-Core Systems 20

A Model-Based Approach for Multi-Core Systems RE_B1 1. Data Acquisition Data Dependency Analysis RE_B2 RE_B3 RE_D1 RE_D2 2. Partitioning Grouping of Functions to Time Groups (based on Sequence Needs & Event-Chains) RE_B2 RE_B1 RE_B3 RE_D1 RE_D2 3. Integration Positioning of Functions into Sequences Allocation of Tasks to Cores (OS Partitions) RE_B2 RE_B3 RE_D2 Core 1 Core 2 4. Communication Interfaces Analysis of Data Consistency / Coherency / Stability Calculation of Communication Buffers / RTE Configuration RE_B2 RE_B3 5. Code Generation Runnable Call Tree Buffering Routines RE_B2 RE_B3 21

A Model-Based Approach for Multi-Core Systems Workflow on System Modeling System Modeling Timing Simulation 22

Software Function II Software Function I A Model-Based Approach for Multi-Core Systems Collaboration Model between OEM & TIER1 OEM Functions Data-flow Execution Order TIER 1 Tasks Functions Data-flow Handling Projects with Multiple Application Software Providers Integration of application software on model-based data Global optimization of complete application Export of Integration configuration Integrated System Execution Order Model Merge (OS Data) (Function Runtimes) 23

A Model-Based Approach for Multi-Core Systems DaVinci Developer 1 2 SWC Description 4 *.ARXML DaVinci Configurator 6 3 4 ECU Configuration *.ARXML TA Tool Suite 5 Improvement of an existing system: Project configuration with DaVinci Tools Exporting ECU Configuration and System Description Import into TA Tool Suite Timing analysis in TA Simulator Optimization in TA Optimizer Update of ECU Configuration 25

Verifying Timing in Multi-Core Systems 29

Verifying Timing in Multi-Core Systems Closing the Development Cycle Schedule Analysis Timing Requirements Runtime Measurements System Model Metrics Target Platform Metric Analysis Metrics Simulation Module Test Recorded Trace 30

Verifying Timing in Multi-Core Systems Trace Export Tracing TA Tool Suite SWC Description ECU *.ARXML Configuration Code Generation / Flashing ECU Configuration *.ARXML *.ARXML Post-Optimization-Verification Importing ECU-C update into DaVinci Code generation, flashing and tracing equal to initial verification DaVinci ToolChain Validation of updated project and comparison to simulation results in TA Inspector 31

Outlook on Multi-Core Systems 32

Outlook on Multi-Core Systems Improving efficiency and predictability by mixed timetriggered and event-triggered scheduling Integration of applications from different domains with different buffering and scheduling strategies Introducing increased dynamic behavior in scheduling and communication with Adaptive AUTOSAR by dynamic task allocation and service-oriented communication 33

THANK YOU FOR YOUR ATTENTION! Timing-Architects Embedded Systems GmbH Phone: +49 (0) 941 46 373 000 Franz-Mayer-Straße 1 Fax: +49 (0) 941 46 373 259 93053 Regensburg E-Mail: info@timing-architects.com