- ...保証されていることを意味する.
-
我々の研究を含む多くの研究は,
より強い意味での正当性を保証していない.
それらはランタイムシステムやコンパイラによってスレッド間に全く依存関係
が追加されないことを保証しているだけである.
- ...逐次呼び出しのように続ける.
-
LTCのスレッド生成は, 他のプロセッサが
タスクを盗むことができるように, タスクプールにデスクリプタを残す.
これは動的ロード分散のコストであり, マルチスレッディングそのものの
コストではない.
- ...eのデスクリプタを共有タスクプールに残す.
-
共有タスクプールを使用することは, leapfrogging が
共有メモリを仮定していることを意味しない. それは
論理的には共有されているが, 物理的には分散した
データ構造として実際に実装可能である. つまり, future による起動では
タスクをローカルタスクプールに入れる. アイドルなプロセッサは
メッセージを送って他のプロセッサから仕事を持ってくる[18].
- ...破壊されることを仮定しているcaller-save registerである.
-
SP と FP も手続き呼び出しをまたがって保存されることが
仮定されている. しかし, 我々の目的では, 我々はそれらを
特別なレジスタとみなし, 他の通常のcallee-save registerとは
区別する.
- ...破壊するのかがわからないため
-
実際には, 生成されるアセンブリコードを見るか,
それらをアセンブリで最初の場所に書き込むことによって,
どのcallee-save registerを
switch_to_parent が使用しているのかを知ることができる.
しかし, 一般には, switch_to_parent は f から間接的に
呼ばれ, その場合は switch_to_parent によって破壊された
callee-save register のみを回復することは
正しく callee-save register を回復しない.
- ...異なるケースは分離した手続きにしたい.
-
例えば,
我々の ABCL/f の実装では, 潜在ブロックポイントで
ブロックするかしないかをチェックすることは,
4つの条件分岐を含む. そのような埋め込みの決定は
コードサイズを増加させ, バックエンドのCコンパイラを弱める.
- ...そのアドレスを
&&
オペレータで獲得することによって得られる -
&&L はラベル L のアドレスを返す.
- ...ゼロバイト(!)の要求を行なうことによって得られる
-
現実は少しだけより複雑である. callee-save register の
ダブルワードアラインメント制限のせいで, caller の FP が
格納されているアドレスの下に一ワード返されるかもしれない.
その場合, 返されるアドレスは何も含まない. 幸運にも,
返ってきたアドレスの{¥bf 一つ上のワード}
を読み, そのワードがテキストセグメントのアドレスか
スタックのアドレスを含んでいるかどうかを調べることによって,
これらの二つの場合を区別することができる.
- ...C の
return
文によって結果の値を返す -
もともとの lazy context allocation は逆のことをしている.
返り値はメモリに書かれ, フラグが手続きに返される.
- ...遠隔プロセッサの局所アドレスのビットを反転させている
-
H を最大ヒープアドレスとする. $M$はポインタがとりうる最大の値
とする. そして x は任意の有効なポインタである. もしH < M/2 ならば(こ
れはほとんどのアドレス空間の形状であるが), x をビット反転した
値(つまりM-x)は M-M/2 = M/2 よりも大きい.
それゆえに有効なヒープアドレスではない.
- ...全体ごみ集め器は排他的にごみ集め関連メッセージを受信する
-
もしユーザレベルのプログラ
ムがGCメッセージと分離されていれば, このフェーズは必要ない. 例えば, ユー
ザレベルプログラムとごみ集め器が異なるメッセージバッファをもっていると
きなど.
- ...マークされていないオブジェクトを回収することでごみ集めを終える
-
Boehm & Weiser のごみ集め器は確保要求が要求するまでは,
実際のスイーピングを遅らせる.
- ...一つは分散メモリ, シングルタスク並列計算機AP1000+
[22]
-
最近, Linux が AP1000+ にポートされたが, 本研究では使われて
いない.
- ...時々全体ごみ集めをする必要がある
-
ほとんどのチャネルは一度し
か使用されない. しかし, ABCL/f のセマンティクスはこの性質を保証してい
ない. ごみになったチャネルを回収するためには, 単純に全体ごみ
集めに頼るしかない. これは決して我々の全体ごみ集め器を過大見積りしない
- ...「緊急の全体ごみ集め」をマスタープロセッサに対して要求する
-
デフォルトの局所領域確保器は局所ごみ集めを 10 回試みるが, 我々は
この再試行をオフにしている.
Mitsubishi Research Institute,Inc.
Mon Feb 24 19:27:36 JST 1997