2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
-
Upload
the-university-of-tokyo -
Category
Technology
-
view
188 -
download
7
Transcript of 2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
BitVisor
28 2016/11/30BitVisor Summit 5 BitVisor1
1
BitVisor Summit BitVisor BitVisor BitVisor Summit BitVisor OS2016/11/30BitVisor Summit 5 BitVisor2
BitVisor6BitVisor 2016Virtualize APIC accessAPICxHCI driver implementationTinyVisorBitVisorlwIPAlkanetBitVisor KVM & BitVisor Advent Calendar
2016/11/30BitVisor Summit 5 BitVisor3
672222016/11/30BitVisor Summit 5 BitVisor4
2016/11/30BitVisor Summit 5 BitVisor5
BitVisor 20062008 3BitVisor 0.22009 3BitVisor 1.0VMMIC2010 6BitVisor 1.1AHCIRealtek NIC...201110BitVisor 1.2Suspend/ResumeATA PiggybackTCB BIOS...2012 9BitVisor 1.3EPT/NPTADvisor2014 5BitVisor 1.4 UEFIMac20xxx2016/11/30BitVisor Summit 5 BitVisor6
2016/11/30BitVisor Summit 5 BitVisor7BitVisor 2.0
BitVisor iMacIPSJ-ONECANONCANONAXIES2016/11/30BitVisor Summit 5 BitVisor8
8
IPSJ-ONE
2016/11/30BitVisor Summit 5 BitVisor9
9
BitVisor: OS
Mac OS
OS2016/3/12IPSJ-ONE 2016 BitVisor: OS11
Windows
OS
11
2016/3/12IPSJ-ONE 2016 BitVisor: OS12
Mac OS
Windows
12
BitVisor 2016/3/12IPSJ-ONE 2016 BitVisor: OS13
BitVisorOSWindows
Windows
Mac OS
2016/3/12IPSJ-ONE 2016 BitVisor: OS14
BitVisor
2016/3/12IPSJ-ONE 2016 BitVisor: OS15
BitVisorWindows
2016/3/12IPSJ-ONE 2016 BitVisor: OS16
BitVisorBitVisor2016/3/12IPSJ-ONE 2016 BitVisor: OS17
Windows
, , , , 2015-010521 , 20151 Yushi Omote, Takahiro Shinagawa, Kazuhiko Kato. Improving Agility and Elasticity in Bare-metal Clouds. In Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015), pp. 145-159, Mar 2015. Acceptance Ratio: 16.7%CANON in Campus Device + vThrii Seamless Provisioning2016/3/12IPSJ-ONE 2016 BitVisor: OS18
2016/3/12IPSJ-ONE 2016 BitVisor: OS19
2016/3/12IPSJ-ONE 2016 BitVisor: OS20
CANON
2016/11/30BitVisor Summit 5 BitVisor21
21
ECCS2016in Campus DevicevThrii
Educational Campuswide Computing System (ECCS)20163ECCS 2016
Apple iMac21.5Intel Core i5 2.8GHz 16GBSSD 256GBIntel Iris Pro Graphics 62001920 x 1080
2016/6/2123
ECCS 201631,341
848213
4811418
12112016/6/2124
(1)25166,0002016/6/2125
(2) OS X Windows
1OS X
OS X
CADWindows2016/6/2126
(1)
2016/6/2127
(2)
23:008:002016/6/2128
(3)
OSOS
CAD2016/6/2129
PCPC
2016/6/2130
OS2016/6/2131
OS
OSWindows2016/6/2132
OS
PCPCOSOS2016/6/2133
OS
PCVirtual Machine(VM)OS2016/6/2134
VM
VM
VM
OS
OS2016/6/2135
OS
ECCSECCS 2004OS X Windows iMac1,149Windows227
ECCS 2008OS X Parallels WindowsiMac1,176Windows ArdenceWindows186
ECCS 2012OS X Windows 7 iMac1,3212016/6/2136
ECCS2016(1)MacWindows
Mac OS X EI Capitan1
Windows Windows 10CADInventor Professional, 3ds max2016/6/2137
ECCS2016(2)SSD
OS
CAD2016/6/2138
ECCS2016(3)
1
OS
2016/6/2139
In Campus Device + vThrii-PIn Campus DeviceGUI
vThrii Seamless ProvisioningOS2016/6/2140
2016/6/2141
In Campus Device
vThrii Client (Hypervisor)vThrii Server
OSvThrii2016/6/2142
CPUVGAUSBStorageNetwork
OSOS XWindowsLinux
2016/6/2143
vThrii Seamless Provisioning(1) (2) (3) (4) (5) (6)
2016/6/2144
Mac OS
(1): 2016/6/2145vThrii
OSOS
OS
2016/6/2146
vThrii
Mac OS
(2): 2016/6/2147
SSD
OS
2016/6/2148
Mac OS
(3): 2016/6/2149vThrii
OS
2016/6/2150
Mac OS
(4): 2016/6/2151vThrii
OS
OFF2016/6/2152
Mac OS
(5): 2016/6/2153vThrii
2016/6/2154
Mac OS
(6): 2016/6/2155vThrii
OS
2016/6/2156
OS
iMac OS
1,341 iMac 302014/11/21BitVisor Summit 3 BitVisor57
iMacWindows Wake on Lan
iMac OS
Windows ACPI Windows 2014/11/21BitVisor Summit 3 BitVisor58
ECCS2012Windows Mac OS
OFF
2014/11/21BitVisor Summit 3 BitVisor59
vThriivThriiOFF
OSWindows OS X 2014/11/21BitVisor Summit 3 BitVisor60
vThrii BitVisorvThrii BitVisor BitVisor 2006OS20091.0SCOPEJST A-STEP2016/6/2161
BitVisorBitVisor
BitVisor
Windows OS X2016/6/2162
33: 40GB4: 70GB5: 100GB23:008:001OS X12016/6/2163
(1): (Nested)vThrii OSVMware
OS
2016/6/2164
(2):
ATA/AHCI NVMe
Intel 2016/6/2165
ECCS 2016 In Campus Device vThrii iMac 1,341OS
312016/6/2166
2016/11/30BitVisor Summit 5 BitVisor67
ASCII.jp 4/26, 5/18, 6/28
2016/11/30BitVisor Summit 5 BitVisor68
ITS
2016/11/30BitVisor Summit 5 BitVisor69
ACM SAC 2016
2016/3/15BitVisor 2016 70
2016/3/15BitVisor 2016 71
2016/3/15BitVisor 2016 721 static int aac_rx_deliver_message(struct fib * fib)2 {3 ...4 for(;;) {5 Index = rx_readl(dev, MUnit.InboundQueue);6 if (unlikely(Index == 0xFFFFFFFFL))7 Index = rx_readl(dev, MUnit.InboundQueue);8 if (likely(Index != 0xFFFFFFFFL))9 break;10 ...11 }12 device = dev->base + Index;13 addr = fib->hw_fib_pa;14 writel((u32)(addr & 0xffffffff), device);15 ...16 }Example of unreliable code. An index variable received from the hardware in line 5 or 7 is used for pointer arithmetic in line 12 only if it is not equal to 0xFFFFFFFF (aacraid in Linux 4.0; rx.c).
BitVisor I/OOS2016/3/15BitVisor 2016 73BitVisorOS
DriverAll FaultsCritical FaultsTestsTimeLinuxAdaptec RAID 580532301:12Marvell 88SE812300301:56NVIDIA GT 610103104:33WindowsAdaptec RAID 580522303:00Marvell 88SE812311300:33NVIDIA GT 6102522111:20
2016/3/15BitVisor 2016 74
2016/3/15BitVisor 2016 75
IaaS IaaS
1Amazon EC2
2
2016/3/15BitVisor 2016 76
IaaSIaaSIaaSIaaSAmazonEC276
OS
2016/3/15BitVisor 2016 77
OSOS77
OSOS
2016/3/15BitVisor 2016 78
OSOS78
OSReadWrite
OS
OS
122016/3/15BitVisor 2016 79
OSOS
79
NIC(Network Interface Card) EEPROMZ97NIC ` BitVisor
OS
NIC(I218-V)
CPU
Z97
BitVisorReadWrite
EEPROM2016/3/15BitVisor 2016 80
IntelI218-VEEPROMNICBitVisorI218-VZ97BitVisorNICEEPROMBitVisor80
EEPROMethtool NICEEPROMMAC$ ethtool E eth1 magic 0x15a18086 offset 0x05 value 0xf3Cannot set EEPROM data: Operation not permitted
BitVisor$ ethtool E eth1 magic 0x15a18086 offset 0x05 value 0xf3d0 50 99 2f 51 f2 01 08 ff ff
d0 50 99 2f 51 00 01 08 ff ff
MAC2016/3/15BitVisor 2016 81
NICEEPROMNICethtoolNICEEPROMMACMACNICMACf200BitVisorMAC81
NetperfTCP1
NoneOn BitVisorOn KVMLAN Cable
NoneABA: ServerA: Client2016/3/15BitVisor 2016 82
NetperfLANBitVisorKVMABABitVisorKVMAclientServerA6TCP11082
102016/3/15BitVisor 2016 83
KVM20BitVisor1EEPROM83
ACM SAC 2016Satoru Takekoshi,Takahiro Shinagawa, Kazuhiko Kato.Testing Device Drivers against Hardware Failures in Real Environments.In Proceedings of the 31st ACM Symposium On Applied Computing (ACM SAC 2016), Apr 2016.
2016/11/30BitVisor Summit 5 BitVisor84
20162016/11/30BitVisor Summit 5 BitVisor85EuroSys 10IEEE S&P 2010SOSP 11EuroSys 10SOSP 11NDSS 11IEEE S&P 12IEEE S&P 13
87(13) 108(14)136(15)169(16)
BitVisorUSB 3.0xHCINICMarvell, BroadcomLAN, RAID, ...OSEFIMac, Nested Virtualization, MMConfig, ...Config, APIEPT, , Preemption TimerVM, 2016/11/30BitVisor Summit 5 BitVisor86
BitVisor IPSJ-ONECANONAXIESACM SAC 2016 VEE 2009 1692016/11/30BitVisor Summit 5 BitVisor87
BitVisor BitVisor http://www.bitvisor.org/[email protected], [email protected]@bitvisor.org, [email protected]://bitbucket.org/bitvisor/bitvisorhttp://sourceforge.net/projects/bitvisor/
2016/11/30BitVisor Summit 5 BitVisor88