計算科学の世界トップページ

「京」まめ知識 -vol.4-
京を待ちわびて

K computer Newsletter No.9 : 「京」まめ知識

毎日たくさんのプログラムを実行している「京」。
計算能力をむだなく使うために、どんな工夫をしているのでしょう?

「京」は、たくさんのコンピュータ(計算ノード)を通信ケーブルでつないだ並列コンピュータです。ですから、プログラムを実行するときに、「京」全部を使うこともできれば、必要な分だけを区切って使うこともできます。

この特徴を生かして、ユーザーが「京」を平等、かつ、スムーズに利用できるようにし、稼働率を高くするために、私たちはさまざまな工夫をしています。

ユーザーが「京」で実行したいプログラムは、それぞれ大きさ(必要な計算ノードの数と計算時間)が違います。そこで、「京」は「スケジューリング」という機能を使い、まるでパズルのように、各プログラムをなるべく隙間なく配置していきます。プログラムは基本的に先着順で実行されますが、後から送り込まれたプログラムでも、うまく隙間に入るようなら先に実行することもあります。

しかし、「京」のユーザーは多く、毎月数万本のプログラムが実行されるので、待ち時間が発生することもよくあります。また、どんなにうまくスケジューリングをしても、小さな隙間が必ず発生するため、その有効利用が運用上の課題となっていました。

そこで、2013年7月から、「京を待ちわびて」という名前のソフトウェアが使われるようになりました。このソフトは、プログラムを実行する前に、その大きさから待ち時間を計算してくれ、また、すぐに使える計算ノードの数と計算時間も教えてくれます。

これにより、ユーザーは「プログラムを分割して実行させたほうが速く結果が出そうだ」とか、「待ち時間が長いので、隙間時間を利用して別の細かい作業(例えばデバッグ)をしよう」といった判断ができるようになりました。ユーザーが効率的に「京」を使えるようになっただけでなく、隙間時間も効果的に活用してもらえるようになったのです。「京を待ちわびて」は、実は「待ちわびる」時間を短くしてくれるソフトなんですね。

「京」では、3次元で配置されている計算ノードに、100本以上のプログラムがパズルのように詰め込まれている。しかし、どうしても小さな隙間が空いてしまう(黄色の楕円で囲んだ部分)。こうした隙間の有効活用が可能になった。

MENU