分散レイトレーシング実験

分散版のレイトレースベンチができたので実験してみた。

ローカルマシン1並列

(xp1@192.168.0.10)23> timer:tc(dist_ray, start, ["tmp.bmp", 200, 3, [node()]]).
waiting for boot servants...['xp1@192.168.0.10']
start rendering[<0.113.0>]
finished!
{67875000,ok}

ローカルマシン2並列

(xp1@192.168.0.10)22> timer:tc(dist_ray, start, ["tmp.bmp", 200, 3, [node(), node()]]).
waiting for boot servants...['xp1@192.168.0.10','xp1@192.168.0.10']
start rendering[<0.109.0>,<0.108.0>]
finished!
{34421000,ok}

ローカルマシン2並列+リモートwindowsXP

(xp1@192.168.0.10)24> timer:tc(dist_ray, start, ["tmp.bmp", 200, 3, [node(), node(), 'xp2@192.168.0.11']]).
waiting for boot servants...['xp1@192.168.0.10','xp1@192.168.0.10',
                             'xp2@192.168.0.11']
start rendering[<5132.63.0>,<0.118.0>,<0.117.0>]
finished!
{32391000,ok}

ローカルマシン2並列+リモートwindowsXP+リモートOSX+リモートLinux

(xp1@192.168.0.10)25> timer:tc(dist_ray, start, ["tmp.bmp", 200, 3, [node(), node(), 'xp2@192.168.0.11', 'osx@192.168.0.12', 'linux@192.168.0.13']]).
waiting for boot servants...['xp1@192.168.0.10','xp1@192.168.0.10',
                             'xp2@192.168.0.11','osx@192.168.0.12',
                             'linux@192.168.0.13']
start rendering[<5880.64.0>,<5846.63.0>,<5132.65.0>,<0.123.0>,<0.122.0>]
finished!
{31703000,ok}

結果は予想通り。
メッセージ量が減るように実装しないとだめですねぃ。
ローカル並列が50秒代から30秒代くらいに短縮したのがまさにそれだと思われる。