QNX Technology Overview

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Designing and Optimizing Software for Intel® Architecture Multi-core Processors Peter van der Veen QNX Software Systems.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Last update: August 9, 2002 CodeTest Embedded Software Verification Tools By Advanced Microsystems Corporation.
Designing High-Performance Network Elements Using Multiprocessing Technology and Adaptive Partitioning Peter van der Veen QNX Software Systems.
Charles Eagan, Engineering Vice President
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Distributed components
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
RSC Williams MAPLD 2005/BOF-S1 A Linux-based Software Environment for the Reconfigurable Scalable Computing Project John A. Williams 1
Computer System Architectures Computer System Software
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
1 Operating System Overview Chapter 2 Advanced Operating System.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Anilkumar Dantu CCIE (22536)
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
A Summary of the Distributed System Concepts and Architectures Gayathri V.R. Kunapuli
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Scott Ferguson Section 1
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Background Computer System Architectures Computer System Software.
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
January 7, 2007 QNX Multi-Core Solution Optimizing Software for Multi-core Kerry Johnson.
Improve Embedded System Stability and Performance through Memory Analysis Tools Bill Graham, Product Line Manager Development Tools November 14, 2006.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Computer System Structures
Module 12: I/O Systems I/O hardware Application I/O Interface
Current Generation Hypervisor Type 1 Type 2.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Operating System Structure
KERNEL ARCHITECTURE.
Chapter 3: Windows7 Part 2.
Operating Systems : Overview
Threads, SMP, and Microkernels
Chapter 3: Windows7 Part 2.
Operating System Concepts
Multiple Processor Systems
Lecture 4- Threads, SMP, and Microkernels
Architectural Support for OS
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
Architectural Support for OS
Chapter 2 Operating System Overview
Operating Systems Structure
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

QNX Technology Overview Custom Engineering Services Program Kerry Johnson November 22, 2018

Networking System Complexity Fault Management Diagnostics Health Monitoring Alarm Detection & Reporting Remote Network Management SNMP TL1 Control Loops Network Topology and Restoration G-MPLS CR-LDP OSPF Performance Monitoring IP Statistics SONET/SDH Local Craft Interface CLI GUI November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Developing Complex Systems Management Interfaces Diverse system requirements Rich feature set Demanding performance requirements Demanding availability requirements Large, multi-site teams development Geographic and time zone separation Division of responsibilities, functional areas and expertise Differing designer skill sets Parallel development, followed by system integration and verification Fault Management Restoration November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

The QNX development platform QNX® Momentics® development suite Develop Deploy QNX® Neutrino® RTOS Debug Analyze Optimize November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

QNX Confidential. All content copyright QNX Software Systems. QNX Product Snapshot QNX4 Wavemaker “Talk” November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Achieving Scalability Scaling the platform Distributed, multiprocessor system to accommodate required capacity Processing intensive nodes can accommodate growth through multiprocessor approach (symmetric processing systems) Scaling the software Software architecture needs to accommodate distributed environment Software needs to support parallel processing Scaling development teams Building large scale systems is also a people issue Tools and development techniques are a key consideration November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Distributed processing with a monolithic kernel Monolithic kernel provides process management, timers, scheduling, interrupt handling In addition, many OS services are implemented in the kernel Network stack File Systems Device drivers Distributed processing only applies to the application level TCP/IP stack, file systems, device drivers are not addressable by external systems Application Application Monolithic Kernel Process Management, Scheduling Timers, IPC TCP/IP Stack File System Ethernet Driver Flash Driver PCI Driver Ethernet Port Flash Memory PCI Bus November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Distributed processing with a micro kernel Micro kernel provides basic process management, IPC, interrupts, scheduling Most OS services are implemented as applications in user space Network stack File systems Device drivers Services exist as applications that can be used either locally or remotely External applications can address OS services on a node Protection / control is provided through a process interface Application Application Micro Kernel Process Management, Scheduling Timers, IPC TCP/IP Stack File System Ethernet Driver Flash Driver PCI Driver Ethernet Port Flash Memory PCI Bus November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Distributed Processing Internet QNX Transparent Distributed Processing extends message passing over a transport layer Applications / services can be built in a fully distributed manner without special code Networking stack File systems Hardware ports Seamless sharing of I/O resources between cores (e.g. use flash memory located on another node) Networking Stack Application Flash File System QNX Neutrino Microkernel Application Node 2 Connectivity (e.g. Ethernet) Node 1 Database Flash File System QNX Neutrino Microkernel Application fd = open(“/dev/ffs1”,…); write(fd, …); fd = open(“/net/node2/dev/ffs1”,…); write(fd, …); November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Scaling performance through multi-processing OS Applications Core Memory I / O OS Applications Core 1 Core 2 Interconnect Memory I / O Applications OS Core 1 Core 2 Interconnect Memory I / O Single core Multi-core Discrete Multiprocessing Processor scaling by adding CPUs and/or CPU cores Software scaling through symmetric multiprocessing (SMP) abstracts physical processor configuration from software Transparent distributed processing abstracts processor boundaries November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Scaling development by partitioning Restoration Management Interfaces System development System designers allocate CPU budget to subsystems / development teams Design teams can develop their own priority schemes to use CPU time effectively Test under worst case load to verify partition budgets Partitioning OS Budgets enforced by RTOS Priority based scheduling within partition Performance Monitoring Partitioning controls where CPU cycles are used… providing control for overload situations. Fault Management November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Developing, Troubleshooting & Optimization Visual system analysis QNX Momentics on development host Target system running QNX Neutrino instrumented kernel Capture Kernel Event Trace Upload Trace File Display Trace Information Single step to capture, upload and view system trace Quickly visualize system interaction and behavior View interrupts, thread states, event timing, CPU usage, partitions, IPC, and much more…. System Profiler November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

QNX Confidential. All content copyright QNX Software Systems. High Availability Availability = Mean Time Between Failure Mean Time Between Failure + Mean Time To Repair Increase in MTBF increases availability Decrease in MTTR increases availability The formula above is simplified, other considerations: Reducing impact of failure also increases availability Parallel (redundant) components increase availability Serial dependencies where failure of one component causes unavailability of dependent components decreases availability November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Reducing impact of failures Application Application Application Application Monolithic Kernel Micro Kernel TCP/IP Stack File System TCP/IP Stack File System Ethernet Driver Flash Driver PCI Driver Ethernet Driver Flash Driver PCI Driver Ethernet Port Flash Memory PCI Bus Ethernet Port Flash Memory PCI Bus Many serial dependencies High impact of failure Longer recovery time (system restart) Serial dependencies reduced Lower impact of failure Faster recovery time (restart component) November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Automatic recovery to improve MTTR Application Application Reduce downtime Restart / recover processes without affecting higher layers Microkernel Remote Node CPM Guardian recover monitor notify TCP/IP Stack File System Critical Process Monitor restart Ethernet Driver Flash Driver PCI Driver CPM / Guardian provide high availability monitor Heartbeat monitoring Detect process deaths Restart failed processes Multi-stage recovery High availability connections provide failure notification / recovery procedures Ethernet Port Flash Memory PCI Bus November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Partitioning to increase availability Management Interfaces Restoration Add partitioning to: Contain faulty subsystems that cause CPU overload Guaranteed CPU time for failure recovery Guaranteed CPU time for user interfaces / remote monitoring Performance Monitoring Fault Management Partitioning controls where CPU cycles are used… providing control for overload situations. High Availability Critical Process Monitor CPM Guardian November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.

Scalable and Available Scalability through distributed multiprocessing Transparent Distributed Processing Multi-Core / multiprocessing support System visualization tools Architecture for high availability Microkernel architecture and memory protection Critical Process Monitoring Adaptive Partitioning November 22, 2018 QNX Confidential. All content copyright QNX Software Systems.