Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time Oliver Bruder National Instruments Switzerland oliver.bruder@
Embedded Product Design Surveys 66% Product designs complete over budget 2003 Embedded Software Study, VDC, September 2003 Fragmented Industry/Technology (chips, boards, OS, design tools...) Hard- and Software Quality Issues Moore s Law: - technology is becoming increasingly complex (e.g. Multi-Core) - technology is becoming obsolete quickly (lifecycle management) Feature Creep (new requirements and features late in the project) Addressable with scalable, seamlessly integrated hard- and software 2
Content Embedded Systems Reliability in a Nutshell Generic Embedded Multi-Core Architecture (NI RIO) The role of FPGAs in Embedded Designs IoT: RASM (Reliability, Availability, Serviceability and Manageability) NI Linux Real-Time IoT: Security IoT = (industrial) Internet of Things 3
Embedded Systems Reliability in a Nutshell... complex but simplified it comes down to: System Reliability = Hardware Reliability -> Dealing with hard- and software issues at the same time makes it very hard to get a reliable system! 4 X Software Reliability
Reliability Testing Lifetime (e.g. HALT) Electrical Software Mechanical "We work under extremely harsh conditions in our business, and we've had every component in our system fail at some point. However, the NI CompactRIO platform has never failed us. - Rob Stewart, President of Lime Instruments (Oil & Gas Industry) Examples DDR3 Validation Reboot Testing EMC Testing Examples Stress Testing Upgradability 5 Examples Thermal Validation Shock/Vibration
Scalable Embedded NI-RIO Multi-Core Architecture Seamlessly integrated, high quality hard- and software High Performance Bus I/O I/O NI Linux Real-Time Multi-Core CPUs AXI PCIe FPGA I/O Custom I/O NI Value Line: Xilinx Zynq: Dual Core ARM Cortex-A9 / AXI Bus / SoC NI Performance Line: Intel Atom Multi-Core / PCIe-Bus / Xilinx Kintex-7 FPGAs NI CompactRIO: modular, industrial certifications NI Single-Board RIO: modular, board-only 6 NI RIO System on Module (SoM) naked brain
Don t Think You Need an FPGA? Think Again! -- 3 Reasons to Augment your Application with an FPGA -- Future-Proof Your Design & Flexibility Adapt to changing requirements (feature creep), evolution of projects, very versatile Maximize Reliability and Determinism For time-critical, safety-critical, and deployed systems Enhance Performance & Improve Functionality Offload processing, Ultra-fast control, Custom timing FPGAs are are on their way up! Xilinx Zynq -7000, Dual Core ARM-/FPGA-based SoC Intel acquired Altera for 17B$ Market size expected to double within 7 years (10B$ to 20B$ in 2020)* *http://www.grandviewresearch.com/industry-analysis/fpga-market 7
Rich Software Eco-System Seamlessly integrated, well validated, multi-core hard- and software Analog/Digital I/O C APIs LabVIEW APIs Industrial Communication Motion NI LabVIEW RIO Architecture LabVIEW FPGA Vision Extensive IP Eco-System For CPUs and FPGAs - examples: - Motion Control - Industrial Communications - Machine Vision - Control Design - Signal Processing -... Third-Party I/O Wireless Packaged Products Board Level Products 8
Within 24 hours of receiving an NI crio-9068 controller, we ran our existing software without any problems. Bob Leigh, CEO of LocalGrid Power Monitoring 9 LocalGrid
IoT: Manageability www./rasm discover issues in the field before they cause system failure keep systems functional even in case of partial failure remote management of issues 10
Manage FPGA Bit Files Update and erase the FPGA bit files on NI Linux Real- Time targets programmatically, from PC tool, and the web 11
NI Linux Real-Time Owned and maintained by NI Custom built and optimized for NI embedded hardware o Supports ARM and IA64, with cross-compilers provided New: NI Package Repository: download./ni-linux-rt/ o Over 3,000 packages New: OS source: github.com/ni PREEMPT_RT Enables real-time reliability through pre-emption, priority inheritance, and scheduling Standard approach to real-time performance on Linux 12
NI Linux Real-Time Enjoy the flexibility of Linux, with the determinism and reliability of a real-time operating system. Desktop UI, Peripherals, System Administration, Real-Time schedulers Leverage the vast ecosystem of tools and IP Networking, Configuration Management, Simulation, Monitoring, etc. Reuse C/C++ code FPGA Interface C API, System Configuration C API 13
Leveraging the Linux Community Databases Security Code Reuse Connectivity SQLite IPTables C/C++ NTP MySQL OpenSSL Shell Scripts SNMP PostgreSQL OpenVPN Python IPv6 NI Package Repository: download./ni-linux-rt/ OS source: github.com/ni Kernel Driver Support Advanced feature; avoids rebuilding kernel modules/drivers against all kernel updates 14
By leveraging the open Linux-based real-time operating system on a commercial off-the-shelf controller, we could port our existing Linux software components in a very short time. That saved us at least four months of development time. - Wolfram Koerver, executive director of S.E.A. Structural Monitoring 15 S.E.A
Quality of Life on NI Linux Real-Time Convenience of a General Purpose OS New: Desktop UI, File Manager, Terminal Emulator, Text Editor Permissions, Application Isolation, Virtual Memory, no reboot required for Time Zone and IP Configuration changes Access to popular interpreters Python, Perl, etc. Common Linux utilities top, ps, netstat, etc. 16
File Systems on NI Linux Real-Time Reliable File Systems UBIFS on ARM ext4 on IA64 17
File Transfer: WebDAV Industry Standard Protocol Manage files on targets remotely over HTTP Secure File Access Authentication & Encryption Supported by all modern OSes and Web Browsers APIs for programmatic access New: WebDAV File Browser 18
IoT Security & Linux Real-Time Integration based on SEL* (Security Enhanced Linux) user authentication through NI-Auth - PC-based tools - Web-based tools - APIs to create custom tools IP Tables *NI Linux Version 2015 and newer www./security 19
IoT: Security on NI Linux Real-Time SSL enabled by default Can programmatically install software over SSL Can use public keys for SSH HTTPS-only communication possible Can turn off HTTP version of the System Web Server IPTables available for setting up a firewall WebDAV for file transfer OpenVPN available for setting up a VPN SELinux 20
Key Resources /linuxrtforum Tutorials Documentation Forum for discussions /linux Links to whitepapers Embedded and Desktop uses download./ni-linux-rt/ Package Repository github.com/ni OS Source 21
National Instruments Profile From Automated Measurements to Embedded Automation... Leaders in Computer-Based Measurement and Automation more than 600 Alliance Partners Long-Term Track Record of Growth and Profitability > 8000+ Employees 40+ countries NI Revenue: CEO since the beginning: Dr. James Truchard (Physicist) 10+ R&D locations 2 Manufacturing sites $1244 M Revenue in 2014 +35 000 customers in 90 countries Among 25 World s Best Multinational Workplaces by the Great Place to Work Institute no customer accounting for more than 5%, 3%, and 7% of sales in 2014, 2013, and 2012 22
Summary Embedded systems reliability = HW reliability x SW reliability A well validated, integrated hard- and software platform can address many of the challenges around reliability-, multi-core- and life cycle management issues. The scalable standardized NI RIO architecture allows to address feature creep even late in the development process. FPGAs allow to further increase system reliability and flexibility. A sophisticated IoT-ready software framework around NI Linux Real-Time allows to maxize system up-time and safe remote management of systems trough the network (RASM). NI Linux Real-Time 2015 is built to address IoT security needs. 23
Thank you! Visit our booth if you have questions!