SlideShare a Scribd company logo
BHyVe Hackathon

Activity Summary



                                       ©2003 Project TIMEMACHINE	




                   BHyVe Hackathon
                   July 29, 2012

                   Takeshi HASEGAWA
                   [ja] @hasegaw / [en] @hasegaw_en
Summary
Goal
•  Implement vmmls program to display the list of
   virtual machines

Result
•  Implemented vmmls
•  It also shows available memory




                                                    2
vmmls example




                3
vmmls
•  How
   –  Originally I tried to modify ls
   –  it was too rich, so finally I decided to write from scrach.


•  What it does
   –  List the virtual machines
      •  no considerable difficulties here
   –  Show amount of available memory
      •  Oh my god...




                                                                   4
Reporting available memory
•  I wanted to show how much memory available.

•  src/sys/amd64/vmm/vmm_mem.c has the avail
   memory pool which manages memory regions

•  vmm_mem_steal_memory()
   –  Add available memory on physical machine
      to the memory pool
•  vmm_mem_alloc(size_t size);
   –  Allocate memory to virtual machines
      from the memory pool
•  vmm_mem_free(vm_paddr_t start, size_t size);
   –  Return allocated memory
      to the memory pool

                                                  5
Reporting available memory(cont.)
•  BHyVe-sensei, I have a problem...

•  The memory management is really minimum
•  No one knows the amount of free memory!

•  Calculated the amount of free memory
   –  Added new function in vmm_mem.c
   –  Calculates the sum of length of available memory
      segments




                                                         6
Reporting available memory(cont.)
#define VMM_MEM_MAXSEGS 64

/* protected by vmm_mem_mtx */
static struct {
      vm_paddr_t    base;
      vm_size_t   length;
} vmm_mem_avail[VMM_MEM_MAXSEGS];




                                    7
Reporting available memory(cont.)


                        Host-Physical Memory
                        (not used by FreeBSD)	

                                    steal	


                          vmm_mem_avail	

    allo        ain	
        allo             ain	
   allo        ain	
     c	
        recl          c	
             recl     c	
        recl



    Guest A	
                       Guest B	
                Guest C	


                                                                          8
Reporting available memory(cont.)
•  Added the function to estimate available memory
  –  vmm_mem.c (in vmm.ko)


•  Added a new ioctl to allow access from userland
  –  VM_GET_FREEMEM
  –  vmm_dev.c … added a new ioctl implementation
  –  vmm_dev.h … added a new ioctl definition

•  Added a new function to libvmmapi
  –  vmmapi.c … added a new function API to get available
     memory amount

•  Enhanced vmmls command by using the new API
                                                            9
Again,,,




           10
Future work - 1
•  Refactor the Ioctl() interface for
   VM_GET_FREEMEM
   –  ioctl() access for vmm.ko is available only when one or
      more VMs exist
   –  Ioctl(*, VM_GET_FREEMEM, ...) doesn t work
      when no VMs exists!


•  More fancy APIs
   –  sysctl
       •  Good for reporting integer value
       •  Is it possible to read-callback handler?

   –  ioctl using another special file ‒ such as /dev/bhyve
       •  sysctl can handle only one value

                                                                11
Future work - 2
•  Review the fields shown by vmmls command
  –    Number of vCPUs
  –    Disk files the VM is opening
  –    Networks
  –    Time
        •  How much CPU time the VM consumed?
  –  Memory status
        •  I m sure what lowmem and highmem means...


  –  Event counters?
        •  Such as counter of VMEXIT...
        •  Another program, such as vmmstat should be more better
  –  etc etc

                                                                    12

More Related Content

What's hot

Using QEMU for cross development
Using QEMU for cross developmentUsing QEMU for cross development
Using QEMU for cross development
Tetsuyuki Kobayashi
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
The Linux Foundation
 
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, HuaweiXPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
The Linux Foundation
 
Symfony 2 Best Practices
Symfony 2 Best PracticesSymfony 2 Best Practices
Symfony 2 Best Practices
Bao Nguyen
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
NETWAYS
 
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, CitrixXPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
The Linux Foundation
 
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
The Linux Foundation
 
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, CitrixXPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
The Linux Foundation
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorial
Project ACRN
 
Kdump
KdumpKdump

What's hot (10)

Using QEMU for cross development
Using QEMU for cross developmentUsing QEMU for cross development
Using QEMU for cross development
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
 
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, HuaweiXPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
XPDDS18: Performance tuning on Xen platform - Bo Zhang & Yifei Jiang, Huawei
 
Symfony 2 Best Practices
Symfony 2 Best PracticesSymfony 2 Best Practices
Symfony 2 Best Practices
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
 
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, CitrixXPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
XPDDS17: The dm_op hypercall and libxendevicemodel - Paul Durrant, Citrix
 
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
XPDDS17: Keynote: Towards a Configurable and Slimmer x86 Hypervisor - Wei Liu...
 
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, CitrixXPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
XPDDS17: PVH Dom0: The Road so Far - Roger Pau Monné, Citrix
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorial
 
Kdump
KdumpKdump
Kdump
 

Viewers also liked

20120922qpstudy terror 2
20120922qpstudy terror 220120922qpstudy terror 2
20120922qpstudy terror 2
Takeshi 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 2015
Takeshi HASEGAWA
 
IkaLog Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD users
Takeshi HASEGAWA
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所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
 
IkaLog osc2016tf
IkaLog osc2016tfIkaLog osc2016tf
IkaLog osc2016tf
Takeshi HASEGAWA
 

Viewers also liked (6)

20120922qpstudy terror 2
20120922qpstudy terror 220120922qpstudy terror 2
20120922qpstudy terror 2
 
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 Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD users
 
qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所qpstudy 2014.04 ハードウェア設計の勘所
qpstudy 2014.04 ハードウェア設計の勘所
 
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
Eject-io (OSC2014 Tokyo/Fall 懇親会LT)
 
IkaLog osc2016tf
IkaLog osc2016tfIkaLog osc2016tf
IkaLog osc2016tf
 

Similar to 20120729bhyve hackathon hasegaw_en

Implements BIOS emulation support for BHyVe
Implements BIOS emulation support for BHyVeImplements BIOS emulation support for BHyVe
Implements BIOS emulation support for BHyVe
Takuya ASADA
 
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Suresh Kumar
 
Understanding PHP memory
Understanding PHP memoryUnderstanding PHP memory
Understanding PHP memory
julien pauli
 
Dynamic Memory Management HyperV R2 SP1
Dynamic Memory Management HyperV R2 SP1Dynamic Memory Management HyperV R2 SP1
Dynamic Memory Management HyperV R2 SP1
Eduardo Castro
 
Dynamic Memory Management Hyperv 2008 R2 S
Dynamic Memory Management Hyperv 2008 R2 SDynamic Memory Management Hyperv 2008 R2 S
Dynamic Memory Management Hyperv 2008 R2 S
Eduardo Castro
 
Linux memory consumption
Linux memory consumptionLinux memory consumption
Linux memory consumption
haish
 
IBM SmartCloud Enterprise Storage Demo
IBM SmartCloud Enterprise Storage DemoIBM SmartCloud Enterprise Storage Demo
IBM SmartCloud Enterprise Storage Demo
Alex Amies
 
More on Virtualization 3.pptx
More on Virtualization 3.pptxMore on Virtualization 3.pptx
More on Virtualization 3.pptx
shruti533256
 
Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...
aliguori
 
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
guest72e8c1
 
RMLL / LSM 2009
RMLL / LSM 2009RMLL / LSM 2009
RMLL / LSM 2009
Franck_Villaume
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
SushantShinde74
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtop
Alan Renouf
 
Experiences porting KVM to SmartOS
Experiences porting KVM to SmartOSExperiences porting KVM to SmartOS
Experiences porting KVM to SmartOS
bcantrill
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Peter Tripp
 
Share and Share Alike
Share and Share AlikeShare and Share Alike
Share and Share Alike
awebneck
 
Give Your Site a Boost with Memcache
Give Your Site a Boost with MemcacheGive Your Site a Boost with Memcache
Give Your Site a Boost with Memcache
Ben Ramsey
 
What's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine ManagerWhat's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine Manager
Tomica Kaniski
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
Mohammed Fazuluddin
 
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
peknap
 

Similar to 20120729bhyve hackathon hasegaw_en (20)

Implements BIOS emulation support for BHyVe
Implements BIOS emulation support for BHyVeImplements BIOS emulation support for BHyVe
Implements BIOS emulation support for BHyVe
 
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
Advancedperformancetroubleshootingusingesxtop 101110131727-phpapp02
 
Understanding PHP memory
Understanding PHP memoryUnderstanding PHP memory
Understanding PHP memory
 
Dynamic Memory Management HyperV R2 SP1
Dynamic Memory Management HyperV R2 SP1Dynamic Memory Management HyperV R2 SP1
Dynamic Memory Management HyperV R2 SP1
 
Dynamic Memory Management Hyperv 2008 R2 S
Dynamic Memory Management Hyperv 2008 R2 SDynamic Memory Management Hyperv 2008 R2 S
Dynamic Memory Management Hyperv 2008 R2 S
 
Linux memory consumption
Linux memory consumptionLinux memory consumption
Linux memory consumption
 
IBM SmartCloud Enterprise Storage Demo
IBM SmartCloud Enterprise Storage DemoIBM SmartCloud Enterprise Storage Demo
IBM SmartCloud Enterprise Storage Demo
 
More on Virtualization 3.pptx
More on Virtualization 3.pptxMore on Virtualization 3.pptx
More on Virtualization 3.pptx
 
Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...
 
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
 
RMLL / LSM 2009
RMLL / LSM 2009RMLL / LSM 2009
RMLL / LSM 2009
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtop
 
Experiences porting KVM to SmartOS
Experiences porting KVM to SmartOSExperiences porting KVM to SmartOS
Experiences porting KVM to SmartOS
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
 
Share and Share Alike
Share and Share AlikeShare and Share Alike
Share and Share Alike
 
Give Your Site a Boost with Memcache
Give Your Site a Boost with MemcacheGive Your Site a Boost with Memcache
Give Your Site a Boost with Memcache
 
What's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine ManagerWhat's new in System Center 2012 R2: Virtual Machine Manager
What's new in System Center 2012 R2: Virtual Machine Manager
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
 

More from Takeshi HASEGAWA

FPGAx10_Sakura
FPGAx10_SakuraFPGAx10_Sakura
FPGAx10_Sakura
Takeshi HASEGAWA
 
コンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめコンピュータエンジニアへのFPGAのすすめ
コンピュータエンジニアへのFPGAのすすめ
Takeshi HASEGAWA
 
IkaLog20170316pynq_dist
IkaLog20170316pynq_distIkaLog20170316pynq_dist
IkaLog20170316pynq_dist
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_FPGAStartup1
IkaLog_FPGAStartup1IkaLog_FPGAStartup1
IkaLog_FPGAStartup1
Takeshi HASEGAWA
 
IkaLog_overview_en
IkaLog_overview_enIkaLog_overview_en
IkaLog_overview_en
Takeshi HASEGAWA
 
ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話ネットワークカメラを使った玄関前モニタリングの苦労話
ネットワークカメラを使った玄関前モニタリングの苦労話
Takeshi HASEGAWA
 
IkaLog Presentation v1.3
IkaLog Presentation v1.3IkaLog Presentation v1.3
IkaLog Presentation v1.3
Takeshi HASEGAWA
 
IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11
Takeshi HASEGAWA
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
 
ssmjp October 2014
ssmjp October 2014ssmjp October 2014
ssmjp October 2014
Takeshi HASEGAWA
 
Memory expansion
Memory expansionMemory expansion
Memory expansion
Takeshi HASEGAWA
 
次世代I/Oインターフェイス「Eject-io」
次世代I/Oインターフェイス「Eject-io」次世代I/Oインターフェイス「Eject-io」
次世代I/Oインターフェイス「Eject-io」
Takeshi HASEGAWA
 
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
Takeshi HASEGAWA
 
RunningFreeBSDonLinuxKVM
RunningFreeBSDonLinuxKVMRunningFreeBSDonLinuxKVM
RunningFreeBSDonLinuxKVM
Takeshi HASEGAWA
 
20111028ssmjp
20111028ssmjp20111028ssmjp
20111028ssmjp
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_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」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
 
ssmjp October 2014
ssmjp October 2014ssmjp October 2014
ssmjp October 2014
 
Eject-io @ Kernel/VM
Eject-io @ Kernel/VMEject-io @ Kernel/VM
Eject-io @ Kernel/VM
 
Memory expansion
Memory expansionMemory expansion
Memory expansion
 
次世代I/Oインターフェイス「Eject-io」
次世代I/Oインターフェイス「Eject-io」次世代I/Oインターフェイス「Eject-io」
次世代I/Oインターフェイス「Eject-io」
 
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
20120519_qpstudy 2012.05 いやらしい@hasegawのI/O入門
 
RunningFreeBSDonLinuxKVM
RunningFreeBSDonLinuxKVMRunningFreeBSDonLinuxKVM
RunningFreeBSDonLinuxKVM
 
20111028ssmjp
20111028ssmjp20111028ssmjp
20111028ssmjp
 

Recently uploaded

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 

Recently uploaded (20)

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 

20120729bhyve hackathon hasegaw_en

  • 1. BHyVe Hackathon Activity Summary ©2003 Project TIMEMACHINE BHyVe Hackathon July 29, 2012 Takeshi HASEGAWA [ja] @hasegaw / [en] @hasegaw_en
  • 2. Summary Goal •  Implement vmmls program to display the list of virtual machines Result •  Implemented vmmls •  It also shows available memory 2
  • 4. vmmls •  How –  Originally I tried to modify ls –  it was too rich, so finally I decided to write from scrach. •  What it does –  List the virtual machines •  no considerable difficulties here –  Show amount of available memory •  Oh my god... 4
  • 5. Reporting available memory •  I wanted to show how much memory available. •  src/sys/amd64/vmm/vmm_mem.c has the avail memory pool which manages memory regions •  vmm_mem_steal_memory() –  Add available memory on physical machine to the memory pool •  vmm_mem_alloc(size_t size); –  Allocate memory to virtual machines from the memory pool •  vmm_mem_free(vm_paddr_t start, size_t size); –  Return allocated memory to the memory pool 5
  • 6. Reporting available memory(cont.) •  BHyVe-sensei, I have a problem... •  The memory management is really minimum •  No one knows the amount of free memory! •  Calculated the amount of free memory –  Added new function in vmm_mem.c –  Calculates the sum of length of available memory segments 6
  • 7. Reporting available memory(cont.) #define VMM_MEM_MAXSEGS 64 /* protected by vmm_mem_mtx */ static struct { vm_paddr_t base; vm_size_t length; } vmm_mem_avail[VMM_MEM_MAXSEGS]; 7
  • 8. Reporting available memory(cont.) Host-Physical Memory (not used by FreeBSD) steal vmm_mem_avail allo ain allo ain allo ain c recl c recl c recl Guest A Guest B Guest C 8
  • 9. Reporting available memory(cont.) •  Added the function to estimate available memory –  vmm_mem.c (in vmm.ko) •  Added a new ioctl to allow access from userland –  VM_GET_FREEMEM –  vmm_dev.c … added a new ioctl implementation –  vmm_dev.h … added a new ioctl definition •  Added a new function to libvmmapi –  vmmapi.c … added a new function API to get available memory amount •  Enhanced vmmls command by using the new API 9
  • 10. Again,,, 10
  • 11. Future work - 1 •  Refactor the Ioctl() interface for VM_GET_FREEMEM –  ioctl() access for vmm.ko is available only when one or more VMs exist –  Ioctl(*, VM_GET_FREEMEM, ...) doesn t work when no VMs exists! •  More fancy APIs –  sysctl •  Good for reporting integer value •  Is it possible to read-callback handler? –  ioctl using another special file ‒ such as /dev/bhyve •  sysctl can handle only one value 11
  • 12. Future work - 2 •  Review the fields shown by vmmls command –  Number of vCPUs –  Disk files the VM is opening –  Networks –  Time •  How much CPU time the VM consumed? –  Memory status •  I m sure what lowmem and highmem means... –  Event counters? •  Such as counter of VMEXIT... •  Another program, such as vmmstat should be more better –  etc etc 12