SlideShare a Scribd company logo
1 of 35
Download to read offline
Stub Domains
A Step Towards Dom0 Disaggregation

      Samuel Thibault, Citrix/XenSource
The Big Domain 0
    Runs a lot of Xen components

        Domain manager
    ◦
        Domain Builder
    ◦
        Device Models
    ◦
        PyGRUB
    ◦
    These are currently running as root

    ◦ e.g. PyGRUB to access guest's disk

    Security issues


    Scalability issues

What Are Stub Domains?
    Helper domains which run Xen components




    Based on Mini-OS




    Domain Builder (Derek Murray)


    Device Model


    PV-GRUB


    ...

What Are Stub Domains?
    Helper domains which run Xen components




    Based on Mini-OS




    Domain Builder (Derek Murray)


    Device Model


    PV-GRUB


    ...

POSIX Environment
on Top of Mini-OS
                                                       A p p l i c a ti o n


                                                                  getpid,
                                                                  sleep,
                        n e w lib                                                              lw IP
                                                                     U n ix
                                                                  read, lines
                                                                    1200
                                                                  select, ..

                       C o n s o le                               B lo c k          FS              FB
                                           N e tw o rk
    Sched         MM   fro n te n d                              fro n te n d   fro n te n d    fro n te n d
                                           fro n te n d
    M in i- O S


                                      X e n H y p e r v is o r
New Mini-OS Features
    Disk frontend


    FrameBuffer frontend


    FileSystem frontend

    ◦ Imported from JavaGuest
    ◦ Remote access to some /export (e.g. of dom0)
    More advanced MM

    ◦ Read-Only memory
    ◦ CoW for zeroed pages
    But still keep it simple

    ◦ Single address space, mono-VCPU, no preemption
    Bugfixes!

stubdom/
   Makefile
    ◦ Download and compile a cross-compilation
      environment
      binutils, gcc, newlib, lwip
   c/
    ◦ 'Hello World!' C application
   caml/
    ◦ 'Hello World!' Caml application
   README
    ◦ Of course :)
Current HVM device model

         qem u


         L in u x
                                  H V M d o m a in
      dom 0
                                        IN /O U T

                    X e n H y p e rv is o r
Current HVM dm
    Not always responsive

    ◦ Have to wait for dom0 Linux to schedule qemu
    Eats dom0 CPU time


    Uses dom0 resources from userland

    ◦ Disk, tap network
    ◦ Hence runs as root
HVM dm domain

                            qem u


                PV
     L in u x             M in i-O S
                                               H V M d o m a in
  dom 0                s tu b d o m
                                                   IN /O U T

                     X e n H y p e rv is o r
HVM dm domain
     45
     40
     35
     30
     25
                                      Dom0
     20                               Stubdom
     15
     10
     5
     0
          Inb (Kcy)   Boot time (s)
HVM dm domain Disk Perfs
    80
    70
    60
    50
                                      Dom0
    40                                Stubdom
    30                                Native
    20
    10
     0
         Read (MB/s)   Write (MB/s)
HVM dm domain Disk CPU%
          stubdom

                           DomU
                           Dom0
  Read              dom0   Stubdom
                           Free




          stubdom

                           DomU
                           Dom0
  Write             dom0   Stubdom
                           Free
HVM dm domain Net Perfs
e1000
    80
    70
    60
    50
                                     Dom0
    40
                                     Stubdom
    30
    20
    10
     0
         Recv (MB/s)   Send (MB/s)
HVM dm domain Net CPU%
e1000 stubdom
                            DomU
    Recv                    Dom0
                     dom0   Stubdom
                            Free




           stubdom

                            DomU
    Send                    Dom0
                     dom0   Stubdom
                            Free
HVM dm domain Net Perfs
bicore
    120

    100

     80

                                      Dom0
     60
                                      Stubdom
     40

     20

     0
          Recv (MB/s)   Send (MB/s)
HVM dm domain Net CPU%
bicore stubdom
                            DomU
    Recv                    Dom0
                     dom0   Stubdom
                            Free




           stubdom

                            DomU
    Send                    Dom0
                     dom0   Stubdom
                            Free
HVM dm domain
    Almost unmodified qemu

    ◦ Disable e.g. sound support, plug Mini-OS PV drivers
    Relieves dom0


    Provides better CPU usage accounting

    ◦ Can charge HVM domain with dm domain time
    A lot safer

    ◦ Only privilege is having the HVM dom as target
    ◦ Uses same resource access as PV guests
    More efficient

    ◦ Let the hypervisor schedule it directly
    ◦ More lightweight OS
PyGRUB

           PyG R U B

              xend


            L in u x
                                     P V d o m a in
         dom 0


                       X e n H y p e rv is o r
                                menu.lst
                                vmlinuz
                                initrd
PyGRUB
    Needs to be root to access guest disk

    ◦ Security issues
    Does not currently provide network boot


    Reimplements GRUB

PV-GRUB start

        xend

                                    GRUB                lib x c
      L in u x
                                           M in i-O S
   dom 0

                 X e n H y p e rv is o r

                               menu.lst
                               vmlinuz
                               initrd
PV-GRUB loading

        xend                    P V k e rn e l          in itrd

                                    GRUB                  lib x c
      L in u x
                                           M in i-O S
   dom 0                          b lk f r o n t   n e tfr o n t


                 X e n H y p e rv is o r

                               menu.lst
                               vmlinuz
                               initrd
PV-GRUB loaded

        xend                    P V k e rn e l      in itrd

                                    GRUB                lib x c
      L in u x                               Kexec!
                                           M in i-O S
   dom 0

                 X e n H y p e rv is o r
PV-GRUB

       xend                    P V k e rn e l   in itrd


     L in u x
                              P V d o m a in
  dom 0

                X e n H y p e rv is o r
PV-kexec
              in i t r d

          P V k ern el



              boot
            kexec
             li b x c

            GRUB


           M in i- O S



             M in i- O S
     v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d

          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d
                                           boot
          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d
              boot                         boot
          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d
              boot                         boot
          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d
              boot                         boot
          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-kexec
                                          s ta c k
              in it r d
              boot                         boot
          P V k ern el                  p g t a b le

                                          in it r d
              boot
                                      P V k ern el
            kexec
                                                            0xc0000000
             lib x c

            GRUB


           M in i- O S



             M in i- O S        T arg et P V g u est
     v ir t u a l m e m o r y    v ir t u a l m e m o r y
PV-GRUB
    Executes upstream GRUB

    ◦ Replace native drivers with Mini-OS drivers
    ◦ Add PV kexec implementation
    Just uses the target PV guest resources


    Supports network


    Supports graphical menu

Conclusion
    Dm domain

        Improves   security
    ◦
        Improves   accounting
    ◦
        Improves   scalability
    ◦
        Improves   performances
    ◦
    PV-GRUB

    ◦ Improves security
    ◦ Provides network boot
    Mini-OS also being tested at Cisco for IOS




    Available in the unstable tree

Future Work
    Dm domain

    ◦ Live migration, PCI PT
    ◦ IA-64 support
    ◦ Group scheduling with HVM domain
    PV-GRUB

    ◦ Kexec 64bit guest from 32bit PV-GRUB
    ◦ PVFB shutdown/restart
    OCaml support

    ◦ 'Hello World!' works
    ◦ Needs runtime rebuild to properly hook into POSIX
      layer
XS Boston 2008 Stub Domains

More Related Content

What's hot

Lecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administrationLecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administration
Mohammed Farrag
 

What's hot (20)

SiteGround Tech TeamBuilding
SiteGround Tech TeamBuildingSiteGround Tech TeamBuilding
SiteGround Tech TeamBuilding
 
Linux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filterLinux fundamental - Chap 05 filter
Linux fundamental - Chap 05 filter
 
Ngrep commands
Ngrep commandsNgrep commands
Ngrep commands
 
Log
LogLog
Log
 
Log
LogLog
Log
 
Container security: seccomp, network e namespaces
Container security: seccomp, network e namespacesContainer security: seccomp, network e namespaces
Container security: seccomp, network e namespaces
 
Rpm Introduction
Rpm IntroductionRpm Introduction
Rpm Introduction
 
Linux Common Command
Linux Common CommandLinux Common Command
Linux Common Command
 
Linux fundamental - Chap 00 shell
Linux fundamental - Chap 00 shellLinux fundamental - Chap 00 shell
Linux fundamental - Chap 00 shell
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 
Lec7
Lec7Lec7
Lec7
 
Linux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkgLinux fundamental - Chap 09 pkg
Linux fundamental - Chap 09 pkg
 
packaging
packagingpackaging
packaging
 
Lev
LevLev
Lev
 
Docker container management
Docker container managementDocker container management
Docker container management
 
Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet Linux Commands - Cheat Sheet
Linux Commands - Cheat Sheet
 
Log
LogLog
Log
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
Lecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administrationLecture 3 Perl & FreeBSD administration
Lecture 3 Perl & FreeBSD administration
 
High Availability Server with DRBD in linux
High Availability Server with DRBD in linuxHigh Availability Server with DRBD in linux
High Availability Server with DRBD in linux
 

Viewers also liked

Curriculum bicentenario cristián martínez
Curriculum bicentenario cristián martínezCurriculum bicentenario cristián martínez
Curriculum bicentenario cristián martínez
Cristián Martínez
 
Noodle tools 01 24-2012
Noodle tools 01 24-2012Noodle tools 01 24-2012
Noodle tools 01 24-2012
Wheeler School
 
Monfort Emath Paper1_printed
Monfort Emath Paper1_printedMonfort Emath Paper1_printed
Monfort Emath Paper1_printed
Felicia Shirui
 

Viewers also liked (14)

Patient Safety the dutch way
Patient Safety the dutch wayPatient Safety the dutch way
Patient Safety the dutch way
 
Curs Marketing Político ESUMA - Campaña e Internet
Curs Marketing Político ESUMA - Campaña e InternetCurs Marketing Político ESUMA - Campaña e Internet
Curs Marketing Político ESUMA - Campaña e Internet
 
Curriculum bicentenario cristián martínez
Curriculum bicentenario cristián martínezCurriculum bicentenario cristián martínez
Curriculum bicentenario cristián martínez
 
Nutri 2. presentacion
Nutri 2. presentacionNutri 2. presentacion
Nutri 2. presentacion
 
IIS para desenvolvedores
IIS para desenvolvedoresIIS para desenvolvedores
IIS para desenvolvedores
 
Noodle tools 01 24-2012
Noodle tools 01 24-2012Noodle tools 01 24-2012
Noodle tools 01 24-2012
 
Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6
 
102 class standing
102 class standing102 class standing
102 class standing
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
 
TopLink Jpa Parte 1 - Leonardo Torres Altez
TopLink Jpa Parte 1 - Leonardo Torres AltezTopLink Jpa Parte 1 - Leonardo Torres Altez
TopLink Jpa Parte 1 - Leonardo Torres Altez
 
Ewrt 1 a spring 2014
Ewrt 1 a spring 2014Ewrt 1 a spring 2014
Ewrt 1 a spring 2014
 
Monfort Emath Paper1_printed
Monfort Emath Paper1_printedMonfort Emath Paper1_printed
Monfort Emath Paper1_printed
 
Cognitive surplus
Cognitive surplusCognitive surplus
Cognitive surplus
 
Busca na Internet
Busca na InternetBusca na Internet
Busca na Internet
 

Similar to XS Boston 2008 Stub Domains

drbd9_and_drbdmanage_may_2015
drbd9_and_drbdmanage_may_2015drbd9_and_drbdmanage_may_2015
drbd9_and_drbdmanage_may_2015
Alexandre Huynh
 
Linux Introduction
Linux IntroductionLinux Introduction
Linux Introduction
Duy Do Phan
 

Similar to XS Boston 2008 Stub Domains (7)

(Free and Net) BSD Xen Roadmap
(Free and Net) BSD Xen Roadmap(Free and Net) BSD Xen Roadmap
(Free and Net) BSD Xen Roadmap
 
Linux based Stubdomains
Linux based StubdomainsLinux based Stubdomains
Linux based Stubdomains
 
drbd9_and_drbdmanage_may_2015
drbd9_and_drbdmanage_may_2015drbd9_and_drbdmanage_may_2015
drbd9_and_drbdmanage_may_2015
 
XS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO EmulationXS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO Emulation
 
Linux Introduction
Linux IntroductionLinux Introduction
Linux Introduction
 
Virtual Infrastructure
Virtual InfrastructureVirtual Infrastructure
Virtual Infrastructure
 
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the CloudXCP: The Art of Open Virtualization for the Enterprise and the Cloud
XCP: The Art of Open Virtualization for the Enterprise and the Cloud
 

More from The Linux Foundation

More from The Linux Foundation (20)

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

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

XS Boston 2008 Stub Domains

  • 1. Stub Domains A Step Towards Dom0 Disaggregation Samuel Thibault, Citrix/XenSource
  • 2. The Big Domain 0 Runs a lot of Xen components  Domain manager ◦ Domain Builder ◦ Device Models ◦ PyGRUB ◦ These are currently running as root  ◦ e.g. PyGRUB to access guest's disk Security issues  Scalability issues 
  • 3. What Are Stub Domains? Helper domains which run Xen components  Based on Mini-OS  Domain Builder (Derek Murray)  Device Model  PV-GRUB  ... 
  • 4. What Are Stub Domains? Helper domains which run Xen components  Based on Mini-OS  Domain Builder (Derek Murray)  Device Model  PV-GRUB  ... 
  • 5. POSIX Environment on Top of Mini-OS A p p l i c a ti o n getpid, sleep, n e w lib lw IP U n ix read, lines 1200 select, .. C o n s o le B lo c k FS FB N e tw o rk Sched MM fro n te n d fro n te n d fro n te n d fro n te n d fro n te n d M in i- O S X e n H y p e r v is o r
  • 6. New Mini-OS Features Disk frontend  FrameBuffer frontend  FileSystem frontend  ◦ Imported from JavaGuest ◦ Remote access to some /export (e.g. of dom0) More advanced MM  ◦ Read-Only memory ◦ CoW for zeroed pages But still keep it simple  ◦ Single address space, mono-VCPU, no preemption Bugfixes! 
  • 7. stubdom/  Makefile ◦ Download and compile a cross-compilation environment  binutils, gcc, newlib, lwip  c/ ◦ 'Hello World!' C application  caml/ ◦ 'Hello World!' Caml application  README ◦ Of course :)
  • 8. Current HVM device model qem u L in u x H V M d o m a in dom 0 IN /O U T X e n H y p e rv is o r
  • 9. Current HVM dm Not always responsive  ◦ Have to wait for dom0 Linux to schedule qemu Eats dom0 CPU time  Uses dom0 resources from userland  ◦ Disk, tap network ◦ Hence runs as root
  • 10. HVM dm domain qem u PV L in u x M in i-O S H V M d o m a in dom 0 s tu b d o m IN /O U T X e n H y p e rv is o r
  • 11. HVM dm domain 45 40 35 30 25 Dom0 20 Stubdom 15 10 5 0 Inb (Kcy) Boot time (s)
  • 12. HVM dm domain Disk Perfs 80 70 60 50 Dom0 40 Stubdom 30 Native 20 10 0 Read (MB/s) Write (MB/s)
  • 13. HVM dm domain Disk CPU% stubdom DomU Dom0 Read dom0 Stubdom Free stubdom DomU Dom0 Write dom0 Stubdom Free
  • 14. HVM dm domain Net Perfs e1000 80 70 60 50 Dom0 40 Stubdom 30 20 10 0 Recv (MB/s) Send (MB/s)
  • 15. HVM dm domain Net CPU% e1000 stubdom DomU Recv Dom0 dom0 Stubdom Free stubdom DomU Send Dom0 dom0 Stubdom Free
  • 16. HVM dm domain Net Perfs bicore 120 100 80 Dom0 60 Stubdom 40 20 0 Recv (MB/s) Send (MB/s)
  • 17. HVM dm domain Net CPU% bicore stubdom DomU Recv Dom0 dom0 Stubdom Free stubdom DomU Send Dom0 dom0 Stubdom Free
  • 18. HVM dm domain Almost unmodified qemu  ◦ Disable e.g. sound support, plug Mini-OS PV drivers Relieves dom0  Provides better CPU usage accounting  ◦ Can charge HVM domain with dm domain time A lot safer  ◦ Only privilege is having the HVM dom as target ◦ Uses same resource access as PV guests More efficient  ◦ Let the hypervisor schedule it directly ◦ More lightweight OS
  • 19. PyGRUB PyG R U B xend L in u x P V d o m a in dom 0 X e n H y p e rv is o r menu.lst vmlinuz initrd
  • 20. PyGRUB Needs to be root to access guest disk  ◦ Security issues Does not currently provide network boot  Reimplements GRUB 
  • 21. PV-GRUB start xend GRUB lib x c L in u x M in i-O S dom 0 X e n H y p e rv is o r menu.lst vmlinuz initrd
  • 22. PV-GRUB loading xend P V k e rn e l in itrd GRUB lib x c L in u x M in i-O S dom 0 b lk f r o n t n e tfr o n t X e n H y p e rv is o r menu.lst vmlinuz initrd
  • 23. PV-GRUB loaded xend P V k e rn e l in itrd GRUB lib x c L in u x Kexec! M in i-O S dom 0 X e n H y p e rv is o r
  • 24. PV-GRUB xend P V k e rn e l in itrd L in u x P V d o m a in dom 0 X e n H y p e rv is o r
  • 25. PV-kexec in i t r d P V k ern el boot kexec li b x c GRUB M in i- O S M in i- O S v ir t u a l m e m o r y
  • 26. PV-kexec s ta c k in it r d P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 27. PV-kexec s ta c k in it r d boot P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 28. PV-kexec s ta c k in it r d boot boot P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 29. PV-kexec s ta c k in it r d boot boot P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 30. PV-kexec s ta c k in it r d boot boot P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 31. PV-kexec s ta c k in it r d boot boot P V k ern el p g t a b le in it r d boot P V k ern el kexec 0xc0000000 lib x c GRUB M in i- O S M in i- O S T arg et P V g u est v ir t u a l m e m o r y v ir t u a l m e m o r y
  • 32. PV-GRUB Executes upstream GRUB  ◦ Replace native drivers with Mini-OS drivers ◦ Add PV kexec implementation Just uses the target PV guest resources  Supports network  Supports graphical menu 
  • 33. Conclusion Dm domain  Improves security ◦ Improves accounting ◦ Improves scalability ◦ Improves performances ◦ PV-GRUB  ◦ Improves security ◦ Provides network boot Mini-OS also being tested at Cisco for IOS  Available in the unstable tree 
  • 34. Future Work Dm domain  ◦ Live migration, PCI PT ◦ IA-64 support ◦ Group scheduling with HVM domain PV-GRUB  ◦ Kexec 64bit guest from 32bit PV-GRUB ◦ PVFB shutdown/restart OCaml support  ◦ 'Hello World!' works ◦ Needs runtime rebuild to properly hook into POSIX layer