並列度の計測

[*]は、32CPUで構成されるCray Superserverの上で測定 した並列実行効率を示したものである。 コンパイルされたフィボナッチ関数において線形な並列度が得られた。 なぜなら、共有メモリへのアクセスがなく、それぞれのプロセッサのキャッシュ メモリに十分ロードできるほどちいさなプログラムであったためである。 それに反して、同じプログラムをインタープリターで実行したとき、 キャッシュメモリを使い果たしたため、 線形な高効率を達成することができなかった。 さらにまた、頻繁に共有メモリを参照するようなプログラムや メモリ配置を要求するようなプログラムは1個のプロセッサで実行した ときよりも良い性能を得ることができなかった。 これは、頻繁なキャッシュメモリの入れ替えが原因と考えられる。


Table: マルチプロセッサ上で実行されたプログラムの並列度
processors 1 2 4 8 GC (ratio)
(a) compiled Fibonacci 1.0 2.0 4.0 7.8 0
(b) interpreted Fibonacci 1.0 1.7 2.7 4.4 0
(c) copy-seq 1.0 1.3 0.76 0.71 0.15
(d) make-cube 1.0 0.91 0.40 0.39 0.15
(e) interference-check 1.0 0.88 0.55 0.34 0.21




2016-04-05