1 6/17/2011 Introduction Emulation Evaluation Conclusions CPU - - PowerPoint PPT Presentation

1
SMART_READER_LITE
LIVE PREVIEW

1 6/17/2011 Introduction Emulation Evaluation Conclusions CPU - - PowerPoint PPT Presentation

1 6/17/2011 Introduction Emulation Evaluation Conclusions CPU Device Chipset Memory Physical Address Physical Address 2 6/17/2011 Introduction Emulation Evaluation Conclusions Main Memory Physical Address IOMMU MMU I/O Virtual


slide-1
SLIDE 1

6/17/2011

1

slide-2
SLIDE 2

Device CPU Memory Chipset Physical Address Physical Address

6/17/2011

2

Introduction Emulation Evaluation Conclusions

slide-3
SLIDE 3

Introduction Emulation Evaluation Conclusions MMU IOMMU Main Memory CPU I/O Device I/O Virtual Address Physical Address Virtual Address

slide-4
SLIDE 4

6/17/2011

4

Introduction Emulation Evaluation Conclusions

slide-5
SLIDE 5

6/17/2011

5

Introduction Emulation Evaluation Conclusions

slide-6
SLIDE 6

6/17/2011

6

Introduction Emulation Evaluation Conclusions

slide-7
SLIDE 7

6/17/2011

7

Guest Domain Emulation Domain (Hypervisor) System Domain I/O Device IOMMU Memory IOMMU Emulation

  • Phys. PTEs

I/O Buffer

  • 9. Transaction to IOVA
  • 7. Map

IOVAHPA

  • 11. Translate

IOVA

  • 10. IOVA Access
  • 12. HPA Access
  • 8. IOTLB Invd.

Mapping Layer

  • 1. Request IOVA

for GPA

I/O Device Driver

  • Emul. PTEs
  • 3. Update Mappings (IOVAGPA)
  • 5. Read
  • 4. IOTLB Invd.
  • f IOVA
  • 2. Allocate IOVA
  • 6. Pin pages

Introduction Emulation Evaluation Conclusions

slide-8
SLIDE 8

6/17/2011

8

Introduction Emulation Evaluation Conclusions

slide-9
SLIDE 9

6/17/2011

9

Introduction Emulation Evaluation Conclusions

slide-10
SLIDE 10

6/17/2011

10

Guest Hypervisor (VMM) Sidecore (VMM) Emulated Registers Write Poll Emulate Done (Write) Done (Read) Introduction Emulation Evaluation Conclusions

slide-11
SLIDE 11

6/17/2011

11

Introduction Emulation Evaluation Conclusions

slide-12
SLIDE 12

6/17/2011

12

Introduction Emulation Evaluation Conclusions

slide-13
SLIDE 13

6/17/2011

13

I/O virtual page 1 Physical page I/O virtual page 2 Introduction Emulation Evaluation Conclusions

slide-14
SLIDE 14

6/17/2011

14

Introduction Emulation Evaluation Conclusions

slide-15
SLIDE 15

6/17/2011

15

Introduction Emulation Evaluation Conclusions

slide-16
SLIDE 16

CPU Cycles SW/HW Interaction Logic Total Bare-metal 2316 4593 6909 Trap & Emulate 30645 4324 34969 Sidecore 7321 1904 9225

6/17/2011

16

Average breakdown of (un)mapping a single page using the strict invalidation scheme Introduction Emulation Evaluation Conclusions

slide-17
SLIDE 17

Setting Secure (No IOTLB Batching) Relaxed (Linux Default; IOTLB Batching) Optimistic (Patched; IOTLB Batching) Bare-metal 43% 91% 100% Trap & Emulate 10% 11% 82% Sidecore 30% 49% 100%

6/17/2011

17

Measuring the NetperfTCP throughput relatively to the maximum attainable (9.3Gbps) Introduction Emulation Evaluation Conclusions

slide-18
SLIDE 18

Setting Secure (No IOTLB Batching) Relaxed (Linux Default; IOTLB Batching) Optimistic (Patched; IOTLB Batching) Bare-metal 84% 92% 94% Trap & Emulate 38% 39% 56% Sidecore 61% 63% 66%

6/17/2011

18

Measuring Apache throughput (25 concurrent requests); the baseline for normalization is 6828 requests per second Introduction Emulation Evaluation Conclusions

slide-19
SLIDE 19

6/17/2011

19

Introduction Emulation Evaluation Conclusions