実現したいこと
複数のノードをまたがって動作できるような仕組みを実現したいです。
以下のようなイメージ図です。1つの物理マシンに複数のコンテナを
立ち上げるのは一般的かと思いますが、今回はそれの逆のようなことを
実現したいと考えています。
具体的な例
例えば、以下のような例を想定しています。
Pythonを使って深層学習を行うプログラムにおいて、複数台のGPUを使って学習をしたいが、
1台のマシンに搭載できるGPUはせいぜい4台程度であるため、それ以上の並列化できません。
そこで、複数台のマシンを集めて学習をしたいが、ネットワーク通信をいちいち書くのも
非常に面倒です。
そこで、複数台のマシンをあたかも1台のマシンで動作しているかのような状態を
実現できればと考えています。例えば、2台のGPUを搭載するマシンを4台使用し、
合計8台のGPUが利用できる環境化で、あるコンテナ上でnvidia-smiを実行して
8台のGPUを同時に認識できることを目指しています。
DockerやKubarnetesに詳しい方の意見やおすすめの手法が知りたいです。
よろしくお願いします。
0 コメント