Java 女子部 講義資料
https://javajo.doorkeeper.jp/events/21337
This presentation is used to lecture about the introduction of Java Virtual Machine at Java Japan User Group (Girls).
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Monica Beckwith
Learn what you need to know to experience nirvana in the evaluation of G1 GC even if your are migrating from Parallel GC to G1, or CMS GC to G1 GC
You also get a walk through of some case study data
G1 GC
Java 女子部 講義資料
https://javajo.doorkeeper.jp/events/21337
This presentation is used to lecture about the introduction of Java Virtual Machine at Java Japan User Group (Girls).
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Monica Beckwith
Learn what you need to know to experience nirvana in the evaluation of G1 GC even if your are migrating from Parallel GC to G1, or CMS GC to G1 GC
You also get a walk through of some case study data
G1 GC
I will talk about some improvements of GC in Ruby 2.0.0. For instance, I will introduce about implementations of Bitmap Marking GC and so on, and show results of benchmarks after these are implemented.
Animation version is here: https://gumroad.com/l/xWCR (premium version)
I will talk about some improvements of GC in Ruby 2.0.0. For instance, I will introduce about implementations of Bitmap Marking GC and so on, and show results of benchmarks after these are implemented.
Animation version is here: https://gumroad.com/l/xWCR (premium version)
117. TAO
✓ 竹内郁雄先生らによって実装
✓ TAO/ELIS
✓ 今日はELIS復活祭らしい
116/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
118. TAO
✓ TAOはSILENTの機械語
✓ LISPの方言
117/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
119. TAO
Lisp と Prolog と
Smalltalk と C をゴタ混
ぜにしたプログラミング
言語だが見掛けも骨組
みもやっぱり Lisp
[「マルチパラダイム言語 TAO - 竹内 郁雄」より引用]
118/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
120. SILENT
✓ 記号処理計算機
✓ LISPマシン
✓ 軽量プロセス管理
✓ 水平型マイクロプログラムが書け
る
✓ TAO
119/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
121. 軽量プロセス
✓ すべてのプロセスはTAOで動作
✓ アプリケーションもプロセスに載る
120/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
122. GC
✓ アプリケーションのプロセスが使
用するメモリを管理
✓ 計8つのGCプロセス(軽量)が常
に走る
✓ OSレベルでのGC
121/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
123. 8つのGCプロセス
✓ main marker
✓ post marker
✓ 6つの sweeper
✓ データ種別毎
122/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
124. それぞれの役割
✓ main marker
✓ rootのマークをひたすら行うプロセス
✓ post marker
✓ ライトバリアで見つけたオブジェクトの
マークをひたすら行うプロセス
123/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
125. それぞれの役割
✓ sweeper
✓ 上記マークが終わったらスイープ
124/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
126. スケジューリング
✓ GCプロセスのスケジューリングは
OSで管理
✓ 優先度あり
✓ GCを急がなきゃ行けないときは優先度
あげたり
✓ メモリが枯渇した場合は全部止め
る
125/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
127. 重要な点
✓ 非停止であること
✓ ハードリアルタイム(厳格な実時間)を
実現
✓ ※ソフトリアルタイム(まぁまぁ実時間)
ではない
126/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
128. ライトバリア
✓ ハードウェアサポート
✓ マイクロプログラムのサブルーチ
ンで実装
✓ car、cdrへの書き込み時に動作
✓ 非常に高速
127/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
129. 結果
✓ 反応遅延が100マイクロ秒
✓ (ミリ秒じゃない)
✓ GCよる遅れはほとんど感じられな
いということ
128/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5
135. 詳細は論文で
✓ Lisp can be "Hard" Real Time
✓ http://www.franz.com/services/
conferences_seminars/jlugm00/
conference/Talk14_takeuchi.pdf
134/154
GCが止まらない - We want the pauseless GC Powered by Rabbit 0.6.5