私たちの研究部門には、CPUとGPUを使用して重い作業を行う強力なUbuntuシステムがあります。私たちの研究者はすべてSSHを介して機械に接続し、システム上で(機械学習)ワークロードを実行します。
問題は、システムを使用している人と同時に競合が発生しており、人々がディープスを呼び出すことができる単純なチャットボックスでは十分ではないということです。基本的に、研究者Aが時間に敏感なベンチマークのためにGPUを使用したい場合は、他の人が他の人がGPUに触れることを望んでいません。
ユーザーに特定のコマンドまたはデバイスへの排他アクセスをスケジュールして付与するためのツールがあるかどうか疑問に思います。すべてのタスクは、カスタムグループを介してアクセスできる集中型のConda(Python)インストールを介して実行されます。誰もがシステムにSSHで接続します。 SSHアクセスをブロックしたり、GPUを排他的に設定したり、Pythonアクセスをブロックしたりできますか?
編集:私たちの研究グループにはアクティブなユーザーベースがありますが、キューシステムで設定を複雑にしたくないことを先に指摘する必要があります。私たちの設定にあまり邪魔になる(より素朴な)変更をすることが私たちの最初の選択です。この問題に早く言及することができず、申し訳ありません。
ベストアンサー1
これを処理する一般的な方法は、キューシステムを使用し、ユーザーがキューを介してのみジョブを送信できるようにすることです。私が働いた研究所でよく見られるのはトルク:
TORQUE は、バッチジョブと分散コンピューティングノードの制御を提供するリソースマネージャです。デフォルトでは、このソフトウェアを使用して、家庭や小規模オフィスのLinuxクラスターとキュージョブを設定できます。クラスタは、ヘッドノードと複数のコンピューティングノードで構成されます。ヘッドノードは Torque サーバーデーモンを実行し、コンピューティングノードは Torque クライアントデーモンを実行します。ヘッドノードはスケジューラデーモンも実行します。
他にもいくつかあります。すべての人がマシンを効率的に使用できるように適切なキューシステムを設定する方法については、システム管理者に連絡してください。これは共有クラスタにアクセスするための標準設定です。