Multicore In Real-Time Systems – Temporal Isolation Challenges Due To Shared Resources 2013-03-22 Ondřej Kotaba, Jan Nowotsch, Michael Paulitsch, Stefan.

Slides:



Advertisements
Similar presentations
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Advertisements

purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CS 345 Computer System Overview
Chapter 8 Hardware Conventional Computer Hardware Architecture.
Operating System Support Focus on Architecture
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
G Robert Grimm New York University Disco.
Chapter 13 Embedded Systems
OS Spring’03 Introduction Operating Systems Spring 2003.
Figure 1.1 Interaction between applications and the operating system.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Process Concept An operating system executes a variety of programs
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Vir. Mem II CSE 471 Aut 011 Synonyms v.p. x, process A v.p. y, process B v.p # index Map to same physical page Map to synonyms in the cache To avoid synonyms,
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Introduction to Embedded Systems
How Hardware and Software Work Together
Computer System Architectures Computer System Software
2017/4/21 Towards Full Virtualization of Heterogeneous Noc-based Multicore Embedded Architecture 2012 IEEE 15th International Conference on Computational.
COLLABORATIVE EXECUTION ENVIRONMENT FOR HETEROGENEOUS PARALLEL SYSTEMS Aleksandar Ili´c, Leonel Sousa 2010 IEEE International Symposium on Parallel & Distributed.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-Core Architectures
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
System bus.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
TEMPLATE DESIGN © Hardware Design, Synthesis, and Verification of a Multicore Communication API Ben Meakin, Ganesh Gopalakrishnan.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Supporting Multi-Processors Bernard Wong February 17, 2003.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
By Edward A. Lee, J.Reineke, I.Liu, H.D.Patel, S.Kim
Processor Architecture
CSC Multiprocessor Programming, Spring, 2012 Chapter 11 – Performance and Scalability Dr. Dale E. Parson, week 12.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Full and Para Virtualization
Platform Abstraction Group 3. Question How to deal with different types hardware and software platforms? What detail to expose to the programmer? What.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
Martin Kruliš by Martin Kruliš (v1.1)1.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Lecture 27 Multiprocessor Scheduling. Last lecture: VMM Two old problems: CPU virtualization and memory virtualization I/O virtualization Today Issues.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
Introduction to Operating Systems Concepts
Chapter 6 System Integration and Performance
Current Generation Hypervisor Type 1 Type 2.
Task Scheduling for Multicore CPUs and NUMA Systems
Hyperthreading Technology
CS703 - Advanced Operating Systems
CSC Multiprocessor Programming, Spring, 2011
Presentation transcript:

Multicore In Real-Time Systems – Temporal Isolation Challenges Due To Shared Resources Ondřej Kotaba, Jan Nowotsch, Michael Paulitsch, Stefan M. Petters, Henrik Theiling

… or what this is about?

 Primarily Aerospace applications, but applicable in other fields as well  Mixed-criticality applications  Hard realtime required  Temporal determinism required  Per application, not per function or instruction

 Scheduling the CPU time  Cooperative, Event driven, Time sharing, …  Other chip resources almost dedicated for the CPU... or  Serve within a certain deadline (ongoing job)  Can be disabled (e.g. DMA)  Impact is analyzable (e.g. HW interrupt request)  … in other words, scheduling of other resources is tied to CPU time cheduling

 Special hardware available but expensive  Focus on General Purpose Processors  GPPs are optimized to achieve low Average Case Execution Time  Many research activities, each focusing on a specific problem (or subset of problems)  Most of the problems solved when isolated

 Looked at what resources are shared by cores  Looked at what problems that causes  Specific mechanisms  Looked at solutions available  Various layers: HW, Hypervisor, OS, Application, development and verification process

... or how specific shared resources affect the time determinism

 Problems with  Contention ▪ By multiple cores ▪ By other device - IO, DMA, etc. ▪ By coherency mechanism traffic  Typically no sufficient information to fully analyze behavior of system bus

 Problems with  Contention ▪ By concurrent access  Interleaved access causes line set-up delay  Typically no sufficient information to analyze behavior of RAM controller

 Problems with  Cache line eviction  Contention ▪ By to concurrent access  Coherency ▪ Read delayed due to invalidated entry ▪ Delay due to contention by coherency mechanism read requested by lower level cache ▪ Contention by coherency mechanism on this level

 Problems with  Coherency ▪ Read delayed due to invalidated entry ▪ Contention by coherency mechanism read

 Problems with  Contention ▪ of instruction pipeline stages by parallel hyper-threads ▪ of shared logical units (some processors)

 Problems with  Overhead of locking mechanism ▪ Accessing the RAM or any other device ▪ Delay of ensuring coherency of locking – if possible at all  I/O Device state altered by other thread/application  Interrupt routing overhead  Contention on the addressable device - e.g. DMA, Interrupt controller, etc.  Synchronous access of other bus by the addressable device (e.g. DMA) (already mentioned)

 Additional problems are very platform specific  Non-determinism introduced by cache stashing  Thermal-related capabilities ▪ Automatic frequency adjustments ▪ Automatic task migration to even out the load  BIOS functions ▪ Handlers and microcode ▪ Emulation

… or what can we do then?

 Contention on System bus / Network-on-chip  HW Solutions exist  Detailed documentation needed  Memory-related effects  HW Solutions exist  Memory controller  Detailed documentation needed

 Typical COTS General Purpose Processors are very complex and depth of published documentation is insufficient  Focus should be on software mechanisms for arbitration of access to shared resources Can be achieved by  Hypervisor  OS (scheduler)  No mature solution exists

 Modern architecture of multicore COTS Microcontrollers provides appropriate mechanisms to solve the issues  At least for singular of multiple cores  In the near future, we expect further expansion of the market  Multicore microcontroller can even today provide a feasible hard-real-time solution. (Relatively)

 Special requirements and custom designs  Defense and space, research, etc.  Thinking “manycore” makes system more deterministic  If the architecture is scalable to high number of cores, sharing effects must be bounded or controllable  Not necessarily having many cores

 Research is needed in software arbitration of access to shared resources  Small HW architecture modifications would bring significant benefits – or a plea to chip designers  Use dataflow or other easily transformable algorithm design paradigm

We hope you liked it. Ondrej Jan Michael Stefan M. Henrik