Master thesis presentation July 16 th , 2009 Erik van der Kouwe - - PowerPoint PPT Presentation

master thesis presentation
SMART_READER_LITE
LIVE PREVIEW

Master thesis presentation July 16 th , 2009 Erik van der Kouwe - - PowerPoint PPT Presentation

Master thesis presentation July 16 th , 2009 Erik van der Kouwe Computer Systems Section Department of Computer Science Faculty of Science Vrije Universiteit Amserdam Introduction to virtualization Introduction to QEMU Introduction


slide-1
SLIDE 1

Master thesis presentation July 16th, 2009 Erik van der Kouwe Computer Systems Section Department of Computer Science Faculty of Science Vrije Universiteit Amserdam

slide-2
SLIDE 2

Introduction to virtualization Introduction to QEMU Introduction to MINIX 3 Research questions Porting QEMU Testing QEMU Performance Conclusion

slide-3
SLIDE 3

One system emulates one or more VMs

  • Each runs its own guest operating system
  • VMs isolated from each other and from host
slide-4
SLIDE 4

Uses

  • Security research
  • Server farms
  • Software development

Approaches

  • Native execution

 Guest code run directly in reproduced environment  Sensitive instructions are a problem

  • Dynamic binary translation

 Guest code translated into safe host code

  • Paravirtualization

 Guest calls hypervisor to avoid sensitive instructions

slide-5
SLIDE 5

Open source virtualizer Uses dynamic binary translation

  • Alternative: direct execution with kernel module

Advantages

  • General purpose full-system virtualization
  • Portable across hosts and guests
  • Entirely in user space

Disadvantages

  • Slower than alternatives
slide-6
SLIDE 6

Open source OS, built at the VU Microkernel

  • Reduce amount of high-privilege code

Advantages

  • Simple and structured → suitable for education
  • Small and reliable → suitable for embedded systems

Disadvantages

  • Few applications and drivers → small community
  • Many context switches → less performance
slide-7
SLIDE 7

Can MINIX 3 run virtualization software?

  • What issues does one encounter when porting

complex software to MINIX 3?

  • Is it necessary to change MINIX 3 to be able to

run QEMU?

Is the microkernel design an obstacle for

performance?

  • Can bottlenecks be solved within this design?
  • Is QEMU usable on MINIX in practice?
slide-8
SLIDE 8

Use the right compiler Port packages QEMU depends on Allow QEMU to read MINIX binaries Functionality missing in MINIX

  • Add if essential for QEMU to work
  • Avoid using otherwise

Debugging

slide-9
SLIDE 9

Simply run many operating systems

  • MINIX (3.1.2a, 3.1.4)
  • Linux (Debian, Slackware)
  • Windows (95, 98)

And browsers to test networking

  • Mozilla Firefox
  • Internet Explorer

Findings

  • Clock resolution is an issue
  • Performance acceptable for all but Linux
slide-10
SLIDE 10

Benchmarks for various activities

  • Arithmetic, disk, display, interrupts, memory,

network, task switching, ...

Configurations

  • Tested with MINIX 3.1.2a and Linux
  • Both used as host and guest (4 combinations)
  • Compared with native to find slow-down

Overall slow-down just over 10×

  • Slightly worse than Linux
slide-11
SLIDE 11

 Bottlenecks in MINIX

  • Floating point

 FPU not supported

  • Disk input/output

 Small disk cache

  • Graphics

 No hardware acceleration

  • Interrupts

 Setjmp/longjmp

  • Network throughput

 Pauses while sending

0,5 1 2 4 8 16 arithmetic_float arithmetic_int blended_compileminix flow_call flow_conditional flow_exception flow_jumptable flow_syscall flow_taskswitch io_disk_read_random io_disk_read_sequential io_disk_write_random io_disk_write_sequential io_display io_network_latency io_network_throughput memory_load_random memory_load_sequential memory_store_random memory_store_sequential Slow- down of MINIX compar ed to Linux (emulat ing Linux) Slow- down of MINIX compar ed to Linux (emulat ing MINIX)

slide-12
SLIDE 12

Yes, MINIX can run QEMU

  • But modifications are desirable

Yes, performance is comparable to Linux

  • Most bottlenecks are unrelated to microkernel

design

  • But: comparison based on pure binary translation

Other results of research

  • Usable virtualization for MINIX
  • Manual for porting software to MINIX
  • List of additions/improvements desirable for MINIX
slide-13
SLIDE 13
slide-14
SLIDE 14