セッション5 : メモリ管理


メモリ管理シュミレータの構想

09:05 <#0:Ichiji> ★メモリ管理シミュレータの構想★
09:06 <#0:maruyama> 明かるすぎ……。
09:20 <#0:Ichiji> 職人芸は重要ですよね.
09:21 <#0:Takuo> "taku"ってどういうプログラム? takのこと?
09:21 <#0:wakita> 竹内関数です。
09:22 <#0:Ichiji> またchatがスクリーンに映らなくなった.
09:24 <#0:maruyama> Objective CAMLってマルチスレッドには対応していない?
09:24 <#0:wakita> 対応しています。
09:24 <#0:kourai> はいはい、おはようさん
09:24 <#0:wakita> しかし、現在のAPIではconcurrencyを考慮していません。
09:25 <#0:wakita> これは、非常に近い将来課題です。
09:35 <#0:wakita> さきほどの発表について共著者の個人的なビューを追加します。
09:36 <#0:wakita> おおざっぱにいうと、われわれは SPEC GC を実現しようとしています。
09:36 <#0:wakita> 現状では、一定の範囲のGCのクラスに対して SPEC GC for ML を定義しています。
09:37 <#0:wakita> 今後は、Smalltalk, Java のサポートによって、SPEC GCスイートへ向かうつもりです。
09:37 <#0:wakita> 終わり。

リアルタイム環境に適したガベージコレクションAPIの実現について

09:35 <#0:Ichiji> ★リアルタイム環境に適したガベージコレクションAPIの実現について★
09:41 <#0:maruyama> GCを実装するためのAPIではないみたいですね。
09:42 <#0:Ichiji> GCを効率よく使うためのAPI?
09:42 <#0:tyasosim> そうですね
09:43 <#0:tyasosim> 既存のアルゴリズムで性能を向上させるのが目的です
09:43 <#0:maruyama> GCのアルゴリズムによって、パラメータって違わないのかな
09:44 <#0:tyasosim> パラメータはここのアルゴリズムによって変更可能です
09:45 <#0:maruyama> APIはGCのアルゴリズム毎に違うのですか?
09:45 <#0:tyasosim> API自体が異なるわけではなく、提案している3つのAPIのパラメータを変更することによって
09:46 <#0:wakita> free は悲しいので、その部分について conservative GC を使うというのは?
09:46 <#0:tyasosim> うまく調節してみようと言うモチベーションです
09:47 <#0:tyasosim> Javaではポインタか値かが判らないときがあるからです
09:49 <#0:wakita> そうなんですか?
09:49 <#0:maruyama> 判らないのはnativeメソッドだけですよね?
09:49 <#0:tyasosim> そうです
09:50 <#0:wakita> そこをconservativeにやってまずい点がよく分かりません。

小量のスタックで大部分を深さ優先順にコピーするゴミ集め方式

09:57 <#0:Ichiji> ★少量のスタックで大部分を深さ優先順にコピーするゴミ集め方式★
10:10 <#0:wakita> GC stackはスタックフレーム
10:10 <#0:wakita> tospaceのスタックはフレームをつなぎ合わせたものと考えられないだろうか?
10:10 <#0:wakita> すると、tospace内でのコピーは除去できる?