Re: 同期機構 (Re:オブジェクト指向言語)
河野真治 @ 琉球大学情報工学です。
In article <060224222917.M0183283@sma.gssm.otsuka.tsukuba.ac.jp>, kuno@gssm.otsuka.tsukuba.ac.jp writes
> 抽象化できなかったら言語の敗北だからさ。
> 言語屋の 久野
> P.S. 問題を複雑にしない抽象化の手段は存在すると思う。思わないの
> ならなぜ並列言語やってるのか不思議だな。
このあたり、並列処理と逐次処理に絶対的な差があると僕は思います。
逐次処理なら、抽象化が入っても、
入力を決めれば、出力が決まる
から、それを容認できる。あるいは、抽象化した部分のソースを読
めば良い。
でも、並列処理だと「並列実行のメカニズム」を特定できない限り、
抽象化した部分を十分に定義することが出来ない。つまり「どの
ように抽象化したのか」ってのを定義することに失敗していると
いうことだと思います。
抽象化そのものはプログラマが自分でやるわけだよね。階層的に。
lockとか conditional variable とかが、階層的な抽象化に合わな
いことが問題であって、しかも、それが全体のパフォーマンスに大
きく影響してしまう。
例えば、transaction の粒度とかを複数、階層的に定義できるよう
に、言語を自体を設計したい。けれども、それを実現するための
test & set とか critical region とか arbitor とかは、プログ
ラムソースに散在してしまう。その散在した「個別の操作」をいく
ら抽象化しても、transaction の粒度みたいな概念を全体的に調整
することはできない。
ってな感じですね。わかってもらえるかな?
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735