2017年7月17日月曜日

マルチコア並列の性能を見る

 学生の皆さんが持っているノートPCですが、マルチコアになっています。それを意識している学生諸君はほとんどいないように思われます。実質4台のCPU(正確には、多くの場合、2コア×2ハイパースレッディング)が載っているのに!

 情報工学応用ユニット1のある実験のある課題では、ここに焦点を当てました。通常のプログラミング言語で、この4台のCPUを使った並列プログラムを書いて動かすことはとても困難です。しかし、Java SE8の並列ストリームとラムダ式を使うと、非常に簡単にそのような並列プログラムを作成し、動かすことができます。

 この実験での課題は、「見出し語が約12,000語の英語辞書」を使って、「約1,000語のミススペル語を正しいスペルに直せ!」という問題です。Windowsの標準機能である「リソースモニタ」を使うと、以下のような綺麗なCPU稼働状況が分かります。解答した学生諸君の中には、もっときれいな(逐次と並列の対比がより明確な)図を提出した人もいます。

[図が小さいので、拡大してご覧下さい]

0 件のコメント:

コメントを投稿