分散レイトレーシング実験
分散版のレイトレースベンチができたので実験してみた。
ローカルマシン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秒代くらいに短縮したのがまさにそれだと思われる。