ã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢ãéçºããå Žåãå€ãã®å Žåããã¹ãã«åé¡ããããŸãã ãšã³ããŠãŒã¶ãŒã¯Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒOSïŒã®ã¿ã§äœæ¥ããŠããéãç§ã¯ãã¹ãŠã®äœæ¥ãLinuxã®ã¿ã§å®è¡ããŠããŸãã ããšãã°ãVirtualBoxã䜿çšã§ããŸãããOpenGLãŸãã¯CUDAã䜿çšããŠã¢ãžã¥ãŒã«ã®åäœã確èªããå¿ èŠãããå Žåãé倧ãªåé¡ãçºçããŸãã ãã¥ã¢ã«ããŒãããªãã·ã§ã³ãšã¯èããŠããŸããã ã©ãããããããç§ã¯2å°ç®ã®ã³ã³ãã¥ãŒã¿ãŒã䜿çšããå¿ èŠãããããšãããããŸããã ãã ããã»ãšãã©ã®å Žåã圌ã¯ã¢ã€ãã«ç¶æ ã§ãã ãã®ã¹ããŒã ã¯ããªãœãŒã¹äœ¿çšã®èŠ³ç¹ããéåžžã«éå¹ççã§ããããšãããããŸãã
ããæ¥ãç§ã®å€¢ã¯éåžžäºæ ã«ãªããŸããã 次ã®ç¹æ§ãæã€ã°ã©ãã£ãã¯ã¹ããŒã·ã§ã³ãçµã¿ç«ãŠãå¿ èŠããããŸããã
- Windows 7ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒä»¥äžWindowsïŒã
- DirectXãOpenGLãCUDAã䜿çšããäžé£ã®ãœãããŠã§ã¢ã
- ãµã€ãºãçŽ10 TBã®é«éããŒã«ã«ãã©ãŒã«ããã¬ã©ã³ãã¹ãã¬ãŒãžã
- ã·ã¹ãã å šäœã®ããã¯ã¢ãããšãªã«ããªã®ã¡ã«ããºã ã
- ãŠãŒã¶ãŒããŒã¿ã®å®æçãªèªåããã¯ã¢ããã
å€ãã®äººãèãããããããŸããïŒããããŠä»®æ³åã¯ã©ãã§ããïŒã åé¡ã¯ãç§ã®æèŠã§ã¯ãWindowsã®ä¿¡é Œæ§ã¯ããã»ã©é«ããªããšããããšã§ãã å€ãã®å Žåãã·ã¹ãã ã®ãšã³ããŠãŒã¶ãŒã¯ããŸãæè³æ Œè ã§ã¯ãªãããããã¹ãŠã®ãã©ã€ãäžã®ãã¹ãŠã®ããŒã¿ãç Žå£ã§ããæªæã®ãããœãããŠã§ã¢ãã³ã³ãã¥ãŒã¿ãŒã«äŸµå ¥ããŸãã ãã®å Žåãããã¯ã¢ãããããŒã«ã«ã«ä¿åããå¿ èŠããããŸãããããã¯ã¢ãããç Žæ£ããããšã¯ã§ããŸããã§ããã 倧èŠæš¡ã§é«éãªããŒã¿ãŠã§ã¢ããŠã¹ãç·šæããããšãç°¡åãªäœæ¥ã§ã¯ãããŸããã äœããã®æ¹æ³ã§ãWindowsãä»®æ³ãã·ã³ïŒVMïŒç°å¢ã§å®è¡ããããšã決å®ãããŸããã
ãããªã«ãŒããVMç°å¢ã«è»¢éããããšã«é¢ããå€ãã®èšäºãšããã¥ã¡ã³ãïŒãã[ 1-3 ]ãå«ãïŒãèªã¿ãŸããã ç§ãæãã€ããçµè«ã¯ãç§ã«ãšã£ãŠæ °ãã§ã¯ãããŸããã§ããã æãæåãã転éã¯ãATIã°ã©ãã£ãã¯ã«ãŒãã§å®è¡ãããŸããã NVIDIAã°ã©ãã£ãã¯ã¹ã«ãŒããæããããšã¯å¯èœã§ããã決ããŠãã¹ãŠã§ã¯ãããŸããã ãã®å Žåããã€ããŒãã€ã¶ãŒ[ 4ã5 ]ã«ããããé©çšããå¿ èŠããããŸãã
CUDAãã¯ãããžãŒã䜿çšããå¿ èŠããããããNVIDIAã°ã©ãã£ãã¯ã«ãŒãã転éããå¿ èŠããããŸããã NVIDIA Multi-OSãã¯ãããžãŒ[ 6 ]ãããããããªã«ãŒããVMã«è»¢éã§ããŸãã Quadroã·ãªãŒãºã¢ã¯ã»ã©ã¬ãŒã¿[ 7 ]ã®ã¿ããã®ãã¯ãããžãŒããµããŒãããŠããŸãã
ã»ãšãã©ã®ãããªã«ãŒãã®ãã1ã€ã®æ¬ ç¹ã¯ãæå°ã®2ã¹ãããå¹ ã§ãã ããã¯å€ãã®å Žååãå ¥ããããªããããã·ã³ã°ã«ã¹ãããNVIDIA Quadro 4000ã°ã©ãã£ãã¯ã«ãŒããéžæãããçç±ã¯ãã·ã³ã°ã«ã¹ããããªãã·ã§ã³ã®äžã§Quadroãã¡ããªã®æã匷åãªä»£è¡šã§ãã
ã·ã¹ãã ã®äž»èŠãªèŠçŽ ïŒ
- ãã¶ãŒããŒãASUS P9X79 WS;
- Core i7-3820ããã»ããµãŒã
- RAM 32 GBïŒ8 GBã®4ã€ã®ã¹ããªããïŒ;
- dom0ã®ãããªã«ãŒãïŒã©ã¡ãã§ãïŒã
- domU NVIDIA Quadro 4000çšã®ãããªã«ãŒãã
æåã¯ãXenãã€ããŒãã€ã¶ãŒã䜿çšããŠèšç»ãå®è£ ãããã£ãã dom0ã®OSãšããŠãDebian
å®éšäžã«ãKVMãè©ŠããŸããã 圌ã¯ãããªã«ãŒã以å€ã®ããã€ã¹ã§çŽ æŽãããä»äºãããŸããã æ®å¿µãªãããäžè¬çãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã®äžéšã§ãã
幞ããªããšã«ãç§ããã®åé¡ã«å¯ŸåŠãå§ããå°ãåã«ã
dom0ããã®è»¢éã«å¿ èŠãªããã€ã¹ã®åæã«é¢ããåé¡ãåé¿ããã«ã¯ã
ãããã£ãŠããã€ããŒãã€ã¶ãŒãšã³ã¢ãçµã¿ç«ãŠãå¿ èŠããããŸããã
Debianãã€ã³ã¹ããŒã«ãã
Debianãã€ã³ã¹ããŒã«ãããšããç§ã¯ç°åžžãªããšãããŸããã§ããã åºæ¬ã·ã¹ãã ã®ã¿ãã€ã³ã¹ããŒã«ããŸããã å€ãã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãããŠãããããã°ã©ãã£ã«ã«ç°å¢ã¯ã€ã³ã¹ããŒã«ããªãã§ãã ãããäžéšã®ãœãããŠã§ã¢ã¯ãã¢ã»ã³ãã«ãããXenãšç«¶åããŸãã
åºæ¬ã€ã³ã¹ããŒã«ã®æåŸã«ãå¿ èŠãªãœãããŠã§ã¢ã®æå°ã»ãããã€ã³ã¹ããŒã«ããŸããã
$ sudo apt-get install gnome-core gvncviewer mc
ãã€ããŒãã€ã¶ãŒãšã«ãŒãã«ã¢ã»ã³ããª
æŠéã·ã¹ãã ãè©°ãŸãããªãããã«ãVirtualBoxã®äžã«ç¹å¥ã«ã€ã³ã¹ããŒã«ãããã¯ãªãŒã³ãªOSã§ã¢ã»ã³ããªãå®è¡ããŸããã
Xenããã«ãããã«ã¯ãäžé£ã®ç°¡åãªã³ãã³ããå®è¡ããå¿ èŠããããŸã[ 8 ]ã
$ sudo apt-get build-dep xen $ sudo apt-get install libglib2.0-dev libyajl-dev fakeroot bison flex libbz2-dev liblzo2-dev $ wget http://bits.xensource.com/oss-xen/release/4.2.0/xen-4.2.0.tar.gz $ tar xf xen-4.2.0.tar.gz $ cd xen-4.2.0 $ ./configure --enable-githttp $ echo "PYTHON\_PREFIX\_ARG=--install-layout=deb" > .config $ make deb
åºåã§ãxen-upstream-4.2.0.debããã±ãŒãžãåãåããŸããã
ã«ãŒãã«ã¯ã
$ sudo apt-get install linux-source $ sudo apt-get build-dep linux-latest $ sudo apt-get install kernel-package fakeroot $ tar xf /usr/src/linux-source-3.2.tar.bz2 $ cd linux-source-3.2 $ cp /boot/config-`uname -r` .config $ sed -i 's/CONFIG_XEN_PCIDEV_BACKEND=.*$/CONFIG_XEN_PCIDEV_BACKEND=y/g' .config $ make-kpkg clean $ fakeroot make-kpkg --initrd --revision=1.0.0 kernel_image
åºåã¯linux-image-3.2.32_1.0.0_amd64.debãåãåããŸããã
ã«ãŒãã«ãšãã€ããŒãã€ã¶ãŒã®ã€ã³ã¹ããŒã«
åãåã£ãããã±ãŒãžãã¿ãŒã²ããã·ã¹ãã ã«ã€ã³ã¹ããŒã«ããŸããã Xenã/ããŒããã£ã¬ã¯ããªã«ã€ã³ã¹ããŒã«ãããšãåé€ããå¿ èŠãããäžèŠãªã·ã³ããªãã¯ãªã³ã¯ãäœæãããŸãã ã³ã³ãã€ã«æžã¿ããã±ãŒãž
$ sudo dpkg -i linux-image-3.2.32_1.0.0_amd64.deb $ sudo dpkg -i xen-upstream-4.2.0.deb $ sudo su -c "cd /boot; rm xen.gz xen-4.gz xen-4.2.gz xen-syms-4.2.0" $ sudo apt-get install libyajl2 liblzo2-2 libaio1
ããã©ã«ãã§Xenãèµ·åå¯èœã«ããŸãã
$ sudo dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
ã·ã¹ãã ã«XenãµãŒãã¹ãç»é²ããŸãã
$ sudo update-rc.d xend start 99 2 3 5 stop 99 0 1 6 $ sudo update-rc.d xencommons start 99 2 3 5 stop 99 0 1 6 $ sudo update-rc.d xendomains start 99 2 3 5 stop 99 0 1 6 $ sudo update-rc.d xen-watchdog start 99 2 3 5 stop 99 0 1 6
dom0ããã®è»¢éã«å¿ èŠãªããã€ã¹ãé衚瀺ã«ããã«ã¯ã
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT = "xen-pciback.hide =ïŒ02ïŒ00.0ïŒïŒ02ïŒ00.1ïŒ<br>ïŒ00ïŒ1a.0ïŒïŒ00ïŒ1d.0ïŒïŒ09ïŒ00.0ïŒïŒ0aïŒ00.0ïŒïŒ0bïŒ00.0 ïŒïŒ03ïŒ00.0ïŒïŒ00ïŒ1b.0ïŒ " GRUB_CMDLINE_XEN_DEFAULT = "dom0_mem = 15360M"
ãããªã«ãŒãã«å ããŠã4ã€ã®USBã³ã³ãããŒã©ãŒããããã¯ãŒã¯ãšãµãŠã³ãã«ãŒããããã³å€ãã®åšèŸºæ©åšã転éãããŸããã
ãã®åŸãGRUBããŒãããŒããŒæ§æãã¡ã€ã«ãæŽæ°ããŸãã
$ sudo update-grub
ãã¶ãŒããŒãASUS P9X79 WSã«ã¯2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãããããããããã¯ãŒã¯ããªããžãäœæããªãããšã決å®ãããŸããã dom0ãšdomUã«ã¯ãç¬ç«ãããããã¯ãŒã¯æ¥ç¶ããããŸãã
次ã®äžé£ã®ã³ãã³ãã¯ãdom0ã®æå°ã¡ã¢ãªéãèšå®ãïŒæçµçã«ã¡ã¢ãªãã«ãŒãã³ã°ãç¡å¹ã«ããŸãïŒãäžèŠãªãããã¯ãŒã¯ã¹ã¯ãªãããç¡å¹ã«ããŸãã ãŸããVNCãä»»æã®IPã¢ãã¬ã¹ã§å©çšã§ããããã«ããŸããã
$ sudo sed -i 's/^XENDOMAINS_SAVE=.*$/XENDOMAINS_SAVE=""/g' /etc/default/xendomains $ cd /etc/xen $ sudo sed -i 's/^.*.(dom0-min-mem.*)$/(dom0-min-mem 15360)/g' xend-config.sxp $ sudo sed -i 's/^.*.(enable-dom0-ballooning.*)$/(enable-dom0-ballooning no)/g' xend-config.sxp $ sudo sed -i 's/^(network-script.*)$/#&/g' xend-config.sxp $ sudo sed -i 's/^(vif-script.*)$/#&/g' xend-config.sxp $ sudo sed -i "s/^.*.(vnc-listen.*)$/(vnc-listen '0.0.0.0')/g" xend-config.sxp
Windowsã€ã³ã¹ããŒã«
VMç°å¢ã«Windowsãã€ã³ã¹ããŒã«ããåé¡ã«ã€ããŠã¯è§ŠããŸããã VNCã䜿çšããŠãªã¢ãŒãã§ã€ã³ã¹ããŒã«ãè¡ãå¿ èŠããããšããèšããŸããã NVIDIA Quadroã¯ããã©ã€ããŒãã€ã³ã¹ããŒã«ããåŸã«ã®ã¿æ©èœãéå§ããŸãã OSã®æåŸã®èµ·åæã«ã®ã¿éå§ãããŸãã æºä»®æ³ãã©ã€ããŒãæ£åžžã«ã€ã³ã¹ããŒã«ãããŸãã[ 10 ]ã
ãããã¯ãŒã¯ããã€ã¹ã«ã¯ãVirtualBox Host-Only Ethernet AdapterããããŸãã å®éãç§ã¯VirtualBoxãVMç°å¢ïŒdomUå ïŒã«ã€ã³ã¹ããŒã«ããŸããã å éšã«ã¯ãWindows XPãã€ã³ã¹ããŒã«ãããŸããã VMå ã§äºéã«ãã¹ãããŠããŠããWindows XPã¯èš±å®¹å¯èœãªããã©ãŒãã³ã¹ã§åäœããŸããã
ãã¡ã€ã³æ§æãã¡ã€ã«
ãã«ããŒ= "hvm" ã¡ã¢ãª= 16384 vcpus = 8 name = "windows-7" uuid = "830460b8-3541-11e2-8560-5404a63ce590" disk = ['phyïŒ/ dev / storage / windows-7ãhdaãw'] boot = 'c' pci = ['02ïŒ00.0 'ã' 02ïŒ00.1 'ã' 00ïŒ1a.0 'ã' 00ïŒ1d.0 'ã<br> '09ïŒ00.0'ã '0aïŒ00.0'ã '0bïŒ00.0 'ã'03ïŒ00.0'ã '00ïŒ1b.0'] gfx_passthru = 0 pae = 1 nx = 1 videoram = 16 stdvga = 1 vnc = 1 usb = 1 usbdevice = "tablet" localtime = 1 xen_platform_pci = 1
è©Šéšçµæ
Windowsããã¢ã¡ã¿ã«ã«ã€ã³ã¹ããŒã«ããããšããããªãã£ãã®ã§ãããã«äºçŽããã®ã§ãç§ãšå®¢èŠ³çã«æ¯èŒãããã®ã¯äœããããŸããã å šäœã®è©äŸ¡ã¯ãWindowsãšã¯ã¹ããªãšã³ã¹ã€ã³ããã¯ã¹ïŒWEIïŒã®è¡šç€ºãš3DMark 2011ã®ã€ã³ã¹ããŒã«ã«åž°çããŸãããã€ãŸããæ£çŽãªãšãããããã©ãŒãã³ã¹ãã¹ãèªäœã¯å®æœããŸããã§ããã
WEIã¯ãææªã®çµæã䌎ããã¹ãçµæã«ãã£ãŠæ±ºå®ãããŸãã ç§ã®å Žåãããã«ããã¯ã¯ãããŒããã£ã¹ã¯ãã§ããã äºå®ãç§ã¯ãã£ã1å°ã®å€ãããŒããã©ã€ãã䜿çšããŠãã¹ãŠã®å®éšãå®è¡ããŸããã ãã以å€ã®å Žåãçµæã¯ããã»ã©æªããããŸããã
NVIDIA Quadro 4000ã°ã©ãã£ãã¯ã«ãŒãã¯ã²ãŒãã³ã°ãšã¯èšããŸããããCrysisã¯ã¹ããŒãã«æ©èœããŸããã
XenããŒã
ããŒãžã§ã³
æåã§äœæ¥ããå Žåãxlã¯èŠæ ãåŒãèµ·ãããŸããã§ããã ãã ããxendomainsã¹ã¯ãªããã¯ãæããã«åäœããããã«èšèšãããŠããŸããã
ææªãªã®ã¯ãèµ·åæã«domU xlãsysfsãä»ããŠPCIããã€ã¹ãã€ãŸããããªã«ãŒãããªã»ããã§ããªããšãããšã©ãŒãåºããããšã§ãã ãããªã«ãŒãã®å Žåãsysfsã®ãªã»ãããã¡ã€ã«ã¯åã«æ¬ èœããŠããŸãã å®å šã«ã¯å®ãã§ã¯ãããŸããããdomUãåèµ·åããåŸããããªã«ãŒããèµ·åãæåŠããããšããããããŸããã ã·ã¹ãã å šäœã®åèµ·åã®ã¿ã圹ç«ã¡ãŸããã
libxlïŒãšã©ãŒïŒlibxl_pci.cïŒ1001ïŒlibxl__device_pci_resetïŒ<br>ã«ãŒãã«ã¯ãPCIããã€ã¹ã®sysfsããã®ãªã»ããããµããŒãããŠããŸãã0000ïŒ02ïŒ00.0 libxlïŒãšã©ãŒïŒlibxl_pci.cïŒ1001ïŒlibxl__device_pci_resetïŒ<br>ã«ãŒãã«ã¯ãPCIããã€ã¹0000ã®sysfsããã®ãªã»ããããµããŒãããŠããŸãã0000ïŒ02ïŒ00.1
xmã§ã¯ãPCIããã€ã¹ã®ãªã»ããã¯ç°ãªãæ¹æ³ã§å®è£ ãããŠããããã§ãã å°ãªããšã圌ãšäžç·ã«ä»äºããããšãã¯ããããªã«ãŒãã«åé¡ã¯ãããŸããã§ããã ããããç§ãxmã§ãããŸã§åæ¢ããçç±ã§ãã
ãããã«
説æãããã¹ãŠãå®è£ ããã®ã«5æ¥ããããŸããã äžè¬ã«ãã·ã¹ãã ã¯éåžžã«å®å®ããŠåäœããŸããã BSODããã³ããªãŒãºã¯èŠ³å¯ãããŸããã§ããã NVIDIA Quadroã¯äºç®ãªãã·ã§ã³ãšã¯èšããªããããè¿ãå°æ¥ãäŸå€ãªããã¹ãŠã®ãããªã«ãŒããVMãžã®è»¢éã«é©ããŠããããšãé¡ã£ãŠããŸãã
䜿çšããããœãŒã¹ã®ãªã¹ã
- ãããªã«ãŒããä»®æ³ãã·ã³ã«è»¢éãã
- Xenãã€ããŒãã€ã¶ãŒãããããªã«ãŒããã²ã¹ãOSã«è»¢éãã
- Ubuntuã®äžãããXenã§ãããªã«ãŒãã転éãã
- Xen VGAãã¹ã¹ã«ãŒ
- VGAããã€ã¹ã®å²ãåœãŠ-KVM
- NVIDIAãã«ãOS
- ã°ã©ãã£ãã¯ã¹ãšä»®æ³å-NVIDIA
- ãœãŒã¹ããXenãã³ã³ãã€ã«ãã
- æ°ããã«ãŒãã«ã®ã³ã³ãã€ã«
- Xen Windows GplPv /ã€ã³ã¹ããŒã«