SlideShare a Scribd company logo
1 of 25
Download to read offline
Running FreeBSD
on Linux KVM Virtualization




                                       ©2003 Project TIMEMACHINE	




                   AsiaBSDCon 2012 Tokyo
                   March 25, 2012

                   Takeshi HASEGAWA
                   [ja] @hasegaw / [en] @hasegaw_en
Takeshi Hasegawa
Interests
•    Virtualization (Xen, and KVM)
•    Storage
•    Snowboarding J                        In this winter I had great days with my colleges 	

•    Poor at coding. I’m not a software developer.


Work Experience
•    April 2004- Systems Engineer at Software Research Associates, Inc.
•    June 2011-   Sales Engineer at Fusion-io



                                                                                       2
My works – books and magazines I participated
                                            The Best-seller UNIX admin guide with catoon
Best-seller Xen book in Japan.
                                            characters. More than 15k copies are sold
 More than 6k copies are sold



                                 Our sponsor, Gihyo Books!




    I discussed the benfit of
    Linux KVM.
                                                                       And more…
                                                                                    3
Running articles on the Web




  エンジニアなら知っておきたい仮想マシンのしくみ
  (Now you understand how virtual machine works)
     http://gihyo.jp/dev/serial/01/vm_work/        4
BSD and myself
•    Met FreeBSD 2.2.5 in 1997
•    Open Source no matsuri 2000
     o    Met JKH and Warner Losh
•    2001~2006                                        This picture is still my treasure! J	

     o    Contracted a dedicated Server with FreeBSD (4.x)
•    2010
     o    Used V-IMAGE for the network basic session of new-hire training
     o    Wrote virtio drivers for FreeBSD
•    2011-2012
     o    Wrote KVM PVClock for FreeBSD
                                                       IP Networking amiation DEMO
                                                       Powered by VIMAGE and HTML5	
                                                                                        5
Running FreeBSD
on Linux KVM Virtualization




                              6
Why FreeBSD on Linux KVM?
More opportunities to run FreeBSD
•    Many service providers are running KVM
     o    VPS (Virtual Private Server)
     o    Cloud – such as Sakura Internet (#sacloud)

•    Linux KVM is surely handy
     o    The free-of-charge Type-1 hypervisor
     o    Guest OS doesn’t require device drivers for the latest hardware


Co-existence of FreeBSD allows leverage of its specialties
•    ZFS, BSD Network stacks, jail/vimage, …
•    and more!

                                                                            7
However – FreeBSD on Linux KVM runs slow
The biggest Bottlenecks seen
in Virtual Machines is:                                         The solution is:

•  I/O Bottlenecks                                              •  I/O Para-virtualization
    –  Disk I/O                                                     –  Disk para-virtualization
    –  Network I/O                                                  –  Network para-virtualization
                  seq$write$MB/s$
   90"
   80"
   70"
   60"
   50"
   40"                                        seq"write"MB/s"
   30"
   20"
   10"
    0"
         Na.ve"      FreeBSD"VM"+"SCSI"Emu"




Especially FreeBSD is known as
“low-performance guest ” on Linux KVM.
                                                                                                     8
virtio – I/O interface for virtualized guests

•  Ring-Buffer Interface definition
   between Guest and Host
                                                                       Guest
•  Independent to hypervisors
    –    lguest
    –    Linux KVM
                                                          virtio   virtio   virtio   virtio
    –    VirtualBox                                       Ballon   Block    Block     Net
    –    BHyVe
    –    Xen
         last summer, personally I was also working the
         virtio support on Xen....                        virtio   virtio   virtio   virtio
                                                          Ballon   Block    Block     Net
                                                                       PCI Bus
•  Works efficiently                                                    Host
    –  No overhead of H/W emulation
    –  Less Intel VT/AMD-V world
       changes
    –  Less context switches                                        Hardware	


                                                                                              9
virtio drivers for FreeBSD
•    I wrote virtio drivers for FreeBSD – Fall of 2010
     o    Rusty Russel, Father of virtio, made a presentation at LinuxCon 2010
             “virtio-net guest driver can be implemented by less than 1,000 lines”
     o    I actually tried on FreeBSD 8.1-R. It took more than 1,000 lines! J
     o    Finally, I ported:
             •  virtio interface
             •  virtio-net (network)
             •  virtio-blk (block)


•    virtio driver for FreeBSD merged to -CURRENT – Winter of 2011
     o    Congrats!
     o    Please note - the merged one is a DIFFERENT work from mine!

                                                                                 10
virtio-net increases network performance

•    4.7x against rtl8139, 1.3x against e1000 bandwidth improvement!




                  1.3x


           4.7x




                                       Test Environment: HP ML115G1, 1.8G 1P2C, PC6400 DRAM (too poor!)
                                                                                                       11
                                       Fedora 14 as the Host, and running FreeBSD 8.1-RELEASE as the Guest(2vCPUs)
virtio-blk increases block I/O performance …

                   seq$write$MB/s$
  90"
  80"
  70"
  60"
  50"
  40"                                          seq"write"MB/s"
  30"
  20"
  10"
   0"
          Na.ve"      FreeBSD"VM"+"SCSI"Emu"

                                                             12
virtio-blk increases block I/O performance a bit

                    seq$write$MB/s$
 90"
 80"
 70"
 60"
 50"
 40"                                               seq"write"MB/s"
 30"                                  OOPS!	
 20"
 10"
  0"
       Na.ve"   FreeBSD"VM"+"SCSI" FreeBSD"VM"+"
                      Emu"             vir.o"

                                                                     13
Hey… what’s happening?




                         14
“Okay I’ll look into that…”




                              15
Latency Distribution – CentOS Guest w/virtio
Distribution(%)	




                    91"
                                                         Linux guest performs native-level
                                                               performance. Ideal!
                    81"
                                                          >79% of IOs are done in <10ms	
                    71"

                    61"                                                                      CentOS"5"host"

                    51"

                    41"
                                                                                             CentOS"VM+Vir;o"
                    31"

                    21"

                    11"

                     1"
                          0"    0.5"   1"   1.5"    2"      2.5"   3"   3.5"   4"   4.5"
                               Low latency High	
                                                                                                          16
Latency Distribution – FreeBSD Guest

                                      Only 38% of IOs are done in <10ms	
Distribution(%)	




                    91"

                    81"                                        FreeBSD guest has some latency
                    71"                                                bottleneck…
                    61"                                                          FreeBSD"VM+Vir6o"

                    51"
                                                                                 Fedora"14"HDD"
                    41"
                                                                                 FreeBSD"VM+SCSI"Emu"
                    31"

                    21"

                    11"

                     1"
                          0"     1"       2"        3"    4"      5"        6"


                               Low latency High	
                                                                                                     17
Latency Distribution –
         FreeBSD/CentOS Comparision
Distribution(%)	




                    91"

                    81"
                                                                    Fedora"14"HDD"
                    71"

                    61"
                                                                    CentOS5"VM"
                    51"

                    41"
                                                                    FreeBSD"VM+Vir>o"
                    31"

                    21"
                                                                    FreeBSD"VM+SCSI"
                    11"                                             Emu"
                     1"
                          0"    1"      2"      3"   4"   5"   6"


                               Low latency High	
                                                                                       18
I/O Characteristics between FreeBSD n’ Linux
fio	
 --filename=/dev/(virtio	
 device)	
 --direct=1	
 --rw=randwrite	
 --bs=4k	
 --size=2G	
 --numjobs=1	
 --runtime=10	
 
                        	
 --group_reporting	
 --name=a	
 
CentOS 5.7 Guest on CentOS 5.7
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 r/s	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 162.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.63	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 5.98	
 	
 	
 5.98	
 	
 96.90	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 151.49	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.59	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 0.96	
 	
 	
 	
 6.29	
 	
 	
 6.31	
 	
 95.64	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 161.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.63	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 6.09	
 	
 	
 6.04	
 	
 97.30	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 155.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.61	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 6.20	
 	
 	
 6.26	
 	
 97.00	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 159.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.62	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 0.98	
 	
 	
 	
 6.23	
 	
 	
 6.16	
 	
 98.00	
 
	
 
FreeBSD 8.1 Guest on Fedora 14
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 r/s	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 178.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.35	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.70	
 	
 	
 	
 3.88	
 	
 	
 3.93	
 	
 70.00	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 160.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.31	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.73	
 	
 	
 	
 4.64	
 	
 	
 4.58	
 	
 73.30	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 172.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.34	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.68	
 	
 	
 	
 3.94	
 	
 	
 3.98	
 	
 68.40	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 164.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.32	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.69	
 	
 	
 	
 4.20	
 	
 	
 4.21	
 	
 69.00	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 168.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.33	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.75	
 	
 	
 	
 4.51	
 	
 	
 4.47	
 	
 75.10	
 
	
 
	
 
	
 


      1.  IO reqs from FreeBSD is intermittent, and the disk is sometimes idle
      2.  It seems that Linux queues 2x IO reqs/queue more than FreeBSD                                                                                                                                                    19
iostat results in proliant2 (Fedora14)
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 	
 	
 r/s	
 	
 	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util 	
 FreeBSD+SCSI	
 Emu	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 260.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.51	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.94	
 	
 	
 	
 3.63	
 	
 	
 3.63	
 	
 94.30	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 264.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.52	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.94	
 	
 	
 	
 3.54	
 	
 	
 3.55	
 	
 93.80	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 270.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.53	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 3.62	
 	
 	
 3.60	
 	
 97.20	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 270.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.53	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 3.58	
 	
 	
 3.59	
 	
 96.90	
 
dm-6	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 264.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.52	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.97	
 	
 	
 	
 3.66	
 	
 	
 3.69	
 	
 97.40	
 
	
 
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 	
 	
 r/s	
 	
 	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util 	
 FreeBSD+VirtIO	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 266.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.52	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.99	
 	
 	
 	
 3.74	
 	
 	
 3.73	
 	
 99.10	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 278.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.54	
 	
 	
 	
 	
 3.97	
 	
 	
 	
 	
 0.99	
 	
 	
 	
 3.55	
 	
 	
 3.56	
 	
 99.00	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 296.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.58	
 	
 	
 	
 	
 4.03	
 	
 	
 	
 	
 1.02	
 	
 	
 	
 3.46	
 	
 	
 3.29	
 	
 97.30	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 272.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.53	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 1.03	
 	
 	
 	
 3.79	
 	
 	
 3.62	
 	
 98.40	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 260.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.51	
 	
 	
 	
 	
 4.00	
 	
 	
 	
 	
 0.99	
 	
 	
 	
 3.82	
 	
 	
 3.81	
 	
 99.10	
 
	
 
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 	
 	
 r/s	
 	
 	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util 	
 Linux	
 guest	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 154.46	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.60	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.94	
 	
 	
 24.20	
 	
 	
 6.42	
 	
 99.21	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 146.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.57	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.98	
 	
 	
 28.44	
 	
 	
 6.86	
 100.20	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 147.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.57	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.98	
 	
 	
 26.01	
 	
 	
 6.81	
 100.10	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 140.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.55	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 4.00	
 	
 	
 29.05	
 	
 	
 7.16	
 100.30	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 159.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.62	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.98	
 	
 	
 24.55	
 	
 	
 6.30	
 100.20	
 
vdb	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 0.00	
 165.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.64	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.99	
 	
 	
 24.22	
 	
 	
 6.07	
 100.10	
 
	
 
Device:	
 	
 	
 	
 	
 	
 	
 	
 	
 rrqm/s	
 	
 	
 wrqm/s	
 	
 	
 	
 	
 r/s	
 	
 	
 	
 	
 w/s	
 	
 	
 	
 rMB/s	
 	
 	
 	
 wMB/s	
 avgrq-sz	
 avgqu-sz	
 	
 	
 await	
 	
 svctm	
 	
 %util 	
 Linux	
 native	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 259.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 1.01	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.97	
 	
 	
 15.27	
 	
 	
 3.86	
 100.00	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 259.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 1.01	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.97	
 	
 	
 15.37	
 	
 	
 3.86	
 100.00	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 258.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 1.01	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.97	
 	
 	
 15.50	
 	
 	
 3.88	
 100.00	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 250.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.98	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.99	
 	
 	
 15.88	
 	
 	
 4.00	
 100.00	
 
dm-5	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 0.00	
 	
 165.00	
 	
 	
 	
 	
 0.00	
 	
 	
 	
 	
 0.64	
 	
 	
 	
 	
 8.00	
 	
 	
 	
 	
 3.98	
 	
 	
 16.48	
 	
 	
 6.06	
 100.00	
 




                                                                                                                                                                                                                           20
virtio-blk can make FreeBSD Guests faster?
No!!
Facts
•    I/O latency from virtual machine is more than twice of native I/O
•    The performance issue is seen in block layer
•    virtio-blk surely improved latency distribution (compared to SCSI
     emu), but it is still ignorable impact


Then… what is the bottleneck in the FreeBSD Guests??
     o    Interrupt delivery?
     o    Queueing I/Os to the block device?
More deep investigation should be done J

                                                                         21
My another work – KVM Para-virtualized Clock
Motivation
•    I wanted more reliable timer needed to investigate performace issue
     of FreeBSD on Linux KVM


What’s KVM PVClock?
•    clocksource which can be found in Linux KVM environment
     o    “Timecounter” source in FreeBSD world
     o    More accurate VM time-keeping can be expected
•    Inspired by Xen
     o    Shadows TSC counter of the host processor, and calendar of the host.
     o    The replica of timer virtualization in Xen
     o    FreeBSD already has Xen clock support

                                                                                 22
The result of the early implementaiton


                           while true; do date; sleep 1; done
                           on FreeBSD Guest	


                    The time-slip is less than one second
                    -  The two OSes should be in synchronized
                       theoretically
                    -  No any time-synchronization
                             method required
                    -  tested for 120hours (5 days)


                           while true; do date; sleep 1; done
                    	
     on Linux KVM Host	


                                                           23
Conclusion
•    Linux KVM will bring more opportunities to run FreeBSD
•    Linux KVM uses virtio for I/O para-virtualizaton
•    FreeBSD block layer does not fit well with Linux KVM


•    Porting Linux KVM PVClock for FreeBSD


•    Any comments? Questions? Suggestions?
•    please say hello to me after the session.




                                                              24
Thank you!




             25

More Related Content

What's hot

XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...The Linux Foundation
 
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, CitrixXPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, CitrixThe Linux Foundation
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622Todd Deshane
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingThe Linux Foundation
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBayXu Jiang
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleThe Linux Foundation
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISORVanika Kapoor
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Managerwalkerchang
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelThe Linux Foundation
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsXPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsThe Linux Foundation
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Stephen Gordon
 
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
[若渴計畫] Challenges and Solutions of Window Remote Shellcode[若渴計畫] Challenges and Solutions of Window Remote Shellcode
[若渴計畫] Challenges and Solutions of Window Remote ShellcodeAj MaChInE
 
PV-Drivers for SeaBIOS using Upstream Qemu
PV-Drivers for SeaBIOS using Upstream QemuPV-Drivers for SeaBIOS using Upstream Qemu
PV-Drivers for SeaBIOS using Upstream QemuThe Linux Foundation
 
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...The Linux Foundation
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeStefano Stabellini
 
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixXPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixThe Linux Foundation
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...The Linux Foundation
 

What's hot (20)

XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
XPDS14 - Intel(r) Virtualization Technology for Directed I/O (VT-d) Posted In...
 
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, CitrixXPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
XPDS14 - Scaling Xen's Aggregate Storage Performance - Felipe Franciosi, Citrix
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debugging
 
KVM Tuning @ eBay
KVM Tuning @ eBayKVM Tuning @ eBay
KVM Tuning @ eBay
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 
Kvm
KvmKvm
Kvm
 
Introduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-ManagerIntroduction to Virtualization, Virsh and Virt-Manager
Introduction to Virtualization, Virsh and Virt-Manager
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE SystemsXPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
XPDS16: The OpenXT Project in 2016 - Christopher Clark, BAE Systems
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)
 
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
[若渴計畫] Challenges and Solutions of Window Remote Shellcode[若渴計畫] Challenges and Solutions of Window Remote Shellcode
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
 
PV-Drivers for SeaBIOS using Upstream Qemu
PV-Drivers for SeaBIOS using Upstream QemuPV-Drivers for SeaBIOS using Upstream Qemu
PV-Drivers for SeaBIOS using Upstream Qemu
 
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
XPDS14: Removing the Xen Linux Upstream Delta of Various Linux Distros - Luis...
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
 
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, CitrixXPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
XPDS14 - Xen on ARM: Status and Performance - Stefano Stabellini, Citrix
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
 

Similar to RunningFreeBSDonLinuxKVM

Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCPThe Linux Foundation
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSDocker, Inc.
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorAnil Madhavapeddy
 
open source virtualization
open source virtualizationopen source virtualization
open source virtualizationKris Buytaert
 
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...Jim St. Leger
 
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...rhatr
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0guest72e8c1
 
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...Spiceworks
 
Linux beginner's Workshop
Linux beginner's WorkshopLinux beginner's Workshop
Linux beginner's Workshopfutureshocked
 
Windows server 8 hyper v & storage (hans vredevoort)
Windows server 8 hyper v & storage (hans vredevoort)Windows server 8 hyper v & storage (hans vredevoort)
Windows server 8 hyper v & storage (hans vredevoort)hypervnu
 
OSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear ofOSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear ofrhatr
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advancedDigicomp Academy AG
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java DevelopersRichard McDougall
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationYan Vugenfirer
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environmentsubtitle
 
Ceph in the GRNET cloud stack
Ceph in the GRNET cloud stackCeph in the GRNET cloud stack
Ceph in the GRNET cloud stackNikos Kormpakis
 

Similar to RunningFreeBSDonLinuxKVM (20)

Windsor: Domain 0 Disaggregation for XenServer and XCP
	Windsor: Domain 0 Disaggregation for XenServer and XCP	Windsor: Domain 0 Disaggregation for XenServer and XCP
Windsor: Domain 0 Disaggregation for XenServer and XCP
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
Unikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library HypervisorUnikernels: Rise of the Library Hypervisor
Unikernels: Rise of the Library Hypervisor
 
open source virtualization
open source virtualizationopen source virtualization
open source virtualization
 
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
 
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
 
RMLL / LSM 2009
RMLL / LSM 2009RMLL / LSM 2009
RMLL / LSM 2009
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0
 
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...
Making IT Easier to Manage Your Virtualized Environment - David Babbitt, Spic...
 
Linux beginner's Workshop
Linux beginner's WorkshopLinux beginner's Workshop
Linux beginner's Workshop
 
Windows server 8 hyper v & storage (hans vredevoort)
Windows server 8 hyper v & storage (hans vredevoort)Windows server 8 hyper v & storage (hans vredevoort)
Windows server 8 hyper v & storage (hans vredevoort)
 
OSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear ofOSv: probably the best OS for cloud workloads you've never hear of
OSv: probably the best OS for cloud workloads you've never hear of
 
12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced12 christian ferber xen_server_advanced
12 christian ferber xen_server_advanced
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java Developers
 
XS Boston 2008 XenLoop
XS Boston 2008 XenLoopXS Boston 2008 XenLoop
XS Boston 2008 XenLoop
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
Cis222 2
Cis222 2Cis222 2
Cis222 2
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environment
 
Ceph in the GRNET cloud stack
Ceph in the GRNET cloud stackCeph in the GRNET cloud stack
Ceph in the GRNET cloud stack
 
Erlang on OSv
Erlang on OSvErlang on OSv
Erlang on OSv
 

More from Takeshi HASEGAWA

コンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめコンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめTakeshi HASEGAWA
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)Takeshi HASEGAWA
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning Takeshi HASEGAWA
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習Takeshi HASEGAWA
 
IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)Takeshi HASEGAWA
 
IkaLog Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD usersTakeshi HASEGAWA
 
ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話Takeshi HASEGAWA
 
IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11Takeshi HASEGAWA
 
IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015Takeshi HASEGAWA
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側Takeshi HASEGAWA
 
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)Takeshi HASEGAWA
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所Takeshi HASEGAWA
 

More from Takeshi HASEGAWA (20)

FPGAx10_Sakura
FPGAx10_SakuraFPGAx10_Sakura
FPGAx10_Sakura
 
コンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめコンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめ
 
IkaLog20170316pynq_dist
IkaLog20170316pynq_distIkaLog20170316pynq_dist
IkaLog20170316pynq_dist
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
 
#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習#IkaLog によるスプラトゥーンの画像解析と機械学習
#IkaLog によるスプラトゥーンの画像解析と機械学習
 
IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)IkaLog and Deep Learning (20161122 GDLCjp)
IkaLog and Deep Learning (20161122 GDLCjp)
 
IkaLog_FPGAStartup1
IkaLog_FPGAStartup1IkaLog_FPGAStartup1
IkaLog_FPGAStartup1
 
IkaLog osc2016tf
IkaLog osc2016tfIkaLog osc2016tf
IkaLog osc2016tf
 
IkaLog Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD users
 
IkaLog_overview_en
IkaLog_overview_enIkaLog_overview_en
IkaLog_overview_en
 
ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話
 
IkaLog Presentation v1.3
IkaLog Presentation v1.3IkaLog Presentation v1.3
IkaLog Presentation v1.3
 
IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11
 
IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015IkaLog Presentation at Kansai Open Forum 2015
IkaLog Presentation at Kansai Open Forum 2015
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
 
ssmjp October 2014
ssmjp October 2014ssmjp October 2014
ssmjp October 2014
 
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
 
Eject-io @ Kernel/VM
Eject-io @ Kernel/VMEject-io @ Kernel/VM
Eject-io @ Kernel/VM
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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 MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 textsMaria Levchenko
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[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.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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 Processorsdebabhi2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

RunningFreeBSDonLinuxKVM

  • 1. Running FreeBSD on Linux KVM Virtualization ©2003 Project TIMEMACHINE AsiaBSDCon 2012 Tokyo March 25, 2012 Takeshi HASEGAWA [ja] @hasegaw / [en] @hasegaw_en
  • 2. Takeshi Hasegawa Interests •  Virtualization (Xen, and KVM) •  Storage •  Snowboarding J In this winter I had great days with my colleges •  Poor at coding. I’m not a software developer. Work Experience •  April 2004- Systems Engineer at Software Research Associates, Inc. •  June 2011- Sales Engineer at Fusion-io 2
  • 3. My works – books and magazines I participated The Best-seller UNIX admin guide with catoon Best-seller Xen book in Japan. characters. More than 15k copies are sold More than 6k copies are sold Our sponsor, Gihyo Books! I discussed the benfit of Linux KVM. And more… 3
  • 4. Running articles on the Web エンジニアなら知っておきたい仮想マシンのしくみ (Now you understand how virtual machine works) http://gihyo.jp/dev/serial/01/vm_work/ 4
  • 5. BSD and myself •  Met FreeBSD 2.2.5 in 1997 •  Open Source no matsuri 2000 o  Met JKH and Warner Losh •  2001~2006 This picture is still my treasure! J o  Contracted a dedicated Server with FreeBSD (4.x) •  2010 o  Used V-IMAGE for the network basic session of new-hire training o  Wrote virtio drivers for FreeBSD •  2011-2012 o  Wrote KVM PVClock for FreeBSD IP Networking amiation DEMO Powered by VIMAGE and HTML5 5
  • 6. Running FreeBSD on Linux KVM Virtualization 6
  • 7. Why FreeBSD on Linux KVM? More opportunities to run FreeBSD •  Many service providers are running KVM o  VPS (Virtual Private Server) o  Cloud – such as Sakura Internet (#sacloud) •  Linux KVM is surely handy o  The free-of-charge Type-1 hypervisor o  Guest OS doesn’t require device drivers for the latest hardware Co-existence of FreeBSD allows leverage of its specialties •  ZFS, BSD Network stacks, jail/vimage, … •  and more! 7
  • 8. However – FreeBSD on Linux KVM runs slow The biggest Bottlenecks seen in Virtual Machines is: The solution is: •  I/O Bottlenecks •  I/O Para-virtualization –  Disk I/O –  Disk para-virtualization –  Network I/O –  Network para-virtualization seq$write$MB/s$ 90" 80" 70" 60" 50" 40" seq"write"MB/s" 30" 20" 10" 0" Na.ve" FreeBSD"VM"+"SCSI"Emu" Especially FreeBSD is known as “low-performance guest ” on Linux KVM. 8
  • 9. virtio – I/O interface for virtualized guests •  Ring-Buffer Interface definition between Guest and Host Guest •  Independent to hypervisors –  lguest –  Linux KVM virtio virtio virtio virtio –  VirtualBox Ballon Block Block Net –  BHyVe –  Xen last summer, personally I was also working the virtio support on Xen.... virtio virtio virtio virtio Ballon Block Block Net PCI Bus •  Works efficiently Host –  No overhead of H/W emulation –  Less Intel VT/AMD-V world changes –  Less context switches Hardware 9
  • 10. virtio drivers for FreeBSD •  I wrote virtio drivers for FreeBSD – Fall of 2010 o  Rusty Russel, Father of virtio, made a presentation at LinuxCon 2010 “virtio-net guest driver can be implemented by less than 1,000 lines” o  I actually tried on FreeBSD 8.1-R. It took more than 1,000 lines! J o  Finally, I ported: •  virtio interface •  virtio-net (network) •  virtio-blk (block) •  virtio driver for FreeBSD merged to -CURRENT – Winter of 2011 o  Congrats! o  Please note - the merged one is a DIFFERENT work from mine! 10
  • 11. virtio-net increases network performance •  4.7x against rtl8139, 1.3x against e1000 bandwidth improvement! 1.3x 4.7x Test Environment: HP ML115G1, 1.8G 1P2C, PC6400 DRAM (too poor!) 11 Fedora 14 as the Host, and running FreeBSD 8.1-RELEASE as the Guest(2vCPUs)
  • 12. virtio-blk increases block I/O performance … seq$write$MB/s$ 90" 80" 70" 60" 50" 40" seq"write"MB/s" 30" 20" 10" 0" Na.ve" FreeBSD"VM"+"SCSI"Emu" 12
  • 13. virtio-blk increases block I/O performance a bit seq$write$MB/s$ 90" 80" 70" 60" 50" 40" seq"write"MB/s" 30" OOPS! 20" 10" 0" Na.ve" FreeBSD"VM"+"SCSI" FreeBSD"VM"+" Emu" vir.o" 13
  • 15. “Okay I’ll look into that…” 15
  • 16. Latency Distribution – CentOS Guest w/virtio Distribution(%) 91" Linux guest performs native-level performance. Ideal! 81" >79% of IOs are done in <10ms 71" 61" CentOS"5"host" 51" 41" CentOS"VM+Vir;o" 31" 21" 11" 1" 0" 0.5" 1" 1.5" 2" 2.5" 3" 3.5" 4" 4.5" Low latency High 16
  • 17. Latency Distribution – FreeBSD Guest Only 38% of IOs are done in <10ms Distribution(%) 91" 81" FreeBSD guest has some latency 71" bottleneck… 61" FreeBSD"VM+Vir6o" 51" Fedora"14"HDD" 41" FreeBSD"VM+SCSI"Emu" 31" 21" 11" 1" 0" 1" 2" 3" 4" 5" 6" Low latency High 17
  • 18. Latency Distribution – FreeBSD/CentOS Comparision Distribution(%) 91" 81" Fedora"14"HDD" 71" 61" CentOS5"VM" 51" 41" FreeBSD"VM+Vir>o" 31" 21" FreeBSD"VM+SCSI" 11" Emu" 1" 0" 1" 2" 3" 4" 5" 6" Low latency High 18
  • 19. I/O Characteristics between FreeBSD n’ Linux fio --filename=/dev/(virtio device) --direct=1 --rw=randwrite --bs=4k --size=2G --numjobs=1 --runtime=10 --group_reporting --name=a CentOS 5.7 Guest on CentOS 5.7 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util vdb 0.00 0.00 0.00 162.00 0.00 0.63 8.00 0.97 5.98 5.98 96.90 vdb 0.00 0.00 0.00 151.49 0.00 0.59 8.00 0.96 6.29 6.31 95.64 vdb 0.00 0.00 0.00 161.00 0.00 0.63 8.00 0.97 6.09 6.04 97.30 vdb 0.00 0.00 0.00 155.00 0.00 0.61 8.00 0.97 6.20 6.26 97.00 vdb 0.00 0.00 0.00 159.00 0.00 0.62 8.00 0.98 6.23 6.16 98.00 FreeBSD 8.1 Guest on Fedora 14 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util dm-6 0.00 0.00 0.00 178.00 0.00 0.35 4.00 0.70 3.88 3.93 70.00 dm-6 0.00 0.00 0.00 160.00 0.00 0.31 4.00 0.73 4.64 4.58 73.30 dm-6 0.00 0.00 0.00 172.00 0.00 0.34 4.00 0.68 3.94 3.98 68.40 dm-6 0.00 0.00 0.00 164.00 0.00 0.32 4.00 0.69 4.20 4.21 69.00 dm-6 0.00 0.00 0.00 168.00 0.00 0.33 4.00 0.75 4.51 4.47 75.10 1.  IO reqs from FreeBSD is intermittent, and the disk is sometimes idle 2.  It seems that Linux queues 2x IO reqs/queue more than FreeBSD 19
  • 20. iostat results in proliant2 (Fedora14) Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util FreeBSD+SCSI Emu dm-6 0.00 0.00 0.00 260.00 0.00 0.51 4.00 0.94 3.63 3.63 94.30 dm-6 0.00 0.00 0.00 264.00 0.00 0.52 4.00 0.94 3.54 3.55 93.80 dm-6 0.00 0.00 0.00 270.00 0.00 0.53 4.00 0.97 3.62 3.60 97.20 dm-6 0.00 0.00 0.00 270.00 0.00 0.53 4.00 0.97 3.58 3.59 96.90 dm-6 0.00 0.00 0.00 264.00 0.00 0.52 4.00 0.97 3.66 3.69 97.40 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util FreeBSD+VirtIO dm-5 0.00 0.00 0.00 266.00 0.00 0.52 4.00 0.99 3.74 3.73 99.10 dm-5 0.00 0.00 0.00 278.00 0.00 0.54 3.97 0.99 3.55 3.56 99.00 dm-5 0.00 0.00 0.00 296.00 0.00 0.58 4.03 1.02 3.46 3.29 97.30 dm-5 0.00 0.00 0.00 272.00 0.00 0.53 4.00 1.03 3.79 3.62 98.40 dm-5 0.00 0.00 0.00 260.00 0.00 0.51 4.00 0.99 3.82 3.81 99.10 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util Linux guest vdb 0.00 0.00 0.00 154.46 0.00 0.60 8.00 3.94 24.20 6.42 99.21 vdb 0.00 0.00 0.00 146.00 0.00 0.57 8.00 3.98 28.44 6.86 100.20 vdb 0.00 0.00 0.00 147.00 0.00 0.57 8.00 3.98 26.01 6.81 100.10 vdb 0.00 0.00 0.00 140.00 0.00 0.55 8.00 4.00 29.05 7.16 100.30 vdb 0.00 0.00 0.00 159.00 0.00 0.62 8.00 3.98 24.55 6.30 100.20 vdb 0.00 0.00 0.00 165.00 0.00 0.64 8.00 3.99 24.22 6.07 100.10 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util Linux native dm-5 0.00 0.00 0.00 259.00 0.00 1.01 8.00 3.97 15.27 3.86 100.00 dm-5 0.00 0.00 0.00 259.00 0.00 1.01 8.00 3.97 15.37 3.86 100.00 dm-5 0.00 0.00 0.00 258.00 0.00 1.01 8.00 3.97 15.50 3.88 100.00 dm-5 0.00 0.00 0.00 250.00 0.00 0.98 8.00 3.99 15.88 4.00 100.00 dm-5 0.00 0.00 0.00 165.00 0.00 0.64 8.00 3.98 16.48 6.06 100.00 20
  • 21. virtio-blk can make FreeBSD Guests faster? No!! Facts •  I/O latency from virtual machine is more than twice of native I/O •  The performance issue is seen in block layer •  virtio-blk surely improved latency distribution (compared to SCSI emu), but it is still ignorable impact Then… what is the bottleneck in the FreeBSD Guests?? o  Interrupt delivery? o  Queueing I/Os to the block device? More deep investigation should be done J 21
  • 22. My another work – KVM Para-virtualized Clock Motivation •  I wanted more reliable timer needed to investigate performace issue of FreeBSD on Linux KVM What’s KVM PVClock? •  clocksource which can be found in Linux KVM environment o  “Timecounter” source in FreeBSD world o  More accurate VM time-keeping can be expected •  Inspired by Xen o  Shadows TSC counter of the host processor, and calendar of the host. o  The replica of timer virtualization in Xen o  FreeBSD already has Xen clock support 22
  • 23. The result of the early implementaiton while true; do date; sleep 1; done on FreeBSD Guest The time-slip is less than one second -  The two OSes should be in synchronized theoretically -  No any time-synchronization method required -  tested for 120hours (5 days) while true; do date; sleep 1; done on Linux KVM Host 23
  • 24. Conclusion •  Linux KVM will bring more opportunities to run FreeBSD •  Linux KVM uses virtio for I/O para-virtualizaton •  FreeBSD block layer does not fit well with Linux KVM •  Porting Linux KVM PVClock for FreeBSD •  Any comments? Questions? Suggestions? •  please say hello to me after the session. 24