Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.

Similar presentations


Presentation on theme: "Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker."— Presentation transcript:

1 Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker

2 Topics Definitions Benefits Tradeoffs Embedded Virtualization Use Cases Embedded Issues with Virtualization Conclusion

3 Virtualization from 10,000 feet Securely share hardware between multiple guest software stacks Minimize changes to guest software A host kernel manages the hardware resources Could multiplex hardware; could just provide isolation KVM: Linux as host kernel Isolation is a requirement Fault containment, security Host kernel must be more privileged than guests kernel app processor guest app guest app host processor

4 Virtualization Flavors Full virtualization: no guest kernel modifications at all Privileged operations in the guest are either handled by hardware or emulated by software Performance could benefit from guest co-operation Paravirtualization: remove all privileged operations from guest kernel Including MMU and interrupt control Probably requires extensive source code modifications Balance: good performance, minimize guest modifications Use full virtualization for most operations, but modify guest in performance-critical areas

5 Virtualization Benefits

6 Benefits of Server Virtualization Workload consolidation Increase server utilization Reduce capital, hardware management, power, space, heat costs Legacy OS support Especially with large slow-moving 3 rd -party software products Instant provisioning Easily create new virtual machines Easily reallocate resources (memory, processor, IO) between running virtual machines Migration Predicted hardware downtime Workload balancing

7 Benefits of Embedded Virtualization Workload consolidation Flexible resource provisioning License barrier Legacy software support Especially important with dozens or hundreds of embedded operating systems, commercial and home-brew Improve reliability Improve security

8 Virtualization Tradeoffs

9 There is a performance tradeoff Applications that used to own the whole processor must now share it Hypervisor adds some runtime overhead too Full virtualization without hardware support means software emulation Increase in management complexity Old scenario: two software stacks + two hardware systems New scenario: two software stacks + one hardware system + one host kernel More abstraction, more software layers, more complexity... More bugs Increases size of Trusted Computing Base Increases impact of (unpredicted) hardware failure

10 Embedded Virtualization Use Cases

11 Workload Consolidation Consolidate legacy systems legacy SW legacy HW host kernel legacy SW new HW legacy SW legacy HW legacy SW legacy SW

12 Legacy Software Run legacy software on new core/chip/board with full virtualization legacy SW legacy HW host kernel legacy SW new HW new SW

13 Legacy Software Consolidate legacy software RT app proprietary kernel core Linux/KVM visualization app core RT app proprietary kernel core Linux visualization app core

14 Multicore Enablement Legacy uniprocessor applications legacy app core legacy kernel core multicore kernel core host kernel app legacy kernel legacy app legacy app

15 Multicore Enablement Flexible resource management core host kernel data plane data plane control plane data control

16 Improved Reliability Hot standby without additional hardware HW host kernel HW backup app HW backup app HW app

17 Secure Monitoring Protect monitoring software host kernel HW monitor app HW app kernel network

18 Embedded Virtualization Issues

19 Memory/flash footprint Is Linux too big to be a host kernel? Weren't you going to run Linux anyways? Do you need multiple copies of Linux? Different kernel versions Greater performance and functional isolation than plain Linux tasks Extremely tight footprint requirements? See TRANGO

20 Security Host kernel must be certified Increases size of Trusted Computing Base Extreme security requirements? See Green Hills Software's “Padded Cell”

21 Direct IO Access Guest can directly access physical IO without host involvement Native speed IOMMU provides isolation and physical address translation (DMA)‏ Translation could be done with guest modifications Issues: IOMMU required for DMA isolation Limited by number of physical IO devices Guests must have device drivers What about legacy guests on new hardware? Breaks migration IRQ delivery and routing

22 Emulated IO Host software emulates guest IO accesses Issues: Must write software to (perfectly?) emulate hardware Dramatic increase in IO latency Host OS must have physical device drivers Device driver availability, licensing concerns

23 Virtual IO No hardware at all, just inter-guest data transfer New guest device drivers co-operate with host Issues: Requires guest modification (at least new device drivers)‏ Host OS still needs physical IO drivers

24 Real-time support RTOS + Linux model Requires RT support in host kernel Scheduling Dedicated cores? Time-sharing adds context switch latency Interrupt handler latency Direct IO access? Linux task RTOS core Linux/KVM RTOS task core device

25 Hardware Virtualization Support Efficient virtualization requires hardware support Goal: minimize performance overhead and modifications to guests Architecture support High-end x86 (Intel VT, AMD SVM)‏ High-end PowerPC (PowerPC 970)‏ Embedded PowerPC virtualization architecture announced ARM TrustZone

26 Conclusion There is overlap between server and embedded virtualization scenarios, but also scenarios and issues unique to embedded systems. Deploying virtualization is an engineering tradeoff, but virtualization offers some compelling advantages for embedded applications.


Download ppt "Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker."

Similar presentations


Ads by Google