2005-10-11 [長年日記]
λ. 正規表現とプロセス代数に基づく通信プロトコルコンパイラ. 服部健太, 数馬洋一
<URL:http://www.nue.riec.tohoku.ac.jp/jssst2005/papers/05063.pdf>
IT-system で発表したら、「多くのプロトコルはタイムアウト処理以外には並列性並行性を持たない。プロセス代数を使うメリットはそれほどないのでは?」というツッコミを受ける。たしかにその通りだ。
【2005-10-23 追記: 並列性並行性が重要であるようなプロトコルにはどんなものがあるだろうか? 例えばP2Pはどうか? WinnyやBittorrentのプロトコルをPreccsで書くことは(速度の点を除いて)現実的だろうか?】
「ラベル参照による繰り返し」は型理論の依存和(dependent sum)の一種だな。あと、この場合これを使った表現は高々有限個の選択(「|」)で表現できるので、言語のクラスを拡大することはないはず。
λ. 『四季 秋』, 森 博嗣
引用
彼女が、自分自身について、自分が関わる探究活動について、どんな計画を持っているのか、とても計り知れないけれど、必要なものは取り入れ、具体化して言ったはずだ。そういった手順には特別な方法はない。研究とはすべて例外なく地道なものだ。唯一差があるとすれば、それは速度だけ。速度を決めるものは、力だ。資金力、知力、労力、そして集中力。
λ. 複雑性とゲーム理論(3): 混合戦略とミニマックス定理
やはり、こうやって例を色々出してもらえると楽しいな。
通信プロトコルに並列性を持たせる事はあまりないかもしれないけど、並列性を持ったデータの送受信をシリアライズして送信→受信してデシリアライズする、というのはままあることです。<br>なので、その研究本来の意図とはずれるかもしれないけど、プロトコルの記述に(抽象的に)並列性が書けて、下位レイヤでのシリアライズを隠蔽してくれる(≒プロトコルコンパイラとやらがシリアライズしてくれる)のなら、「仕様記述からのプロトコル自動生成手法」としてアリかも、と思ったりしました。<br><br>…でも、普通はそのシリアライズの効率化でパフォーマンスを稼ぐんですよね(^^;
なるほど、たしかにそうかも。<br>……と思いつつ具体例が思いつかないっす(汗
うーむ、具体例…(^^;<br>僕は例えば、n回ループする処理を、バンド幅に合わせてkxmにunrolling/pipeliningして、k回分のデータを一度に送受信するようにするとか、そんなのをイメージしてたんですけどね。(ハードウェアやら並列計算機の内部通信ではそういうことをする) それを勝手にやってくれたら嬉しいなと。<br>Fibonacciが書けるなら…と思ったんだけど、これ通信プロトコルとして書いた訳じゃないんすね(^^;<br><br>あとは…例えばグリッドコンピューティング用のプロトコルを、1個のグリッドを1プロセスとみなして書くとかだったら便利かもしれない。かもしれない。
あ、なるほど。それなら良くわかります。<br><br>ところで、本文では「並列性」とか書いてましたが、これはconcurrencyのつもりでした。concurrencyなら「並行性」ですね。これ間違えるの何度目だろう……(とほほ