Functionality assignment to partitioned multi-core architectures

Similar documents
AUTOMATIC FUNCTIONALITY ASSIGNMENT TO AUTOSAR MULTICORE DISTRIBUTED ARCHITECTURES

Automatic functionality assignment to AUTOSAR multicore distributed architectures Florin Maticu, Paul Pop Technical University of Denmark, Denmark

An Approach to Optimize Intra-ECU Communication Based on Mapping of AUTOSAR Runnable Entities

Software integration challenge multi-core experience from real world projects

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

A Resource Efficient Framework to Run Automotive Embedded Software on Multi-core ECUs

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

An Encapsulated Communication System for Integrated Architectures

Practical approaches for re-architecture with benefits for AUTOSAR or non-autosar implementations Dave Hoadley Principle Pilot Engineer

Capita Selecta: Software engineering for automotive systems

A Multi-Modal Composability Framework for Cyber-Physical Systems

Floorplan considering interconnection between different clock domains

Virtual Validation of Cyber Physical Systems

In Vehicle Networking : a Survey and Look Forward

Real-Time Cache Management for Multi-Core Virtualization

AUTOSAR: from concept to code.

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

Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems

AUTOSAR Method. Webinar

LATEST ISO UPDATE Focusing on Concurrency. Heiko Doerr MGI Group, 06. December 2016

Improved AUTOSAR Based on Multi-Core Architecture and its Application in the Body Control

Design Optimization and Synthesis of FlexRay Parameters for Embedded Control Applications

Routability-Driven Bump Assignment for Chip-Package Co-Design

39 Design Optimization of Mixed-Criticality Real-Time Embedded Systems

Platform modeling and allocation

Achieving Predictable Multicore Execution of Automotive Applications Using the LET Paradigm

Sensor Tasking and Control

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

Real and Virtual Development with SystemDesk

Alexandre Esper, Geoffrey Nelissen, Vincent Nélis, Eduardo Tovar

Software Architecture for Secure ECUs. Rudolf Grave EB TechDay-June 2015

10 th AUTOSAR Open Conference

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

10 th AUTOSAR Open Conference

RT- Xen: Real- Time Virtualiza2on. Chenyang Lu Cyber- Physical Systems Laboratory Department of Computer Science and Engineering

On Latency Management in Time-Shared Operating Systems *

Handling Challenges of Multi-Core Technology in Automotive Software Engineering

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

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

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

Optimization Techniques for Design Space Exploration

SIMPLIFYING COMPLEX EMBEDDED DEVELOPMENT PROCESSES WITH MBEDDR

Introduction to Adaptive AUTOSAR. Dheeraj Sharma July 27, 2017

Communications-Oriented Development of Component- Based Vehicular Distributed Real-Time Embedded Systems

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

Hardware/Software Codesign

Schedulability-Driven Communication Synthesis for Time Triggered Embedded Systems

Estimation of Wirelength

Heterogeneity Increases Multicast Capacity in Clustered Network

ASCET V6.3 AUTOSAR User s Guide

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

Context. Giorgio Buttazzo. Scuola Superiore Sant Anna. Embedded systems are becoming more complex every day: more functions. higher performance

Context. Hardware Performance. Increasing complexity. Software Complexity. And the Result is. Embedded systems are becoming more complex every day:

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Towards a Runtime Verification Framework for the Ada Programming Language

A specification proposed by JASPAR has been adopted for AUTOSAR.

Entwicklung zuverlässiger Software-Systeme, Stuttgart 30.Juni 2011

Eliminating Single Points of Failure in Software Based Redundancy

Multicore platform towards automotive safety challenges

On Optimal End-to-End QoS Budget Partitioning in Network Dimensioning

Software Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model

A Data-Centric Approach for Modular Assurance Abstract. Keywords: 1 Introduction

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

Operational Semantics of Cool

Formal Verification and Automatic Testing for Model-based Development in compliance with ISO 26262

On the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

MODULAR PARTITIONING FOR INCREMENTAL COMPILATION

Cache/Memory Optimization. - Krishna Parthaje

Determining Optimal Update Period for Minimizing Inconsistency in Multi-server Distributed Virtual Environments

Safety Argument based on GSN for Automotive Control Systems. Yutaka Matsubara Nagoya University

Model-Driven Verifying Compilation of Synchronous Distributed Applications

SECURIFY: A COMPOSITIONAL APPROACH OF BUILDING SECURITY VERIFIED SYSTEM

On the Scalability of Hierarchical Ad Hoc Wireless Networks

SystemDesk - EB tresos Studio - TargetLink Workflow Descriptions

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

AUTOSAR proofs to be THE automotive software platform for intelligent mobility

M 3 DDVC: Multi-source Multicasting using Multi-cores with Delay and Delay Variation Constraints on Overlay Networks

POK. An ARINC653-compliant operating system released under the BSD licence. Julien Delange, European Space Agency

Enabling safer embedded systems

Architectures of Automotive Electrical. Nicolas Navet. Can be freely used for teaching Complexity Mastered. Outline

Mentor Automotive Save Energy with Embedded Software! Andrew Patterson Presented to CENEX 14 th September 2016

CHAPTER 5 MAINTENANCE OPTIMIZATION OF WATER DISTRIBUTION SYSTEM: SIMULATED ANNEALING APPROACH

Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm

Why Multiprocessors?

10 th AUTOSAR Open Conference

10 th AUTOSAR Open Conference

Towards Transactional Memory for Safety-Critical Embedded Systems

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2

ARINC653 AADL Annex. Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Julien Delange 07/08/2013

RT- Xen: Real- Time Virtualiza2on from embedded to cloud compu2ng

An Integration of Imprecise Computation Model and Real-Time Voltage and Frequency Scaling

Energy-aware Fault-tolerant and Real-time Wireless Sensor Network for Control System

Parallel Simulated Annealing for VLSI Cell Placement Problem

Analysis of Directional Beam Patterns from Firefly Optimization

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

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

On File and Task Placements and Dynamic Load Balancing in Distributed Systems

Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence

CSE 544: Principles of Database Systems

Transcription:

Functionality assignment to partitioned multi-core architectures Florin Maticu Technical University of Denmark (DTU)

Outline Safety-critical real-time systems Motivation Problem formulation Mapping tool Architecture model Hardware AUTOSAR Communication Os-tasks Scheduling Spatial partitioning Temporal partitioning End-to-end protection Application model Terminology & Example WCET of the runnable Problem formulation Formal Example Cost function Optimization strategy Simulated annealing Algorithm Transform strategies Experimental Evaluation Volvo use case Conclusions & Future work Conclusions Future work Thank you Bibliography 2 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Safety-critical real-time systems Motivation federated to integrated architectures. multi-core ECUs. increase complexity of software functionalities. safety according to ISO 26262 1. schedulability of tasks running of different cores. bus bandwidth constraints. Figure: ECUs interconnected inside a vehicle 2 1 http://www.iso.org/iso/catalogue_detail?csnumber=43464 2 http://www.embedded.com/print/4011425 3 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Mapping of functionalities Figure: Mapping tool 4 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Hardware Figure: Hardware architecture model 5 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model AUTOSAR Figure: AUTOSAR layers, [AUT14] Figure: Conf System activity in AUTOSAR, [AUT14] 6 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Communication sender-receiver mode with last is best semantics. Figure: Runnable communication over AUTOSAR RTE Figure: Types of communication 7 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Os-tasks Figure: Runnables with implicit sender/receiver mapped into same Os-task Figure: Runnables with explicit sender/receiver mapped into same Os-task 8 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Scheduling AUTOSAR Multicore scheduling OS-tasks are scheduled independently on each core. U core = m i=1 R i.w CET R i.t (1) U core 0.69, [LL73] (2) 9 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Spatial partitioning Spatial protection at the Os-application level. Figure: Memory partitioning example in AUTOSAR, source:[bfws10] 10 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model Temporal partitioning Protection against timing faults at the Os-Task level. Execution time budget. Resource lock time budget. Inter-arrival time budget (Time Frame). Figure: AUTOSAR OS timing monitoring, source:[aut14] 11 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Architecture model End-to-end protection Figure: End-to-end protection example in AUTOSAR EB tresos product, source: [Mat14] 12 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Application model Example AUTOSAR application composed of a set of software components. Each software component contains a number of runnables (functions). Figure: Control cruise application 13 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Application model WCET of the runnable W CET runnable = W CET computational + W CET communication W CET communication overhead : α = if runnables are mapped into the same OS-Task. β 0 = if runnables have the same ASIL levels and are mapped into different OS-Tasks. β 1 = if runnables have different ASIL levels and are mapped into different OS-Tasks. γ = if the runnables are mapped into OS-Tasks on different cores on the same ECU. θ = if the runnables are mapped into OS-Tasks on different ECUs. θ > γ > β 1 > β 0 > α 14 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Input Given Architecture model Each ECU is running on AUTOSAR framework. Application model Figure: Architecture model example Figure: Application model example 15 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Ouptut Determine A mapping of software components to ECUs. A mapping of runnables to OS-tasks. A mapping of OS-tasks to cores. A mapping of OS-tasks to OS-applications. 16 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Objectives Such that Minimize the overall communication bandwidths. Minimize the variance of the core utilizations on the system. Functions with different safety integrity levels are spatial and temporal isolated. All the constraints regarding schedulability or provided by the software/system developer are met. 17 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Example Figure: Mapping solution to ECUs 18 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Problem formulation Cost function cost function = W 1 (σ) + W 2 comm comm { {ECU.comm} { {ECU.{Core.comm}}} + penalty factor + penalty factor max (0, U comm 1). σ = 1 N 1 μ = 1 N core { {ECU.{core}}} max (0, U core U core max ) comm { {ECU.comm} { {ECU.{Core.comm}}} core { {ECU.{core}}} U core (U core μ) 2 core { {ECU.{core}}} 19 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Optimization strategy Simulated annealing Heuristic search method for combinatorial problems. Finds a solution closed to the optimal one. Occasionally allows jumps from a current solution to an inferior one to avoid getting stuck in a local minimum. Figure: Cost function values 20 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Optimization strategy Algorithm Input: application model, architecture model, system mapping constraints current temperature,minimum temperature,max steps per temperature Output: A mapping of software components to ECUs. A mapping of runnables to OS tasks. A mapping of OS tasks to cores. A mapping of OS tasks to OS applications. 1 foreach software component in the application model do 2 randomly assigned it to an ECU 3 foreach runnable in the sofware component do 4 randomly assigned it to an Core on the ECU 5 end 6 end 7 Compute current cost; 8 while current temperature > minimum temperature do 9 for step := 1..max steps per temperature do 10 Randomly choose a transformation strategy; 11 Generate new solution by applying the transformation to the current solution; 12 Compute new cost; 13 if new cost < curent cost then 14 current solution = new solution 15 else 16 Choose a random number r [0, 1); 17 if e (old cost new cost)/current temperature > r then 18 current solution = new solution; 19 else 20 end 21 end 22 end 23 current temperature = current temperature * cooling factor 24 end 21 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Optimization strategy Transform strategies Figure: Move software component transformation Figure: Move runnables between cores Figure: Move runnables into same Os-Task 22 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Experimental Evaluation Volvo use case 50 software components with 75 runnables in total. Figure: Volvo mapping result 23 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Conclusions & Future work Conclusions Method and a tool has been proposed for the problem of mapping AUTOSAR functionalities (runnables) with different ASIL levels on a distributed network of multi-core ECUs. Simulated annealing has been chosen together with a cost function for the mapping of functionalities. Three use cases, each composed of an application and architecture model were implemented and tested. The tool has been also tested by Volvo Advanced Technology & Research in Götheborg. 24 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Conclusions & Future work Future work Implementing new rules such that the tool provides a mapping solution were all the end-to-end timing constraints are met will be an important addition to the current implementation. The authors in [LLP + 09] have proposed new rules for mapping runnables to Os-tasks in AUTOSAR such that to minimize the intra-ecu communication. The tool can be improved by adding them and check if we can obtain better mapping solutions given the constraints. 25 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Thank you for your attention! 26 DTU Compute Functionality assignment to partitioned multi-core architectures 30.6.2015

Bibliography References AUTOSAR_SW_OS. Specification of operating system. Technical report, AUTOSAR 4.2.1, 2014. S. Bunzel, S. Furst, J. Wagenhuber, and F. Stappert. Safety and security related features in autosar, 2010. http://www.automotive2010.de/programm/contentdata/ Bunzel-AUTOSAR.pdf. C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM, 20(1):46 61, January 1973. Rongshen Long, Hong Li, Wei Peng, Yi Zhang, and Minde Zhao. An approach to optimize intra-ecu communication based on mapping of autosar runnable entities. In Embedded Software and Systems, 2009. ICESS 09. 27 DTU International Compute Conference Functionality assignment on, pages to partitioned 138 143, multi-core architectures May 2009. 30.6.2015