System Impact of Distributed Multicore Systems December 5th 2012

Similar documents
XtratuM hypervisor redesign for LEON4 multicore processor

XtratuM Hypervisor for LEON4 Volume 2: XtratuM User Manual

EMC2. Prototyping and Benchmarking of PikeOS-based and XTRATUM-based systems on LEON4x4

EagleEye TSP Porting to HWIL Configuration (RTB)

Title: Configuration and Scheduling tools for TSP systems based on XtratuM.

Challenges of FSW Schedulability on Multicore Processors

Virtualización. Apolinar González Alfons Crespo

Integrated Modular Avionics for Space

XtratuM Hypervisor for LEON3 Volume 2: User Manual

Authors:M. Masmano, Y. Valiente, P. Balbastre, I. Ripoll, A. Crespo and J.J. Metge

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

Ensuring Schedulability of Spacecraft Flight Software

Next Generation Multi-Purpose Microprocessor

More processing power - Driving requirements

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

IO Virtualisation in a Partitioned System

ARMv8-A Software Development

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3

XtratuM for LEON3: an Open Source Hypervisor for High Integrity Systems

CS6401- Operating System QUESTION BANK UNIT-I

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

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

On-Board Control Procedures: Autonomous and Updateable Spacecraft Operator Onboard and Beyond

Overview of Potential Software solutions making multi-core processors predictable for Avionics real-time applications

Module 1: Introduction

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Operating Systems. studykorner.org

Using a Hypervisor to Manage Multi-OS Systems Cory Bialowas, Product Manager

Virtualization for Embedded Systems

Lecture 9: MIMD Architecture

RA3 - Cortex-A15 implementation

Lecture 9: MIMD Architectures

Applying MILS to multicore avionics systems

V8uC: Sparc V8 micro-controller derived from LEON2-FT

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

Chapter 5. Introduction ARM Cortex series

ARM Processors for Embedded Applications

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

Operating System Review

DEVELOPING RTEMS SMP FOR LEON3/LEON4 MULTI-PROCESSOR DEVICES. Flight Software Workshop /12/2013

CS370 Operating Systems

Lecture 9: MIMD Architectures

QorIQ P4080 Software Development Kit

Real Safe Times in the Jailhouse Hypervisor Unrestricted Siemens AG All rights reserved

WS_CCESSH5-OUT-v1.01.doc Page 1 of 7

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor.

Building High Performance, Power Efficient Cortex and Mali systems with ARM CoreLink. Robert Kaye

KVM on Embedded Power Architecture Platforms

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System?

Multicore and MIPS: Creating the next generation of SoCs. Jim Whittaker EVP MIPS Business Unit

Uniprocessor Computer Architecture Example: Cray T3E

Cortex-A15 MPCore Software Development

Kinetis Software Optimization

CS370 Operating Systems

Simulation Based Analysis and Debug of Heterogeneous Platforms

Part I Introduction Hardware and OS Review

Part I Overview Chapter 1: Introduction

CSC501 Operating Systems Principles. OS Structure

SUCCESSFULL MULTICORE CERTIFICATION WITH SOFTWARE-PARTITIONING Efficient Implementation for DO-178C, EN 50128, ISO 26262

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

Multiprocessor Systems Continuous need for faster computers Multiprocessors: shared memory model, access time nanosec (ns) Multicomputers: message pas

Multi-DSP/Micro-Processor Architecture (MDPA) Paul Rastetter Astrium GmbH

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Chapter 1 Computer System Overview

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

Chapter 1 Computer System Overview

Operating Systems, Fall Lecture 9, Tiina Niklander 1

Tuned Pipes: End-to-end Throughput and Delay Guarantees for USB Devices. Ahmad Golchin, Zhuoqun Cheng and Richard West Boston University

Cortex-A9 MPCore Software Development

Operating Systems: Internals and Design Principles, 7/E William Stallings. Chapter 1 Computer System Overview

Blackfin Optimizations for Performance and Power Consumption

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Real World Multicore Embedded Systems

Jack Kang ( 剛至堅 ) VP Product June 2018

UNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A

HKG : OpenAMP Introduction. Wendy Liang

GR740 Technical Note on Benchmarking and Validation

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Virtualization, Xen and Denali

Operating Systems Overview

Memory Systems in Pipelined Processors

ESA Contract 18533/04/NL/JD

Intel Virtualization Technology Roadmap and VT-d Support in Xen

Virtual Machine Security

FCQ2 - P2020 QorIQ implementation

Computer Systems Architecture

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

2 nd Half. Memory management Disk management Network and Security Virtual machine

IsoStack Highly Efficient Network Processing on Dedicated Cores

evm for Windows* User Manual

STRAST. UPMSat-2 On-board computers. Grupo de Sistemas de Tiempo Real y Arquitectura de Servicios Telemáticos Universidad Politécnica de Madrid.

Mastering The Behavior of Multi-Core Systems to Match Avionics Requirements

Multicores in Space. Stockholm 14/06/2012. ESA UNCLASSIFIED For Official Use

For use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled.

Chapter 1 Computer System Overview

RTEMS SMP FOR LEON3/LEON4 MULTI-PROCESSOR DEVICES

Transcription:

System Impact of Distributed Multicore Systems December 5th 2012 Software Systems Division & Data Systems Division Final Presentation Days Mathieu Patte (Astrium Satellites) Alfons Crespo (UPV)

Outline Context, objectives and state of the art Xtratum porting on NGMP Approach Main issues Scheduling policies Configuration file Evaluation Demonstration application Guidelines and way forward

Study s context and objectives First multi core platform for space are available Need to analyze the impacts at system level of the switch to multi core Identify first use cases for multi core processor and recommend best practices

Multi core processors use in spacecrafts Platform: No actual needs in current reference architecture Emerging need: Integrated Modular Avionics for Space Payload: More processing power, means more powerful flexible payload data processing units Main users: scientific missions

Multi core architecture survey Multi core means shared resources competition for access to shared resources (memory) Key element is memory architecture Multi level cache Advanced cache coherency management techniques (inclusive, exclusive caches) Layered buses, crossbar switches Multi port cache/memory controller

NGMP architecture assessment NGMP main features: Independent L1 caches, shared L2 cache Shared bus to L2 competition between the cores IOMMU allows partitioning I/O hardware resources Hardware Support for ASMP No hardware support for virtualization

Software techniques on multi core Symmetric Multi Processing: One single OS is managing all the cores Pros: performance Cons: all applications have to use the same OS, complex OS to qualify ASymmetric Multi Processing: Different OS on different cores Pros: OS diversity Cons: all the OS needs to be qualified, space separation difficult to enforce

Software techniques for multi core (cont d) SMP hypervisor: Lightweight SMP kernel providing virtualization services Pros: each application can run its own OS Cons: performance is lower than native SMP

Parallelism programming model Data parallelism: same code, different bits of data

Parallelism programming model (cont d) Task parallelism: different code, same data

XtratuM: Approach XtratuM was initially designed for monocore architectures: LEON2 and LEON3 It offers virtual machines (vcpu) to execute partitions

XtratuM: Hypervisor Multicore approach Hypervisor based system permits to build partitioned systems where partitions : Are Temporal and Spatial isolated Can have different level of criticality Use the appropriated OS for each application Requires an Independent validation Take advantage of the multicore to execute mono-core OSs in a multicore platform 12

XtratuM: Hypervisor based Multicore approach Hypervisor based Multicore Software architectures can provide a more flexible AMP or SMP view 13

XtratuM: Multi-core hypervisor Several schemes are possible Monocore partitions on different real CPUs Monocore partitions on the same/different real CPUs Mono/Multi-core partitions 14

XtratuM: Issues related to Multicore Impact of Multicore on the services provided by the hypervisor: Interrupts; Partition management; Health Monitor; Virtualised resources Clock and Timers Interrupt management (Set up/use the multiprocessor interrupt controller with extended ASMP) IPI s management (Emulate IPIS through interrupts) Memory management Scheduling Main aspect to be analysed

XtratuM: Issues related to Multicore Virtual CPUs: Inclusion of the virtual CPU (vcpu) concept Each partition has one or more vcpus (multi-core) Each vcpu has a local partition control table The clock is shared among the vcpus New hypercalls are required tp deal with vcpus Get status Start-up/resume/suspend/halt vcpu XML extension Each partition shall define the number of VCPUs supported Each slot shall indicate the VCPUID (omission means VCPUID=0)

XtratuM: Scheduling Policies - Each core can be scheduled with a defined scheduling policy - Specified in the configuration file - i.e.: 3 cores under a cyclic scheduling; 1 core FPS Several scheduling policies - Basic scheduling policy: Cyclic scheduling - Alternative scheduling policies (IO activities) - Fixed Priority Scheduling Cyclic scheduling FPS

XtratuM: Plan management in Multicore Definition of Scheduling Plans Multiple schedules Plan switch: system partition

XtratuM: Multicore Scheduling Plan Plan specification: configuration file <Processor id="0" frequency="50mhz"> <CyclicPlanTable> <Plan id="0" majorframe="400ms"> <Slot id="0" start="0ms" duration="200ms" partitionid="0 vcpuid="0"/> <Slot id="1" start="200ms" duration="200ms" partitionid="0 vcpuid="1"/> </Plan>.. </CyclicPlanTable> </Processor> <Processor id="1" frequency="50mhz"> -------<FixedPriority> <Partition id="0" vcpuid= 1" priority="10"/> <Partition id="2" vcpuid="0" priority="5"/> </FixedPriority> </Processor> <PartitionTable> <Partition id="0" name="partition1" flags="system" console="uart novcpus="4">...

XtratuM: IOMMU description Similar to the MMU but at the AMBA bus level I/O. Provides capabilities for: Protecting I/O pages (4KB-512KB page-size) Translating I/O pages (4KB-512KB page-size) Solves the problem DMA memory protection problem Statically defined

XtratuM: IO-MMU: Configuration Configured statically during XML stage: <XMHypervisor... >... <IoMmu> <AhbMst id="0" partitionid= 0" busrouting="processor" vendorid="0xc" deviceid="0x0f" /> <AhbMst id="1" partitionid="1" busrouting="memory" vendorid="0xc" deviceid= 0x1f" /> </IoMmu> </XMHypervisor> Where Id: master ahb id; identifies the Master configuration register PartitionId: bit [3:0] (GROUP) GRIOMMU Master configuration register BusRouting: bit [4] (BS) GRIOMMU Master configuration register VendorId: bits [31:24] (VENDOR) GRIOMMU Master configuration register DeviceId: bits [23:12] (DEVICE) GRIOMMU Master configuration register

XtratuM: Test Suites Functional tests adapted from mono-core CNES tests for LEON2 and LEON3 Spatial & temporal isolation; Partition Mngmt; Interrupt Mgmt; Health Monitor; IPC;. SIMDS functional requirements Boot Mngmt; Cache; Scheduling; IO; IPC; IRqs,;. Performance evaluation Dhrystone benchmark CoreMark benchmark IPC measurements HAPS-54 Board LEON4 4 Cores @ 50MHz

XtratuM: Performance Evaluation Dhrystone on native HW vs Dhrystone on a XM partition CoreMark on native HW vs CoreMark on a XM partition Use 1 core In the Partitioned target the benchmark is completed in 1 slot

XtratuM: Performance Evaluation CoreMark on a XM partition Executed with different slot durations

XtratuM: Performance Evaluation CoreMark on a XM partition Executed on several cores

Demonstration application Simple application: MD5 computation of incoming SpW packets Benchmark different I/O management techniques Cyclic scheduling on one core Cyclic scheduling and I/O partition

Demonstration application (con t d) Benchmark different I/O management techniques Cyclic scheduling and fixed priority scheduling

Demonstration application results 100 dynamic scheduling Available computation time (secondary axis) I/O partition cyclic scheduling 6 99.5 output data rate in Mb/s 5.5 5 99 4.5 98.5 4 3.5 98 3 2.5 97.5 2.5 3 3.5 4 4.5 input data rate in Mb/s 5 5.5 6 6.5 Available computation time on dynamic scheduling core in percent 6.5

Guidelines and way forward Multi core architecture Minimize hardware coupling (need for system level simulation to asses the best techniques) Optimize hardware for virtualization Improve hardware debug facilities (real time tracing) Provide comprehensive simulation environment

Guidelines and way forward (con t d) Hypervisor software Improve development and validation environment Provide a multithreading API to partition programmers Improve fixed priority scheduling policy to ensure better timing isolation (priority server) Flexible data processing use case Use task parallelism programming model Possible integration of data processing tasks with instrument control tasks using IMA

Guidelines and way forward (con t d) IMA on multi core Multi core can ease IMA implementation Use direct I/O allocation (IOMMU) Use fixed priority scheduling to implement interrupt handlers or allocate one core for the I/O partition Modify RTOS to support concurrent execution of interrupt handlers Hardware coupling can impact time partitioning!

Conclusions Demonstration of multi core techniques on NGMP SMP hypervisor Direct I/O allocation with IOMMU VCPUs and fixed priority scheduling for interrupt handlers Multi core can efficiently be used for IMA and flexible data processing Prerequisites: Multithreading software support (at hypervisor or RTOS level) Multi core hardware improvements Multi core WCET and scheduling analysis tools (ProArtis, ProCXim)