Virtualization for Hard Real-Time Applications
Partition where you can – Virtualize where you have to
Hanspeter Vogel
Triadem Solutions AG
Experts for Real-Time and Embedded Systems
Real-Time Systems GmbH Gartenstrasse 33
D-88212 Ravensburg Germany
Trends
Hypervisor and
Market Trend
Processor Development
Multi-core CPU enables exponential performance improvement
§ Anticipating multi-core adoption to double within the next two years according to recent VDC report
Traditional Solution
Embedded Ctrl.
ARM / PPC …
Real-Time OS e.g.PLC or Controller.
Fieldbus or RT Ethernet
Machine IPC
x86 CPU User Interface HMI / SCADA
Windows XP
TCP / IP (LAN)
Modern Cost Saving Solution
ATOM or DualCore HW
(Logical) CPU 1
TCP/IP
(Logical) CPU 2
User Interface HMI / SCADA
PLC or Controller
Etc.
Windows XP
Real-Time OS
Fieldbus / RT Ethernet
Machine
Benefits of Virtualization
§Consolidate multiple systems onto a single system
§ Reduce hardware costs (Eliminate separate Controllers)
§ Increase MTBF (Reliability) by reducing Hardware Components
§ Reduce Space, Weight and Power Requirements
§ Reduce Cables and Connectors
§Reuse existing software
§ With VM, existing applications run under each OS machine without re-porting
Virtualization
Why can´t you just use regular virtualization like VMWare, Hyper-V, XEN, KVM, etc.?
Traditional Virtualization
• Host OS always has to boot first
• Guest OS depends on Host OS
• Host OS/VM schedules processing
• No Hardware access for Guest OS
• Only Virtual Devices Accessible
• Host OS provides Drivers
Emulated or Virtualized Hardware
Loss of Real-Time!
„Type 2“ Hypervisor (Host based)
“Real-Time” Virtualization
§ Virtualization adds latencies
§ Virtualizing MMU, Interrupt Controller etc. affect
determinism
§ Debugging more difficult due to additional component (Virtual Machine)
„Type 1“ Hypervisor („Bare Metal Hypervisor“)
RTS Real-Time Hypervisor
Partition where you can, virtualize where you have to
RTS Hypervisor
Partitioning instead of Virtualization
§
Direct hardware access§
Exclusive resource allocation§
Up to 255 cores§
Use of standard drivers§
No latencies (0 µs) added§
Complete isolation of Operating Systems in memory§
No dependencies between Operating Systems§
Easy communication§
Definable boot sequence§
Reboot any system anytimeExample of a Core 2 Duo Processor
Example Configuration
§
Clusters of 16 CPUs§
Six cores executing Windows§
Four Cores executing Linux§
Five Cores executing an§
RTOSSpare cores might be usedto replace DSPs
§
..or for Health-MonitoringPossible Architecture e.g.
Interrupt Handling
The RTS Hypervisor configures the system so all Interrupts are handled directly in hardware.
Unlike traditional Hypervisors this adds no latencies.
RTS Hypervisor:
No Software Layers added (example for Dual Core)
Privileged vs. Virtualized
Providing Direct Hardware Access
§A GPOS like Windows opens up the system to the end user.
§Applications and even drivers can be added to the system.
I.e. these systems are much more prone to failure in the field.
§RTOS Code is tested thoroughly
§Modifications are not possible for the end user.
RTOS can therefore be regarded “Trusted” and deployed in “PRIVILEGED” Mode.
Granting direct hardware access comes with great responsibility Privileged access should only be given to RTOS, not e.g. Windows.
Direct Hardware Access
„Partition where you can. Virtualize where you have to“
The RTS Real-Time Hypervisor virtualizes only hardware used by a General Purpose Operating System (e.g. Windows), elements that play no role in real- time system performance.
Optionally, an RTOS could also be deployed using “Full Virtualization”.
For real-time applications it is
recommended to grant direct hardware access to minimize latencies => Privileged
Communication
Shared Memory
The RTS Hypervisor allows for one or multiple shared memory areas to be configured. The size of the shared memory is only limited by the amount of memory available in the system.
A simple API provides access to the shared memory from within each Operating System providing for Lock mechanisms and simple communication.
Virtual Network (using Inter Processor Interrupts – IPI)
§ The hypervisor provides network drivers for each operating system that reside directly on shared memory.
§ Each Processor core can have its own IP address and MAC address.
§ Regular protocols, like TCP-IP, OPC, CORBA etc. can be used for communication between cores
100% Separation – How do Systems Communicate?
Portfolio
RTS Real-Time Hypervisor “The NEURTAL Hypervisor”
Ø Simultaneously Run Multiple OS’es independently Ø Currently supporting
Wind River VxWorks Microware OS-9 QNX Neutrino On Time RTOS-32 Microsoft Windows Windows Embedded CE
RTEMS T-Kernel / Itron
Linux PreEmptive Linux (OSADL)
Proprietary RTOS Android
MeeGo free standing C-Code
…others upon request
Ø All systems independent and safely separated Ø Hard Real-Time execution is assured
Example: HOMAG Germany
Homag AG: No. 1 Worldwide for Woodworking Machines
§ Shipping Thousands of Machines in over 100 countries
CNC Machining Center For Furniture Manufacturing
Example: HOMAG Germany
PC Based Control realizing very challenging requirements:
§ Typically a 20 Year Machine Live Span!
§ High-end over 40 CNC Axis, distributed over up to 20 CNC channels (Dual Core Windows / Linux 22 CNC Axis)
§ Motion Control – CNC and PLC functionality
§ Real-Time Ethernet (ProfiNet IRT)
PLUS
§ Windows CAD Programming Tools
§ Windows 3-D Simulation
§ Online collision detection (detect all possible collisions based on mathematical machine model to stop machine if needed)
Triadem Solutions AG Güterstrasse 13
CH-2502 Biel
Sales and Marketing
[email protected] Phone: +41 (0)32 327 36 32 Fax: +41 (0)32 327 36 37
Contact