From VME/RTEMS to Industrial PC/LinuxRT: A Migration Story Mitch D’Ewart May 19 2015 EPICS Collaboration Meeting May 2015.

Slides:



Advertisements
Similar presentations
1 Real-time Linux Evaluation Kalynnda Berens, GRC
Advertisements

Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Status of MTCA Infrastructure
Using MapuSoft Instead of OS Vendor’s Simulators.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009.
9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS 9.1 Introduction Application programs are typically developed, compiled, and run on host system Embedded programs.
Presented by: GREG UNGERER Lineo Inc 825 Stanley St Woolloongabba Qld 4102 Australia Ph: Building x86 Based.
DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.
Embedded Solutions for EPICS Based Control Systems Miroslaw Dach Goran Marinkovic Paul Scherrer Institut Switzerland.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Ernest L. Williams Jr. Controls Commissioning October 2007 Controls Commissioning Facility Advisory Committee.
Stephanie Allison Integration with the SLC Control Oct 27, Introduction Demo SLC-Aware IOC Plans for Next 12 Months.
Terri Lahey LCLS FAC: Update on Security Issues 12 Nov 2008 SLAC National Accelerator Laboratory 1 Update on Security Issues LCLS.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Buildroot CS-423 Dick Steflik. buildroot uClibc – C library for developing for embedded Linux –much smaller than GNU C tools to make a cross-compilation.
Virtualization for Cloud Computing
Ronen Gabbay Microsoft Regional Director Yside / Hi-Tech College
Linux-MVME Targets Using Motorola Board Support
1 THE ARCHITECTURE FOR THE DIGITAL WORLD TM THE ARCHITECTURE FOR THE DIGITAL WORLD Embedded Linux for ARM Architecture.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Wir schaffen Wissen – heute für morgen 24. August 2015PSI,24. August 2015PSI, Paul Scherrer Institut Embedded PREEMPT_RT Linux for IOxOS VME IOC Damir.
1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
1 A web enabled compact flash card reader eeble. 2 Weeble Team Chris Foster Nicole DiGrazia Mike Kacirek Website
SSI-OSCAR A Single System Image for OSCAR Clusters Geoffroy Vallée INRIA – PARIS project team COSET-1 June 26th, 2004.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Embedded Linux porting Kernel
CIS 191 – Lesson 2 System Administration. CIS 191 – Lesson 2 System Architecture Component Architecture –The OS provides the simple components from which.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
CLS: Control System E. Matias, R. Berg, G. Wright, T. Wilson, T. Johnson, R. Tanner and H. Zhang Canadian Light Source University of Saskatchewan Invited.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
张俊 BTLab Embedded Virtualization Group Outline  Introduction  Performance Analysis  PerformanceTuning Methods.
Dec 8-10, 2004EPICS Collaboration Meeting – Tokai, Japan MicroIOC: A Simple Robust Platform for Integrating Devices Mark Pleško
Xenomai’s Porting on processor NIOS II Professor : P. Kadionik Authors : Bassi Vincent Louati Azza Mirault Raphael Polette Simon.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
Page 1 of 9 NFS Vendors Conference October 25, 2000 PC Solutions to Network File Systems.
Chapter 1 : The Linux System Part 1 Lecture 1 10/21/
 Overview › Requirements › Proof of Principal › Issues … › First Step – Wrap Altera NIOS2 GNU Tools › Next Step – Build RTEMS/NIOS GNU Tools › Future.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
GPIB Device Control with COSYLAB microIOC COSYLAB microIOC Development for microIOC with SDK GPIB device control microIOCs in SLAC Things learned Jingchen.
PerfSONAR-PS Functionality February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
Full and Para Virtualization
Connecting LabVIEW to EPICS network
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
The 2001 Tier-1 prototype for LHCb-Italy Vincenzo Vagnoni Genève, November 2000.
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
Implementation of Embedded OS
Downloading a new OS kernel to the EBox. Connecting to the eBox Use Network Cable to connect Need to decide if you will be using a Static IP or DHCP Details.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date:
LCLS MPS Upgrade Gasper Jansa, Luciano Piccoli, Jeff Olsen, Garth Brown, Sonya Hoobler, Stephen Norum, Stephanie Allison, Kim Kukhee Adding BSA.
Magnet Low Current PS Upgrade Kristi Luchini,Sandeep Babel, Till Straumann, Mitch D’Ewart, Briant Lam, Dave MacNair May 19, 2016 VME to Emedded Industrial.
Rebuilding Linux Kernel Dedicated to penguin lovers everywhere 26 September 20161Rebuilding kernel by Visakh M R.
Virtualization Neependra Khare
Migrate a RTAI Application to RT- Preempt - A case study lin u troni x.
An Embedded Wireless Mini-Server with Database Support Presented by: Amit Kumar.
Computer System Structures
Introduction to Real-Time Operating Systems
CELF Embedded BOF - Ottawa - July 2008
Current Generation Hypervisor Type 1 Type 2.
UNIT-V EMBEDDED LINUX.
IS3440 Linux Security Unit 7 Securing the Linux Kernel
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Presentation transcript:

From VME/RTEMS to Industrial PC/LinuxRT: A Migration Story Mitch D’Ewart May EPICS Collaboration Meeting May 2015

2 Outline SLAC controls platform background Why Linux for controls Building an embedded real-time Linux system System bring-up LinuxRT considerations Current status Open issues Future outlook

3 SLAC Accelerator Control Platform VME/RTEMS based EPICS IOCs - Strong presence at SLAC - Most of LCLS control system - Most of SPEAR3 control system New controls platforms - Industrial PC, xTCA X86, x86_64, atom x86 - Embedded targets ARM - New projects to upgrade to modern platform

4 Why Linux? New platform, opportunity to upgrade OS Linux is the OS used for servers, OPI at SLAC Linux is the development platform for EPICS at SLAC Reuse existing components Already used for soft IOCs Open source Full control of the software

5 Linux for Real-Time Applications Many options to modify Linux to behave like RTOS RTAI Xenoami CONFIG_PREEMPT (config option in vanilla Linux) PREEMPT_RT Patch Many more Goal is to make Linux like an RTOS Remove unbounded latency Minimize jitter

6 PREEMPT_RT Patch Set of patches to make vanilla Linux behave like an RTOS Make Linux itself real-time Does not require microkernel/hypervisor Example RTAI, Xenamoi, etc. Compatible with Linux programs If it runs on vanilla Linux it runs on PREEMPT_RT POSIX interface for modifying priorities

7 Buildroot for Linux RT System Generation Embedded Linux build system Cross-compile toolchain Root file system with libraries cross-built Kernel and bootloader images Easy to setup menuconfig, gconfig, xconfig, etc. Hundreds of packages Simple structure to understand and extend Open source, vendor neutral

8 Our Embedded Linux Target Use buildroot and PREEMPT_RT patch Minimal root file system Small but powerful System bring-up, debug any issues NFS mount additional directories Programs, libraries, kernel modules, etc. Target real time applications Busybox – single binary for multiple unix utilities Use GNU C library – glibc Started with uclibc but have moved to glibc Needed for vendor supplied static libraries

9 uClibc vs glibc uClibc C library targeting embedded systems Smaller than glibc complete.so set 560k Source compatible glibc Cross compile application is generally enough Not compatible across version (backward, forward compatible) glibc GNU C Library Larger footprint that uClibc complete.so set 7.9M Generally binary compatible Generally backward compatible libc_bench Benchmark comparing C library implementations

10 LinuxRT Targets Started with single LinuxRT target buildroot-uclibc-x86 Added targets buildroot-uclibc-x86 buildroot-uclibc-x86_64 buildroot-glibc-x86 buildroot-glibc-x86_64 buildroot-zynq Now supporting buildroot-glibc-x86 buildroot-glibc-x86_64 buildroot-glibc-zynq

11 Maintaining Buildroot Configuration How to maintain consistent configuration across targets? Maintain common and target specific configurations [Till Straumann] Buildroot configuration br- -common.config br- -.config Linux configuration linux- -common.config linux- -.config Busybox configuration bb-.config

12 Bootloader, System Bring-Up PXE and iPXE bootloaders Power on -> BIOS -> Network card PXE stack DHCP request Obtain IP address Point to image for TFTP TFTP Download Root file system (rootfs.ext2) Kernel image (bzImage) Initial NFS mount Generic startup scripts (Kristi Luchini, Garth Brown) Additional NFS mounts Load kernel modules Start EPICS processes

13 LinuxRT Considerations Lock real-time applications in memory Memory swap will kill real-time performance Call mlockall() as soon as possible Run with real-time priorities Run multiple real-time IOCs on single server Need CA Repeater running Now need kernel modules for each target How to organize this? Current approach linuxKernel_modules

14 Multicore EPICS IOC Resource sharing Many IOCs on single host – BPM, LLRF, MPS, etc. Sharing microResearch EVR Application scaling, load balancing on SMP Let the scheduler decide where to run a process? How to best share resources CPU affinity for separate IOCs?

15 Current Status Accelerator control systems Beam position monitors Machine protection system (MPS BSA processor) Low Level RF Magnet power supply controls Photon control systems Industrial PCs Primarily RHEL6 Beginning to role out LinuxRT Ongoing migration to LinuxRT

16 Open Issues – Non RT Behavior? EPICS Base EPICS missing deadlines on LinuxRT with SMP RT performance loss on SMP? MPS BSA Processor (Gasper Jansa) Setting CPU affinity resolves the issue Not ideal solution

17 Future work Clean up resource sharing – MRF EVR Investigate low latency network stack Linux network stack has higher latencies than RTEMS Have low latency network stacks on RTEMS Fast Feedback Network UDP communication Linux network stack has higher latencies than RTEMS Ping pong testing shows much higher latency Investigate SMP scheduling issues

18 Conclusion New platforms to support at SLAC x86, x86_64, ARM LinuxRT (PREEMPT_RT patch) is the future RTOS for SLAC Many systems already gaining experience with LinuxRT Many more systems to migrate in the future

19 Thanks to Till Straumann Kukhee Kim Ernest Williams Gasper Jansa Kristi Luchini Garth Brown

20 References per/CWLNXRTOSWP.pdfhttp:// per/CWLNXRTOSWP.pdf