Imagination at work. Mark Kraeling, GE Xen Developers Conference August 17, 2015 Virtualizing the Locomotive: Ready, Set, Go!
Imagination at work.
Mark Kraeling, GEXen Developers ConferenceAugust 17, 2015
Virtualizing the Locomotive: Ready, Set, Go!
Presentation Disclosure
The view, opinion, and position expressed by the author is the author’s alone, and do not necessarily reflect the views, opinions or positions of GE Transportation, GE, or any employee thereof. The author makes no representations as to accuracy, completeness, timeliness, suitability or validity of any information presented and will not be liable for any errors, omissions, or delays in this information or any losses, injuries or damages arising from its display or use.
Agenda
3Xen Project Developer Summit | 17 August 2015
The Locomotive System
Use Cases for Virtualization
Hardware Platform
What’s Important to Us in Virtualization
Optional Demo
Speaker Background
Mark Kraeling
• GE Transportation Cab Electronics– Products for Locomotive Onboard– Based in Melbourne, FL
• Product Architect– Wired/Wireless Communications– Linux and ARM based Designs
The Locomotive System
5Xen Project Developer Summit | 17 August 2015
The Locomotive
6Xen Project Developer Summit | 17 August 2015
It’s All About Information…
7Xen Project Developer Summit | 17 August 2015
It’s All About Information…
8Xen Project Developer Summit | 17 August 2015
Smart Data Processing
Want to process data onboard – offload alerts, data snipets, and messages when needed
9
Use Cases for Virtualization
10Xen Project Developer Summit | 17 August 2015
What GE Transportation Did…
Single OS runs on a single hardware platform, typically with a collection of applications based on resources
HW
OS
App
11
Virtualization Use Cases – Cost Reduction
Consolidation :
• Redeploy multiple discrete systems/domains onto a single multi-core processor
Benefits:– Cost effective : bill-of-material, power
– Preserve investment : software re-use
– Improved hardware utilization
– Flexibility
Multicore HW
OS
App
OS
App
12
Virtualization Use Cases – Reliability & Protection
Sandboxing :
• Add untrusted software to a system, e.g. operator applications
• Run GPL based software in isolation• Run test software safely• Isolate security-sensitive tasks :
access rights control, rule definitions, key management, …
High availability
• active/standby configuration without additional hardware
Multicore HW
OS
App
OS
App
Multicore HW
OS
App
OS
App
Multicore HW
OS
App
OS
App
13
Virtualization Use Cases – Flexibility & Scalability
Run legacy software / OS on LinuxAdd functionality to existing system by dropping in a VMUse different versions of the Linux kernelBetter resource management• Allocation of physical CPUs / control CPU load• Create/destroy VMs as neededMaps well to split workload• e.g. control plane, data planeIn-service upgrade
Multicore HW
OS
Data Plane
OS
CTRL Plane
14
Virtualization Use Cases: SummaryReliability and Protection
Multicore HW
OS
App
OS
App
Multicore HW
OS
App
OS
App
Multicore HW
OS
App
OS
App
Sandboxing
Failover
Cost Reduction
HW
OS
App
HW
OS
App
Multicore HW
OS
App
OS
App
Consolidation
Flexibility and Scalability
Multicore HW
OS
Data Plane
OS
CTRL Plane
Split Workload
Dynamic Resource Management
Multicore HW
OS
App
OS
App
Multicore HW
OS
App
OS
App
15
Hardware Platform
16Xen Project Developer Summit | 17 August 2015
Locomotive Chassis
17
Shift from Separate Boxes to Modules that Support Applications• Simplification• Reduced cost• Free up space• Redundancy
Locomotive Chassis: Networking Based32-bit• ARM® Cortex Ax-series• Choose processor based on interface need
64-bit• ARM® Cortex A53-series• Could supplant x86-based applications
18
To date we have targeted KVM for these modules
Locomotive Chassis: Processing BasedVariant #1• Intel® BayTrail Processor (2014)
• “Starter Set”
Variant #2• Intel® Broadwell Processor (2015)
• “High Test”
19
To date, we have used Xen for virtualization solutions
Linux ContainersDon’t Shoot the Messenger…• Being considered for ARM®-based
solutions where operating systems could share a common kernel
• Performance on 32-bit becomes important
20
Lightervisors• LXC / LXD (OS)• Docker / Rocket (Apps)
Opinion Based on Development to Date
21
0
10
20
30
40
50
60
70
80
90
100
Intel ARM 64-bit ARM 32-bit
Xen
KVM
LXC/LXD
What’s Important to Us in Virtualization
22Xen Project Developer Summit | 17 August 2015
Xen Processor Support
• Currently both Intel-based processors we are using are not supported by the Xen set we are using
• Expansion extremely important to us – need to be able to add processors in the future and have them join the same pool of resources
23
Local Management of Guests
• Need rules-based capability for HyperVisor to automatically restart guests, or even start a different guest
• HyperVisor to Guest handshaking / status• Better pool management – HyperVisor can
coordinate with others in the pool, and make smarter decisions including migration of guests where it makes sense
24
Standardized Imaging
• Probably something easy… but…• Need non-UUID fixed ways to move entire
HyperVisor images from one module to another• Includes pooled pairs being able to be swapped
out and have pools maintained (network-based rules)
25
Intel Demonstration
26
BayTrail #1
Xen Base
Xen VM Libraries
Ubuntu 14.04
BayTrail #2 Broadwell
Xen Base Xen Base
Xen VM Libraries Xen VM Libraries
Ubuntu X-Image
14.04
LXC Ubuntu
LXC Debian
Ubuntu 10.04
#1
Ubuntu 10.04
#2
Array
Pooled