Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSvのご紹介 in 
Java 8 HotSpot meeting

2,694 views

Published on

OSvのご紹介 in 
Java 8 HotSpot meeting

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

OSvのご紹介 in 
Java 8 HotSpot meeting

  1. 1. OSvのご紹介 in Java 8 HotSpot meeting Takuya ASADA <syuu@cloudius-systems> Cloudius Systems
  2. 2. 自己紹介 • @syuu1228 on Twitter • Software Engineer at Cloudius Systems • FreeBSD developer (bhyve, network stack..) • カーネル/VM探検隊 初代主催者 • Software Designで「ハイパーバイザの作り方」 を連載中
  3. 3. Cloudius Systemsについて • OSvの開発母体(フルタイムデベロッパで開発) • Office:Herzliya, Israel • CTO : Avi Kivity → Linux KVMのパパ • 他の開発者:元RedHat(KVM), Parallels(Virtuozzo, OpenVZ) etc.. • イスラエルの主な人物は元Qumranet(RedHatに買収) • 半数の開発者がイスラエル以外の国からリモート開発で参加 • 18名・9ヶ国(イスラエル在住は9名)
  4. 4. OSvの概要
  5. 5. OSvとは? • OSvは単一のアプリケーションをハイパーバイザ・IaaSでLinuxOSな しに実行するための新しい仕組み • より効率よく高い性能で実行 • よりシンプルに管理しやすく • オープンソース(BSDライセンス)、コミュニティでの開発 • http://osv.io/ • Kivity, Avi, et al. "OSv—Optimizing the Operating System for Virtual Machines." 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association, 2014.
  6. 6. 1つのアプリだけ 実行したいユースケース Javaアプリ JVM ゲストOS ハイパーバイザ ホストOS デカいゲストOSは 余計なオーバヘッドでは? Javaアプリ JVM ハイパーバイザ ホストOS
  7. 7. 解決策:ライブラリOS Javaアプリ JVM OSv ハイパーバイザ ホストOS 出来るだけ改造しない ここで環境の違いを吸収
  8. 8. OSv=ライブラリOS • OSを利用するために呼び出すLinux APIをライブラリのような 形式で提供 (glibcへの限定的な互換性を提供) • 言語ランタイムはなるべく改造しないで移植可能にする (OpenJDK/Linux x86_64バイナリが動く) • API提供に必要な機能は実装 (ファイルシステム=ZFS、TCP/IP、スレッド&SMP) • フルサイズのOSとは構造の異なる薄いレイヤ (単一プロセス、単一メモリ空間、全てカーネルモード)
  9. 9. 動作環境 • ハイパーバイザ • KVM • Xen • VMware • VirtualBox • IaaS • Amazon EC2 • Google Compute Engine
  10. 10. 対応アプリ (Java) • OpenJDK7,8 • Tomcat • Cassandra • Jetty • Solr • OpenDaylight • Gitblit • Clojure • JRuby(Ruby on Railsなど) • Ringo.JS • Jython • Erjang • Scala • Quercus(PHPエンジン、 Wordpressなど) • minecraft-server • Oracle NoSQLDB
  11. 11. 対応アプリ (Java以外) • Ruby • WEBRick • Ruby on Rails • Publify(Railsベースのブログエンジン) • mruby • lua • Node.js
  12. 12. 何が動くの? (ネイティブアプリ) • haproxy • memcached • MySQL • LevelDB • SQLite • twemproxy
  13. 13. フットプリント (ディスクイメージサイズ) • mruby = 14MB • Ruby = 48MB • OpenJDK = 77MB
  14. 14. デモ
  15. 15. OSvのフットプリント と性能
  16. 16. フットプリント (最低メモリ使用量) • mruby = 65MB • Ruby = 75MB • OpenJDK = 110MB
  17. 17. ブート時間 • 1秒(DHCP、ZFS初期化込み)
  18. 18. SPECjbb2005(Java) • 120% faster than Linux guest 41000 30750 20500 10250 0 OSv Fedora score
  19. 19. iperf(network) • 186% faster than Linux guest 21 15.75 10.5 5.25 0 OSv Fedora Gbps
  20. 20. fsmark • 142% faster than Linux guest 220 165 110 55 0 OSv(ZFS) Linux(ZFS) Linux(ext4) files/sec
  21. 21. memcached • ※ネットワークスタッ クを迂回する独自版 memcachedでの比較 • 280% faster than Linux guest 8000 6000 4000 2000 0 OSv Fedora score
  22. 22. OSvの周辺機能
  23. 23. OSvをプログラムから操作 「REST API」 • REST API経由でOSvに任意の操作を実行 • 従来のOS:コマンド実行やファイルの編集で設 定を変更 (手動が基本、シェルスクリプトなどで自動化) OSv:APIで設定を変更 (自動化が基本、CLIはオプション)
  24. 24. OSvを対話的に操作 「Lua CLI」 • 簡易的なシェル機能を実現 • 全ての機能をREST API上に実装 • デフォルトではOSv上で実行されるが、リモー トホストで実行してSSH代わりに使用可能
  25. 25. 初期化スクリプトを サーバからダウンロード&実行 「Cloud Init」 • ネットワーク上からYAMLをダウンロードしてき て、ダウンロードしたファイルに記述されてい るREST APIを順次実行
  26. 26. OSv GUI • WebベースのGUI • OSの負荷、JVMのリソース情報、アプリの statisticsなどの統計情報を表示 • Virtual applianceとしてOSvを使うことを前 提にCassandra, memcached, Redisなどの アプリの情報を表示する機能を実装中
  27. 27. a
  28. 28. 簡易デプロイツール 「Capstan」 • 色々なアプリがインストールされたOSvのVMイ メージを、コンパイルなどの難しい作業なしに手 軽に実行するツール • Linux, Mac, Windowsで動作 • VirtualBox, VMware, KVMなどに対応
  29. 29. クラウドへのデプロイ • Amazon EC2 • AMIを配布中 • Google Compute Engine • capstanからアップロード可能
  30. 30. OSvにおけるJavaの拡 張
  31. 31. JMX on REST API • JMXのMBeanへREST API経由でアクセスが出 来る • Javaアプリケーションの内部情報を取得・変更 することが可能 • JMX APIとJolokiaベースの2つの実装が存在
  32. 32. JVMマルチテナント • 1つのVMでは通常1つのmainメソッドを含むプログラム しか実行出来ない • OSvは単一プロセスなので1つのJavaアプリしか起動出 来ない • マルチテナントをサポートするクラスローダを独自に実 装し、複数のmainメソッドを含むプログラム群をロード &実行するような仕組みを実装 • JVM自体のコードは無変更
  33. 33. JVM ballooning • OS起動時にほぼ全てのメモリをJVMヒープに割り当て • OS側のメモリが足りなくなってきたらOSへコールバッ クAPIを使って通知 Java側でByteArrayを作成し(GC対策)この領域をOS 側へ返還 • OSが使わないメモリ領域は引き続きJava側が使用出来 る • JVM自体のコードは無変更
  34. 34. OSv API • ELFバイナリのロード&実行 • リブート • ARPテーブル、ルーティングテーブルの編集 • IPアドレスの設定、DHCPクライアントの制御 • JVM Balloon API • カーネルトレースポイント API
  35. 35. Javaアプリの移植
  36. 36. Rhinoの例 • Makefileでzipをwget、unzip • Capstanfileでjs.jarをOSvのFSへ展開
  37. 37. Makefile .PHONY: all all: wget ftp://ftp.mozilla.org/pub/mozilla.org/ js/rhino1_7R2.zip unzip -x rhino1_7R2.zip
  38. 38. Capstanfile base: cloudius/osv-openjdk cmdline: /java.so -jar /js.jar build: make files: /js.jar: rhino1_7R2/js.jar
  39. 39. ビルド&実行 [syuu@devil rhino]$ capstan build Building rhino... Downloading cloudius/osv-openjdk/index.yaml... 149 B / 149 B [====================================================== ] 100.00 % Downloading cloudius/osv-openjdk/osv-openjdk.qemu.gz... 70.82 MB / 70.82 MB [================================================] 100.00 % [syuu@devil rhino]$ capstan run Created instance: rhino OSv v0.13 eth0: 192.168.122.15 Rhino 1.7 release 2 2009 03 22 js>
  40. 40. コミュニティ活動
  41. 41. コミュニティ活動 • 東京 - 毎月開催 • 大阪 - 予定中、参加者募 集
  42. 42. OSC • 関西と関東のOSCに出 展
  43. 43. 日本語情報 • osv-ja-wiki • github.com/syuu1228/osv-ja-wiki

×