2. Topics
Motivation
What it is
Advantages
Limitations
Para-partitioning vs. Virtualization
Applications
How it works
Demo
2
3. Motivation
Many existing embedded apps are single-
threaded
– Cannot scale on new multi-core processors
Control and data-plane historically separate
– Expensive duplication of physical resources
Applications have different resource needs
– Multiple system designs in a given environment
3
4. What it is
Multiple logical systems on single physical
system
Physical resources mapped to logical
systems
Resource allocation customized to needs of
logical systems
4
5. What it is
N
PCI slot 1
Socket 0 VGA
PCIe slot 2
Front
0 1
USB
PCIe slot 3
2 3 Memory Rear
PCI-X slot 4
USB
PCIe slot 5
Dual
Socket 1
NIC
PCIe slot 6
0
4 5 KB/
SATA Mouse
6 7
PATA Serial
5
6. What it is
N
PCI slot 1
Socket 0 VGA
Memory
PCIe slot 2
Front
0 1
USB
PCIe slot 3
2 3 Rear
PCI-X slot 4
USB
Memory
PCIe slot 5
Dual
Socket 1
NIC
PCIe slot 6
0
4 5 KB/
SATA Mouse Partition 0
6 7 Partition 1
PATA Serial
6
7. What it is
N
PCI slot 1
Socket 0 VGA
Memory
PCIe slot 2
Front
0 1
USB
PCIe slot 3
2 3 Rear
PCI-X slot 4
USB
Memory
PCIe slot 5
Dual
Socket 1
NIC
PCIe slot 6
0
4 5 KB/
SATA Mouse Partition 0
6 7 Partition 1
PATA Serial
7
8. What it isn’t
Replacement for Virtualization
Full security solution
Dynamically configurable
Completely transparent
8
9. Advantages
Better multi-core scaling of independent
data flows
Consolidation of control and data plane
elements
Without additional latency or VMM overhead
9
10. Limitations
OSes must be well behaved
Logical systems require some OS
modifications
– One legacy, unmodified OS can be supported
Requires cooperative PCI scanning
10
11. Limitations
Each logical system needs its own
– Processor core
– Memory region
– Any other devices
No sharing!
Global system resources must be controlled
by one partition
– Ex. SMM, RTC
11
12. Para-partitioning vs. Virtualization
Direct hardware access Hypervisor-emulated
devices
1:1 resource mapping Resource Sharing
– Granularity varies
among types of
resources
12
13. Para-partitioning vs. Virtualization
Hardware-limited Performance-limited
numbers of logical numbers of guests
systems
Static resource allocation Dynamic resource
at boot allocation by hypervisor
13
14. Para-partitioning vs. Virtualization
Real SMP available to Emulated SMP available
logical systems to guests
OS must support Guests run unmodified
relocation (with hardware
virtualization support)
14
16. Applications for Para-partitioning
Replacing multiple embedded systems
Leverage multi-core processors via multiple
instances of single-threaded RTOS
Enforce resource limits on shared systems
Consolidate different workloads while still
providing some isolation
16
17. Applications for Virtualization
Consolidate multiple servers
Hosting services on different OSes
Virtual hosting for different customers
Multi-OS development environment
17
18. How Para-partitioning works
EFI allocates resources among partitions
EFI spawns additional copies of itself
Each copy hides other partitions’ devices by
generating a filtered ACPI table
18
19. How Para-partitioning works
Power
On
Boot non- Disable
EFI
legacy OS config
Shell
(Partition 0) writes
Boot legacy
Spawn
EFI Shell OS (Partition
Copy
1)
19
20. Demo
Serial Adapter
N
PCI slot 1
Socket 0 VGA
Memory
PCIe slot 2
Front
0 1 Dual-Port NIC
USB
PCIe slot 3
2 3 Rear
PCI-X slot 4
USB
Memory
PCIe slot 5
Dual
Socket 1
NIC
PCIe slot 6
0
4 5 KB/
SATA Mouse Partition 0
6 7 Partition 1
PATA Serial
20
21. Summary
Multiple logical systems on single hardware
system
Direct hardware access (no hypervisor)
Works best for well-defined, fixed
applications
21