Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウド向けOS(?)Unikernelとは何か

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for garasubo garasubo
August 03, 2015
1.8k

 クラウド向けOS(?)Unikernelとは何か

PAAKのLT会で使ったやつ

Avatar for garasubo

garasubo

August 03, 2015
Tweet

Transcript

  1. Library OS • 1990年代に登場した概念 • OSをライブラリとして実装し、最低限のハー ドウェア排他制御しかしない • パフォーマンスが圧倒的に向上 •

    e.g. Exokernel • デバイスドライバのサポートが大変 • パフォーマンスよりアプリケーションの独立性 のほうが大事 あまり普及せず・・・
  2. Unikernel • Library OSを仮想環境上で動かす • デバイスドライバはハイパーバイザが提供するもの を使う • アプリケーション(プロセス)は1つしか使えない •

    複数アプリケーションを動かしたければその数だけ Unikernelを立ち上げればよい • Xen ProjectがUnikernelという名称で呼んでいる 仮想化環境上ならばLibrary OSの概念は有効では!?
  3. Mirage OS • OCamlで主に書かれ ているOS • OCamlのアプリケー ションが動作 • バイナリサイズが圧倒

    的に小さくなる • DNSやWeb Serverが 150KBほど • OCamlで書かれてい るので型安全 Anil et al. “Unikernels: Library Operating Systems for the Cloud”, ASPLOS ’13
  4. OSv • POSIX-APIを提供し、従来アプリケーションと の互換性を確保 • 専用APIもあり、そちらのほうがパフォーマンスは向 上する • Mirage OSの場合、全部書き直し

    • JavaやRubyのプログラムも動く • バイナリサイズはMirage OSほどではないが軽量 • memcachedが11MB http://osv.io/
  5. Unikernelの応用 • 起動が早い、軽量であるという性質は組込みで も有用 • Jitsu[Anil ’15] • ARMボード上でXenを動かし、動的にUnikernelを起動す ることで高速にサービスを提供

    • デバイスドライバさえ何とかなればハイパーバ イザを介さず直接動作可能 • Rump Kernel+Mirage OS • Rump KernelがNetBSDのデバイスドライバを提供する クラウド向けOSと表現するのは安直
  6. 参考文献 • T.E. Anderson, “The case for application- specific operating

    systems”, Third Workshop on Workstation Operating Systems, 1992 • Anil Madhavapeddy et al. “Unikernels: library operating systems for the cloud”, ASPLOS '13 • Avi Kivity et al. “OSv—Optimizing the Operating System for Virtual Machines”, ATC ’14 • Anil Madhavapeddy et al. “Jitsu: Just-In-Time Summoning of Unikernels”, NSDI ’15