Project HotRockit

7,020 views
6,857 views

Published on

JDK の今後の方向性。HotSpot + JRockit の統合プロジェクトについて紹介します。
【あくまで、2011/05時点での予定です】

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,020
On SlideShare
0
From Embeds
0
Number of Embeds
1,020
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • The truth is that there are a lot of common features in both the JVMs, so converging them will add, lets just make up a number, 15%, new features to the combined JVM. We haven't decided on what we are calling the combined JVM yet, and there is a lot of different opinions internally on what a good name is. I have my opinion… (click)
  • In an Eclipse community survey Hotspot had 70%, OpenJDK 22% against Jrockits 5%. Take this for what it is – Respondees could choose multiple options, and Eclipse users are hardly representative for the Java install base as a whole (As in – they are more likely to actively choose their JVM, in this case giving JRockit better numbers in comparison)
  • One of our internally big deals is the JVM convergence project. We havent decided on what the convereged JVM will be called yet, but there are guerilla campaigns ongoing...We will ”converge” by moving and re-implementing the missing goodies from JRockit into the Hotspot codebase. Most of those changes will go into the OpenJDK, but some will remain premium features. E.g, JRockit Mission Control. Once all of the features are moved, we will prounce the convergence complete. Well, in all honesty, we will probably make a bigger deal than that from it, but it sounds less dramatic when you know how its done.Hopefully, the convergence will be completed by JDK 8 GA, but I’m making no promises today.
  • Project HotRockit

    1. 1. Project “HotRockit”日本オラクル株式会社2011年 5月
    2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標の可能性があります。 Copyright Oracle Corporation Japan, 2011. All rights reserved. 2
    3. 3. 最近のニュースから オラクル、Java仮想マシン「JRockit」を無償公開  高性能JVM「JRockit」、OpenJDKベースで無償提供開始 (出典: CodeZine) (出典: マイコミジャーナル) オラクル、レガシーJVM「JRockit」を無料化  米Oracle が HotSpot と JRockit の両JVM統合にあたり (出典: COMPUTERWORLD.jp) JRockit を無償提供 (出典: SOURCEFORGE.JP) Copyright Oracle Corporation Japan, 2011. All rights reserved. 3
    4. 4. HotRockit 想像つきます、よね?Copyright Oracle Corporation Japan, 2011. All rights reserved. 4
    5. 5. JVM Convergence JRockit HotRockit HotSpot Copyright Oracle Corporation Japan, 2011. All rights reserved. 5
    6. 6. JVM ConvergenceHotRockit : HotSpot + JRockit• いつから?• どんなプランで?• どの機能?• OpenJDK は? Copyright Oracle Corporation Japan, 2011. All rights reserved. 6
    7. 7. Java SE の今後• Java SE のロードマップ –Java SE 7 (JSR-336) : 2011年 7 月7 日 –Java SE 8 (JSR-337) : 2012年 後半 Copyright Oracle Corporation Japan, 2011. All rights reserved. 7
    8. 8. Java SE 72006 年 8 月にプロジェクトを開始• OpenJDK プロジェクトから提供• OpenJDK は変わらず無料で利用可能、GPLv2 で提供• Java SE 7 の開発はサブプロジェクトで実装• NetBeans 7.0 でプレビュー版を利用可能• 2011年7月7日リリース予定 Copyright Oracle Corporation Japan, 2011. All rights reserved. 8
    9. 9. JDKにまつわる、気になるアレコレ• バイナリの問題• ライセンス・使用権の問題• サポート・ポリシーの問題• 開発体制の問題• サポート体制の問題 OpenJDK Copyright Oracle Corporation Japan, 2011. All rights reserved. 9
    10. 10. 2010 Eclipse Community survey Copyright Oracle Corporation Japan, 2011. All rights reserved. 10
    11. 11. Oracle OpenWorld 2010「Java Virtual Machine Strategy」セッションスライドより Copyright Oracle Corporation Japan, 2011. All rights reserved. 11
    12. 12. JDK の今後 2011/07/07 7 オープンソース継続 無償利用継続 利用権の統合 Oracle JDK • 安定化Sun JDK Oracle JDK(HotSpot) • 3rd パーティ・モジュール • ブラウザ Java PlugInOracle JRockit Oracle JRockit • JRockit 機能 Java SE 1.4/5/6 メンテナンス(JRockit R27/28) Copyright Oracle Corporation Japan, 2011. All rights reserved. 12
    13. 13. JRockit って何がいいんだっけ?実行系• パフォーマンス(JIT最適化)• Deterministic GC• Flight Recorderツール系• 実行中JVMへの診断コマンド送信• 監視・解析・プロファイラ• メモリリーク検知ツール Copyright Oracle Corporation Japan, 2011. All rights reserved. 13
    14. 14. JRockit って何がいいんだっけ? JRockit JVM Compiler Application Application 実行イベント 診断コマンド JIT JIT最適化 > 実行イベント ダンプ出力 Heap 診断コマンドツール New Old Native Det. GC Garbage Collector 監視・解析・プロファイラ ランタイム解析 メモリリーク分析 実行 Flight Recorder Runtime 統計 ダンプFlight Recorder Rotating Buffer ダンプ 解析 Mission Control/ バッファ Memleak 古いデータ あふれたら移動 Disk File Copyright Oracle Corporation Japan, 2011. All rights reserved. 14
    15. 15. JVM Convergence Project “HotRockit”JDK 7 GA JDK 7 Update X JDK 7 Update Y JDK 8 GA• Java SE 7 サポート • パフォーマンス向上 • パフォーマンス向上 • Java SE 8 サポート • G1 GCFrom JRockit From JRockit From JRockit From JRockit• PermGen 排除(予定) • Flight Recorder • コマンドライン・ツールの • JRockit パフォーマンス (一部機能の先行実装) サポート拡充(jcmd) 機能の完全ポーティング• JMX Agent の改善 • Non-contiguous ヒープ • I/O性能• コマンドライン・ツール (jcmd) • Flight Recorder • JIT最適化 フル機能 • JRockit 付加価値機能• Mission Control • Deterministic GC の完全ポーティング • コンパイラ制御 (部分的なJIT適用の 制御など) • Verboseロギング • Memleak ツール = Premium Feature Copyright Oracle Corporation Japan, 2011. All rights reserved. 15
    16. 16. JVM Convergence No More Perm-Gen Update to JDK 7 • Perm-gen will be removed • Will use native memory and allocate as needed • No need to decide the required size up front • No need for tuningHotSpot JRockit Heap Heap New Eden Survivor Native Perm From To Old anent Nursery Old Native 0 1 n 0 1 Xmn -XX:PermSize Xns -XX:MaxPermSize Xmx/Xms Xmx/Xms Copyright Oracle Corporation Japan, 2011. All rights reserved. 16
    17. 17. JVM ConvergenceJRCMD → JCMDJDK 7 Time Frame• Command line utility to enumerate and send commands to running JVMs• Will very likely be renamed to JCMD –jcmd <pid> <command>• First port will probably have a limited set of commands –help –version –start_management_server –stop_management_server Copyright Oracle Corporation Japan, 2011. All rights reserved. 17
    18. 18. JVM ConvergenceJCMD ExtensionsLater JDK 7 Updatesprint_threads prints thread dumpsprint_memusage prints native memory allocation, down to individual allocation sites, if tracing is enabledprint_object_summary prints a histogram of the heap, by classheap_diagnostics prints heap information, including semi-ref details[start|stop|dump|clone]_flightrecording controls the Java Flight Recorder (more on this later) Copyright Oracle Corporation Japan, 2011. All rights reserved. 18
    19. 19. JVM ConvergenceJMX Agent UpdateJDK 7 Time Frame• Use same port for JMX Registry and JMX Server –Easier firewall configuration• Life Cycle Control –Even after the JVM has been started (using JCMD)• Improved ergonomics -Xmanagement:port=7091,ssl=false,authenticate=false Instead of: –Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.ssl=false –Dcom.sun.management.jmxremote.authenticate=false Copyright Oracle Corporation Japan, 2011. All rights reserved. 19
    20. 20. JVM ConvergenceMBean UpdatesJDK 7 Time Frame• Many MBeans from JRockit’s JMXMAPI Ported –Means better support for Hotspot in Mission Control –Initially only a subset of the MBeans will be available• Examples: –getJVMGeneratedCPULoad() –getAllocatedBytes(long[] threadIDs) –getInvocationCount(MethodID id) –getTiming(MethodID id) –DiagnosticCommandMBean –PerfCounterMBean Copyright Oracle Corporation Japan, 2011. All rights reserved. 20
    21. 21. JVM ConvergenceMission Control Premium FeatureJDK 7 Time Frame• Monitor health & performance in production• Can work as Eclipse plug in• A suite of powerful tools for Performance Tuning, Diagnostics and Support –Internal survey: 25% more efficient with Mission Control Copyright Oracle Corporation Japan, 2011. All rights reserved. 21
    22. 22. JVM ConvergenceJava Flight Recorder Premium FeatureUpdate to JDK 7• In-Flight Recorder for Java –Always on –Very low overhead –Dump data anytime –Go back in time to see what lead up to a problem• Rich GUI in Mission Control –Built-in GUI editor –Build and export custom plug-ins directly from Mission Control Copyright Oracle Corporation Japan, 2011. All rights reserved. 22
    23. 23. 補足情報 JRockit Flight Recorder (in JRockit)  全てを記録 : 稼動状況を常に記録。予測外の事態でも過去に遡って分析可能。  JVM組み込みの機能なので、アプリのコード変更なしに利用可能。  長期実行テストのみならず本番環境にも適用可能。 性能を犠牲にせずに過去に遡って 挙動を記録トラブル解析 ! 挙動が おかしい 時間の経過Java アプリ 自動ファイル出力WebLogic Server 挙動を常時記録OracleJRockit 自動記録 "録りっぱなし" ■ 実際にコールされたSQLの識別 Copyright Oracle Corporation Japan, 2011. All rights reserved. 23
    24. 24. 補足情報JRockit Flight Recorder (in JRockit) 各処理を色分け して明確化 スレッドごとの 処理ステップ GCのタイプ、 タイミングの可視化 Copyright Oracle Corporation Japan, 2011. All rights reserved. 24
    25. 25. JVM ConvergenceMemleak Server Premium FeatureJDK 8 Time Frame• Low overhead memory analyzer –Piggybacks on the GC• In-situ analysis –No need for large memory consuming heap dumps –If static dumps for off-line analysis are needed, use hprof and MAT instead Copyright Oracle Corporation Japan, 2011. All rights reserved. 25
    26. 26. 補足情報Memleak ツール (in JRockit Mission Control) わずかなオーバーヘッドでリアルタイム傾向分析可能 (サイズ、インスタンス増加数、存在比率) インスタンス間の参照ツリー分析 : 問題個所特定が容易 Copyright Oracle Corporation Japan, 2011. All rights reserved. 26
    27. 27. JVM ConvergenceDeterministic GC Premium FeatureJDK 8 Time Frame• Soft real-time GC• Pause time target Copyright Oracle Corporation Japan, 2011. All rights reserved. 27
    28. 28. JDKにまつわる、気になるアレコレ• バイナリの問題 • シングル・バイナリへ• ライセンス・使用権の問題 • 無償部分を維持しながら統一• サポート・ポリシーの問題 • ライフサイクルの統一• 開発体制の問題 • 開発チームを統一• サポート体制の問題 • サポート体制を一本化 Copyright Oracle Corporation Japan, 2011. All rights reserved. 28
    29. 29. 補足情報 オープンソースと商用版の両立 オープンソース 本番向け、商用版 コミュニティの意見を組み入れた オープンソース実装を有効活用しながら リファレンス実装 継続利用や作業効率化を考慮した拡張JDK OpenJDK Oracle JDKAppServer GlassFish WebLogic ServerORマッピング EclipseLink TopLink開発環境 Eclispe Enterprise Pack for Eclipse Copyright Oracle Corporation Japan, 2011. All rights reserved. 29
    30. 30. Java/JDK 関連の情報はこちらからも• Henrik Ståhl • Marcus Hirt JVM Tech Lead, Product Architect, Team Lead for Manager of Java Platform Mission Control http://blogs.oracle.com/henrik/ http://hirt.se/blog/ Copyright Oracle Corporation Japan, 2011. All rights reserved. 30
    31. 31. 31Copyright Oracle Corporation Japan, 2011. All rights reserved.

    ×