ALS2構想-2

数十台の端末を使って物理レベルから世界をシミュレート

・何を並列化しよう?
コンピューターを数台〜数十台使うわけで、その全てを有効に使える方法をとらなければ並列化の意味がない。

  1. 案1

端末1つ1つが異なる世界をシミュレートし、メモリのアドレス空間のみを並列コンピューティングで拡張していく。(自分の持っている世界同士がお互いに影響しあう)
→世界ごとの速度がバラバラに。

  1. 案2

機能の分散化。ノードAは物理系接触の担当 ノードBは物理系分子間力担当 ノードCは仕事の割り振り。
各機能をマシンごとに割り振って並列処理。
→マシンに性能差がネックになり、高性能なマシンだとしても、他の処理を待つために処理待ちしてしまう。
有効に性能が引き出せない。

  1. 案3

同じ環境定数を設定することによって、同じ世界を各端末がシミュレートしていく。
→マシンの性能等による発展の仕方等を比較実験できる

と、言ったような案を考えてみた。マシンを全て有効に使うことは技術的に難しいので、それは諦める。
個人的に案1と案2の美味しいところをとったのがいいと思う。


コンピューター同士の接続はP2P接続にしたいと考えている。まぁ別にこだわる必要はないんだけどなんかかっこ良かったから。理由不純。

その上で分散ハッシュテーブルという仕組みを適用したいと考えている。
そのために今日はMD5のハッシュ計算プログラムを参考にダウンロードしてきた。(efsの研究室さん)

言語が微妙に違うために、そのまま使うことができないのでALS2用に書きなおす必要性があり。
多分2,3時間あればできる。



それからTCP/IPによる通信をプログラムを試してみた。
Geekなページさんのサンプルをお借りした。
いい感じに通信出来てることを確認した。これをベースにP2Pを実装していく予定。
今回は時間がないので出来る限り、ネットのプログラムなどを流用していきたいと思う。
その分、他のところでこだわりまくるけど。