SlideShare a Scribd company logo
Porting Xen Paravirtualization to
MIPS Architecture
Yonghong Song
Broadcom




                                    1
Motivation

• Broadcom XLP
  –   8 cores, 4 threads each core
  –   Out-Of-
      Out-Of-Order
  –   L1D, L1I, L2 each core, shared L3
  –   Accelerators: NET, SEC, RAID, DMA, COMP, etc.
  –   SOCs: USB, PCIE, FLASH, I2C, etc.
• Need for a software enabled virtualization solution
• Xen ported and provided as a solution




                                                        2
General Xen Usage Model




     Xen dom0               Xen domU          Xen domU
    (Mgmt App)              (Guest OS)        (Guest OS)




launch   Create, monitor, destroy


                             Xen Hypervisor


            Hardware (CPU, Memory, Disk, Net/PCI, etc)


                                                           3
Hybrid Control/Data Plane Model



                       Shared Memory




       Control Plane         Data Plane     Data Plane



                       Bare Metal Linux


                                          NET



                                                         4
Proposed Model in Xen



                       Shared Memory




          Dom0                DomU           DomU
       Control Plane        Data Plane     Data Plane



                           Xen


                                         NET



                                                        5
Outline

• CPU Virtualization (mips64r2 only)
   • Memory virtualization
   • Instruction emulation
   • Exception handling
   • Event Channel and Timer Interrupt
• Preliminary Benchmarking Results
• Summary and Future Work




                                         6
Change of Privilege Levels


       Bare Metal Mode              Virtualization Mode

          User apps                     User apps
                                          Linux


             Linux
               L                             Xen
                                              L




         : user ring     : supervisor ring          : kernel ring



                                                                    7
Address Spaces


              user space         guest kernel virtual space
GVA
               (0 – 2^40)        (0x4000 0000 0000 0000 -)




 GPA        guest 0 phys addr                    guest N phys addr



  MA                               machine memory

 Kernel code + data | shared pages with xen | … | kernel page table | free pages


0x0                                                 Size allocated to each guest
       Xen in unmapped space
                                                                                   8
Page Table Management


        guest page table               P2M table



                            GPA                    MA
  GVA



                    new guest page table



              GVA                          MA




                                                        9
Page Table Layout



                       Bare Metel Linux
         pgd
                                 pmd
                                           pte
    VA pf PMD page
                          VA pf PTE page   PA




    pgd: page global directory
    pmd: page middle directory
    pte: page table entry



                                                 10
Page Table Layout

                              PV Linux
             pgd
                                   pmd
 xkphys (MA of PMD page)                              pte
                           xkphys(MA of PTE page)   MA address




 xkphys: 64-bit kernel physical space (unmapped)
 xkphys: avoid TLB refill during page table walk
 Hardware page walker is used


                                                                 11
Instruction Emulation

• Privileged instructions in guests get trapped and emulated
• XEN trap handlers decipher the instruction and emulate
  appropriately
• A few instructions cause hardware state to change, while
  others change the shadow state
• Shadow state is maintained per virtual cpu of domains
                                    Privileged Insns
                                                       Guest
                                                        Xen
         Shadow states

           cop0 regs        mfc0      tlbp
                            mtc0
                                              tlbs
                                      tlbr
          Bookkeeping for   ei/di
          Exception prop    eret             caches
                            …
                                                               12
Hypercalls

• The service API between guests and xen
• Analogous to system calls between userspace and linux
• Used when a particular service is requested or the overhead
  of trap and emulate is high
• Implemented using the “syscall” instruction
• Sample uses: vcpu creation, request cache flush, etc

                      userspace
          syscall
                        linux
        hypercall
                        xen

                                                                13
Exception Handling

• Exceptions triggered by guests handled by xen
  – Hypercalls
  – Address error exception
  – Privileged instruction traps
• Exceptions triggered by userspace bounced into guests
  – Guests register callbacks for exception entry points such as general
    exception vector etc
  – Xen maintains shadow state to return to userspace after the
    propagated exception is handled
  – Interrupts injected into guests while the bounced exception is
    handled, retaining regular linux semantics




                                                                           14
A syscall example

                                                                     Applications

1. syscall insn                                                8. app resumes
                                                               after syscall

                  4. xen bounces     5. guest syscall
                  syscall to guest   handling
                                                                    Guest Kernel
                           priv
                           insn                         eret
                           trap
   2. control          e                                       7. xen restores
   transfers           r                                       Original state,
   xen                 e                                       Does final eret
                       t
                                       Shadow                  6. xen executes
 3. xen syscall                      architecture              Eret handler      Xen
 handler
                                        state




                                                                                       15
Event Channels

• Events: asynchronous notifications to domains (akin to
  signals in Unix)
• Event channels: abstract duplex communication channels
  (akin to sockets): <dom1, port1; dom2, port2>
• Interrupts are mapped to events
  – Intradomain & interdomain events (e.g., domU console)
  – Virtual IRQ (e.g., timer interrupts)
  – Physical IRQ (e.g., passthrough device interrupts)
• Delivered through a callback function




                                                            16
Time Management

• Time keeping in xen
  – Maintaining system time – Using XLP-specific internal global 64bit
    free running counter
  – Requesting timer interrupts: done by maintaining per-cpu timer list
    and programming the count/compare registers
• Guest OS
  – Xen clocksource: a hardware abstraction for a free running counter to
    maintain system time
     – Maintained through timestamps written by xen on a shared page
  – Xen clockevent: an interface to request timer interrupts
     – Done using the hypercall to program a single shot timer in xen




                                                                            17
Timer Interrupt Illustration


                                                                       Applications


   1. timer
    interrupt           6. guest executes
   occurs               event handler
                                                                       Guest Kernel
                      5. xen injects   7. guest
                      event into       does eret
   2. control         guest                              9. xen restores
   transfers                                             original state,
   to xen                                                does final eret

   3. xen interrupt   4. xen sets           8. xen exectues
   handler            event pending         eret handler                       Xen
   executes           for the guest




                                                                                      18
Performance Optimization

• Expose certain shadow states for guest OS to avoid
  excessive exception start/end cost
• When guest executes “wait” insn, xen tries to “wait” also to
  avoid burning cpu resources




                                                                 19
Preliminary Benchmarking Result

• XLP832: 8 cores, 4 threads each core, 1.0GHZ
  – Only 1 core, 4 threads used for measuring time
• Intel Core 2: 2 cores, 1 thread per core, 2.4GHZ
  – Not using hardware virtualization extensions
• CPU/Memory intensive benchmarks like dhrystone, eembc,
  coremark, etc.
  – 0 – 5% slowdown for dom0 compared to bare metal linux, for both x86
    and XLP
• Hackbench (a lot of system calls)
  – 2X slowdown for dom0 compared to bare metal linux, for both x86
    and XLP
• No noticeable performance difference between dom0 and
  domU on XLP

                                                                          20
Summary and Future Work

• A MIPS port of xen paravirtualization has implemented
  – MMU, exception/interrupt handling, etc.
  – Comparable performance to x86 for bare metal vs. xen
• Currently, our implementation uses xen 3.4.0 for xen
  hypervisor, 4.0.0 for xen tools, linux 2.6.32 for PV linux, so
  we need to
  – Update to latest versions of Xen
  – Submit patches upstream
• More work on I/O paravirtualization
• Ongoing collaboration with MIPS Technologies




                                                                   21
Thank You

More Related Content

PDF
XenSummit NA 2012: Xen on ARM Cortex A15
PDF
From printk to QEMU: Xen/Linux Kernel debugging
PPTX
XenTT: Deterministic Systems Analysis in Xen
PDF
Linaro connect : Introduction to Xen on ARM
PDF
Xen Debugging
PDF
Virtunoid: Breaking out of KVM
PDF
QEMU Disk IO Which performs Better: Native or threads?
PDF
Kvm performance optimization for ubuntu
XenSummit NA 2012: Xen on ARM Cortex A15
From printk to QEMU: Xen/Linux Kernel debugging
XenTT: Deterministic Systems Analysis in Xen
Linaro connect : Introduction to Xen on ARM
Xen Debugging
Virtunoid: Breaking out of KVM
QEMU Disk IO Which performs Better: Native or threads?
Kvm performance optimization for ubuntu

What's hot (20)

PDF
Qemu Introduction
PPTX
QEMU and Raspberry Pi. Instant Embedded Development
PDF
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
ODP
PDF
KVM tools and enterprise usage
PDF
Xen in Linux 3.x (or PVOPS)
PPTX
PV-Drivers for SeaBIOS using Upstream Qemu
PDF
kdump: usage and_internals
ODP
Disk Performance Comparison Xen v.s. KVM
PDF
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
PDF
Kernel Recipes 2017 - Build farm again - Willy Tarreau
PDF
FreeBSD and Drivers
PDF
Virtualization - Kernel Virtual Machine (KVM)
PDF
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
PDF
LCE13: Virtualization Forum
PDF
Look Into Libvirt Osier Yang
PPTX
Drive into kvm
PDF
IITCC15: Xen Project 4.6 Update
PPTX
Link Virtualization based on Xen
Qemu Introduction
QEMU and Raspberry Pi. Instant Embedded Development
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
KVM tools and enterprise usage
Xen in Linux 3.x (or PVOPS)
PV-Drivers for SeaBIOS using Upstream Qemu
kdump: usage and_internals
Disk Performance Comparison Xen v.s. KVM
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
Kernel Recipes 2017 - Build farm again - Willy Tarreau
FreeBSD and Drivers
Virtualization - Kernel Virtual Machine (KVM)
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
LCE13: Virtualization Forum
Look Into Libvirt Osier Yang
Drive into kvm
IITCC15: Xen Project 4.6 Update
Link Virtualization based on Xen
Ad

Viewers also liked (9)

PDF
HDT: General overview April 1999
PPT
Diplomacia PúBlica De Los Estados Unidos
PPTX
Campus Party México 2011
PPT
PIC32MX Microcontroller Family
PPTX
The HaLVM: A Simple Platform for Simple Platforms
PDF
Erlang on OSv
PDF
Ling on PIC32 microcontroller
PDF
OSv at Cassandra Summit
PPTX
LinuxCon Japan 13 : 10 years of Xen and Beyond
HDT: General overview April 1999
Diplomacia PúBlica De Los Estados Unidos
Campus Party México 2011
PIC32MX Microcontroller Family
The HaLVM: A Simple Platform for Simple Platforms
Erlang on OSv
Ling on PIC32 microcontroller
OSv at Cassandra Summit
LinuxCon Japan 13 : 10 years of Xen and Beyond
Ad

Similar to Porting Xen Paravirtualization to MIPS Architecture (20)

PDF
Windsor: Domain 0 Disaggregation for XenServer and XCP
PPTX
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
PDF
12 christian ferber xen_server_advanced
PDF
XS Japan 2008 Xen Mgmt English
PPTX
PPTX
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
PPTX
Xen in the Cloud at SCALE 10x
PPTX
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
PPTX
vBACD July 2012 - Xen Cloud Platform
PPTX
BACD July 2012 : The Xen Cloud Platform
PDF
Xen and the Art of Virtualization
PDF
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
PDF
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
PPTX
Xen and Apache cloudstack
PPTX
Xen Project Update LinuxCon Brazil
PDF
PDF
Xen in Safety-Critical Systems - Critical Summit 2022
PDF
Virtualization with KVM (Kernel-based Virtual Machine)
PDF
The kvm virtualization way
PDF
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Windsor: Domain 0 Disaggregation for XenServer and XCP
Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Frame...
12 christian ferber xen_server_advanced
XS Japan 2008 Xen Mgmt English
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Xen in the Cloud at SCALE 10x
Xen cloud platform v1.1 (given at Build a Cloud Day in Antwerp)
vBACD July 2012 - Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform
Xen and the Art of Virtualization
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Xen and Apache cloudstack
Xen Project Update LinuxCon Brazil
Xen in Safety-Critical Systems - Critical Summit 2022
Virtualization with KVM (Kernel-based Virtual Machine)
The kvm virtualization way
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02

More from The Linux Foundation (20)

PDF
ELC2019: Static Partitioning Made Simple
PDF
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
PDF
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
PDF
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
PDF
XPDDS19 Keynote: Unikraft Weather Report
PDF
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
PDF
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
PDF
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
PPTX
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
PPTX
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
PDF
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
PDF
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
PDF
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
PDF
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
PDF
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
PDF
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
PDF
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
ELC2019: Static Partitioning Made Simple
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Big Data Technologies - Introduction.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
PPTX
sap open course for s4hana steps from ECC to s4
PPT
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Big Data Technologies - Introduction.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
sap open course for s4hana steps from ECC to s4
Teaching material agriculture food technology

Porting Xen Paravirtualization to MIPS Architecture

  • 1. Porting Xen Paravirtualization to MIPS Architecture Yonghong Song Broadcom 1
  • 2. Motivation • Broadcom XLP – 8 cores, 4 threads each core – Out-Of- Out-Of-Order – L1D, L1I, L2 each core, shared L3 – Accelerators: NET, SEC, RAID, DMA, COMP, etc. – SOCs: USB, PCIE, FLASH, I2C, etc. • Need for a software enabled virtualization solution • Xen ported and provided as a solution 2
  • 3. General Xen Usage Model Xen dom0 Xen domU Xen domU (Mgmt App) (Guest OS) (Guest OS) launch Create, monitor, destroy Xen Hypervisor Hardware (CPU, Memory, Disk, Net/PCI, etc) 3
  • 4. Hybrid Control/Data Plane Model Shared Memory Control Plane Data Plane Data Plane Bare Metal Linux NET 4
  • 5. Proposed Model in Xen Shared Memory Dom0 DomU DomU Control Plane Data Plane Data Plane Xen NET 5
  • 6. Outline • CPU Virtualization (mips64r2 only) • Memory virtualization • Instruction emulation • Exception handling • Event Channel and Timer Interrupt • Preliminary Benchmarking Results • Summary and Future Work 6
  • 7. Change of Privilege Levels Bare Metal Mode Virtualization Mode User apps User apps Linux Linux L Xen L : user ring : supervisor ring : kernel ring 7
  • 8. Address Spaces user space guest kernel virtual space GVA (0 – 2^40) (0x4000 0000 0000 0000 -) GPA guest 0 phys addr guest N phys addr MA machine memory Kernel code + data | shared pages with xen | … | kernel page table | free pages 0x0 Size allocated to each guest Xen in unmapped space 8
  • 9. Page Table Management guest page table P2M table GPA MA GVA new guest page table GVA MA 9
  • 10. Page Table Layout Bare Metel Linux pgd pmd pte VA pf PMD page VA pf PTE page PA pgd: page global directory pmd: page middle directory pte: page table entry 10
  • 11. Page Table Layout PV Linux pgd pmd xkphys (MA of PMD page) pte xkphys(MA of PTE page) MA address xkphys: 64-bit kernel physical space (unmapped) xkphys: avoid TLB refill during page table walk Hardware page walker is used 11
  • 12. Instruction Emulation • Privileged instructions in guests get trapped and emulated • XEN trap handlers decipher the instruction and emulate appropriately • A few instructions cause hardware state to change, while others change the shadow state • Shadow state is maintained per virtual cpu of domains Privileged Insns Guest Xen Shadow states cop0 regs mfc0 tlbp mtc0 tlbs tlbr Bookkeeping for ei/di Exception prop eret caches … 12
  • 13. Hypercalls • The service API between guests and xen • Analogous to system calls between userspace and linux • Used when a particular service is requested or the overhead of trap and emulate is high • Implemented using the “syscall” instruction • Sample uses: vcpu creation, request cache flush, etc userspace syscall linux hypercall xen 13
  • 14. Exception Handling • Exceptions triggered by guests handled by xen – Hypercalls – Address error exception – Privileged instruction traps • Exceptions triggered by userspace bounced into guests – Guests register callbacks for exception entry points such as general exception vector etc – Xen maintains shadow state to return to userspace after the propagated exception is handled – Interrupts injected into guests while the bounced exception is handled, retaining regular linux semantics 14
  • 15. A syscall example Applications 1. syscall insn 8. app resumes after syscall 4. xen bounces 5. guest syscall syscall to guest handling Guest Kernel priv insn eret trap 2. control e 7. xen restores transfers r Original state, xen e Does final eret t Shadow 6. xen executes 3. xen syscall architecture Eret handler Xen handler state 15
  • 16. Event Channels • Events: asynchronous notifications to domains (akin to signals in Unix) • Event channels: abstract duplex communication channels (akin to sockets): <dom1, port1; dom2, port2> • Interrupts are mapped to events – Intradomain & interdomain events (e.g., domU console) – Virtual IRQ (e.g., timer interrupts) – Physical IRQ (e.g., passthrough device interrupts) • Delivered through a callback function 16
  • 17. Time Management • Time keeping in xen – Maintaining system time – Using XLP-specific internal global 64bit free running counter – Requesting timer interrupts: done by maintaining per-cpu timer list and programming the count/compare registers • Guest OS – Xen clocksource: a hardware abstraction for a free running counter to maintain system time – Maintained through timestamps written by xen on a shared page – Xen clockevent: an interface to request timer interrupts – Done using the hypercall to program a single shot timer in xen 17
  • 18. Timer Interrupt Illustration Applications 1. timer interrupt 6. guest executes occurs event handler Guest Kernel 5. xen injects 7. guest event into does eret 2. control guest 9. xen restores transfers original state, to xen does final eret 3. xen interrupt 4. xen sets 8. xen exectues handler event pending eret handler Xen executes for the guest 18
  • 19. Performance Optimization • Expose certain shadow states for guest OS to avoid excessive exception start/end cost • When guest executes “wait” insn, xen tries to “wait” also to avoid burning cpu resources 19
  • 20. Preliminary Benchmarking Result • XLP832: 8 cores, 4 threads each core, 1.0GHZ – Only 1 core, 4 threads used for measuring time • Intel Core 2: 2 cores, 1 thread per core, 2.4GHZ – Not using hardware virtualization extensions • CPU/Memory intensive benchmarks like dhrystone, eembc, coremark, etc. – 0 – 5% slowdown for dom0 compared to bare metal linux, for both x86 and XLP • Hackbench (a lot of system calls) – 2X slowdown for dom0 compared to bare metal linux, for both x86 and XLP • No noticeable performance difference between dom0 and domU on XLP 20
  • 21. Summary and Future Work • A MIPS port of xen paravirtualization has implemented – MMU, exception/interrupt handling, etc. – Comparable performance to x86 for bare metal vs. xen • Currently, our implementation uses xen 3.4.0 for xen hypervisor, 4.0.0 for xen tools, linux 2.6.32 for PV linux, so we need to – Update to latest versions of Xen – Submit patches upstream • More work on I/O paravirtualization • Ongoing collaboration with MIPS Technologies 21