Presentation is loading. Please wait.

Presentation is loading. Please wait.

QNX Technology Overview

Similar presentations


Presentation on theme: "QNX Technology Overview"— Presentation transcript:

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

2 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.

3 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.

4 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.

5 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.

6 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.

7 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.

8 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.

9 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.

10 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.

11 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.

12 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.

13 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.

14 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.

15 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.

16 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.

17 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.


Download ppt "QNX Technology Overview"

Similar presentations


Ads by Google