Rust の並列実行

Menu

Rustの thread を使って以下の計算をして Amdahl則をグラフで可視化せよ。(他の例題でも良いが、面白いものであること)

3 ... n ( n は実験が現実的な整数 ) 間の素数を順次奇数で割っていくことで求める。

仕事がなくなったら、Worker が正しく停止する必要がある。すべての仕事が終わった後に正しく停止していることを説明せよ。

3 ... m,m+1 ... n のように分割し、Amdahl 則を実測したい。最初に m までを thread pool で実行し、それを終了を確認してから、残りを single thread で実行する。CPU 4 まで実測せよ。

4. 学科のサーバを使い 30 CPU まで実測せよ。

他の人との干渉を防ぐ必要があるので singularity / slum を使う

5. 結果をグラフで出力する

   gnuplot -> svg -> draw.io


option 他の言語でもやってみよう

Java, golang と Metal / Open CL / Cuda のうちの一つ でもやってみよう

cf. Mercural ssh:/net/home/hg/teacher/kono/os/ex/WorkerModel1


Shinji KONO / Tue Jan 12 13:42:17 2021