Click here to read in English. 近年普及が進んでいるコンテナ仮想化技術ですが、HPCの領域においても利用が広がっています。大学のスパコンにDockerが導入される例も出てきていますし、AWS提供のAWS BatchもDockerベースのサービスです。 コンテナ仮想化のスタンダードとなりつつあるDockerですが、HPC用途で使用するにはいくつか課題があります。そのうちの1つが、コンテナ間でのMPI通信が難しいという点です。流体解析などのシミュレーションを大規模に実行する際には、複数台のサーバ(ノード)、複数のCPUを利用して並列処理を行いますが、この際に利用される通信規格がMPIです。これをDockerで利用するのが難しいため、HPC環境でのコンテナ導入のハードルとなっています。 そこでHPC用途に特化したコンテナとして登場したのがSingularityです。
![HPC特化型コンテナ"Singularity"でOpenFOAMを動かす - サーバーワークスエンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/102a74d4bd694d5221df1a3df27d3a3ba7b3a577/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fserverworks%2F20200615%2F20200615064824.png)