1 / 14

仮想実行環境を管理するための ライブラリ

仮想実行環境を管理するための ライブラリ. 大山 恵弘 米澤 明憲 (東京大学/JST). Virtual Execution Environments (VEE). Systems CPU emulators: QEMU, bochs, Quasar VMM: VMware, Xen, Denali, LilyVM, UML, SBUML, Virtual Multiprocessors Virtual resource view: Chroot, jail, Zap, SoftwarePot, World OS. A Big Picture.

havard
Télécharger la présentation

仮想実行環境を管理するための ライブラリ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 仮想実行環境を管理するためのライブラリ 大山 恵弘 米澤 明憲 (東京大学/JST) 情報処理学会第99回OS研究会

  2. Virtual Execution Environments (VEE) • Systems • CPU emulators: QEMU, bochs, Quasar • VMM: VMware, Xen, Denali, LilyVM, UML, SBUML, Virtual Multiprocessors • Virtual resource view: Chroot, jail, Zap, SoftwarePot, World OS 情報処理学会第99回OS研究会

  3. A Big Picture • Study on next-genration software that aggressively uses VEEs • Sustainable Computing • Virtual Internet, virtual Grid • Computation migration • Intrusion/failure/bug analysis via playback • Sandbox, IDS, honeypot 情報処理学会第99回OS研究会

  4. Quasar Quasar Denali Virtual Internet on Heterogeneous Machines Win MacOS Linux Linux Linux SBUML SBUML Linux NetBSD FreeBSD Linux (SMP) LilyVM LilyVM LilyVM VirtualMP VirtualMP NetBSD Win MacOS NetBSD Linux 情報処理学会第99回OS研究会

  5. Difficulty in Developing Virtual Internet • Deployment • A great amount of effort:login, copy virtual disks, start VMs, checking fault, recover, … • boring • error-prone 情報処理学会第99回OS研究会

  6. Our Approach • Toolkit for VEE-based software • VEEML: VEE Management Library • fork/exec/wait/kill-flavored APIs • veemd: VEE Management Daemon • VOP: VEE-oriented programming paradigm 情報処理学会第99回OS研究会

  7. What VEEML Makes Easier • Creating/controlling/synchronizing hundreds of VEEs • Deploying VEEs on remote machines • Combining various VEE systems 情報処理学会第99回OS研究会

  8. Our Scenario (1) veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd veemd 情報処理学会第99回OS研究会

  9. Our Scenario (2) • Programming using VEEML develop libraries and daemons develop VEE-using apps in Ruby … VEEML- Ruby VEEML- Python VEEML- Java VEEML-C veemd end user 情報処理学会第99回OS研究会 our team

  10. VEEML API • vee_exec(vee_type, snapshot_file, …) • vee_snapshot(vid, snapshot_file, …) • vee_suspend(vid), vee_resume(vid) • vee_wait(vid, status) • vee_kill(vid, sig) • vee_makediff(difffile, snap1, snap2) • vee_mergediff(vid, difffile) • vee_getprio(vid), vee_setprio(vid, prio) 情報処理学会第99回OS研究会

  11. VID: VEE ID • Globally unique ID for specifying VEE • Independent of VEE’s physical location • Given when VEE is created • Used for controlling VEEs 情報処理学会第99回OS研究会

  12. Controlling Remote VEEs VID3627 VID2589 VID1010 pot pot MacOS SuspendVID 1234! SoftwarePot QEMU suspended! applica tion VID1234 VID800 VID777 Linux Win Linux UML UML VEEML 情報処理学会第99回OS研究会

  13. VID4865 pot Creating VEE on Remote Machine VID3627 VID2589 VID1010 Create pot-VEE on VID 1234! pot pot MacOS SoftwarePot QEMU applica tion SoftwarePot VID777 Linux VID1234 Win VID800 Linux UML UML VEEML 情報処理学会第99回OS研究会

  14. Related Work • SBUML (Potter et al.) • Great work • μDenali (Washington) • Also great work • XenoServer (Cambridge/MS/Intel) • MicroGrid (UCSD) • VMPlant (U-Florida) • GXP, Phoenix (U-Tokyo) 情報処理学会第99回OS研究会

More Related