Macで複数のサーバをあげてみると

1つのMacの中で複数のレイトレサーバを起動して試してみます。

v32.patch

$ mv rt_v31 rt_v32
$ cat v32.patch | ( cd rt_v32 ; patch -p1 )
$ cd rt_v32
$ make clean
$ make

rt.py の names の箇所

  :
names = [ 'srv.rt', 'srv.rt-14', 'srv.rt-15', 'srv.rt-16', 'srv.rt-17', 'srv.rt-18' ]
names = names[:2]
  :

この箇所で起動するレイトレサーバの数を調整します。

まずサーバ1つの設定に書き換えて

  :
names = names[:1]
  :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_1_2_sc n=1 init_sec=5 div=2
  :
wh : 76800/76800(100.0%) : fin 39.83s
  以前の
  v31  wh : 76800/76800(100.0%) : fin 40.50s
  v30  wh : 76800/76800(100.0%) : fin 38.39s
  v29  wh : 76800/76800(100.0%) : fin 1m 44.72s
  v28  wh : 76800/76800(100.0%) : fin 1m 18.06s
  v27  wh : 76800/76800(100.0%) : fin 1m 8.39s
  v26  wh : 76800/76800(100.0%) : fin 1m 6.02s

サーバ数を2に戻して

  :
names = names[:2]
  :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_1_2_sc n=1 init_sec=5 div=2
  :
wh : 76800/76800(100.0%) : fin 26.84s

サーバ数を3,4,5,6で順次試すと

names = names[:3]
wh : 76800/76800(100.0%) : fin 28.43s

names = names[:4]
wh : 76800/76800(100.0%) : fin 28.81s

names = names[:5]
wh : 76800/76800(100.0%) : fin 29.13s

names = names[:6]
wh : 76800/76800(100.0%) : fin 29.35s

サーバ2つが最速でじわじわ劣化していきますね。 いづれにせよ1つの処理プロセスだけでは、コアを使い切れてなかったのは確かなようです。

サーバ2つの最速設定に戻して、 時間のかかっていた以前のデータで描画を試してみます。

names = names[:2]

$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs_tst fps=1
  :
wh : 307200/307200(100.0%) : fin 2m 9.34s
frm : 10/10(100.0%) : fin 19m 35.11s

fps=30での予想時間は

( 19*60+35.11 ) * 30 / 60/60 = 9.79時間
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v32/objs
  :
wh : 305132/307200(99.3%) : total 2m 14.94s : rest 0.90s : 2018/05/07 08:15:45
wh : 307200/307200(100.0%) : fin 2m 14.93s
frm : 300/300(100.0%) : fin 10h 2m 5.22s

$ ./cg.py eyep=[0,0,0],50,10 sec=10 data_name=objs name=out_v32/objs_near
  :
wh : 307200/307200(100.0%) : fin 2m 4.99s
frm : 300/300(100.0%) : fin 10h 27m 29.13s

$ ./srvs.py kill_all

ちとアングルが近過ぎた。