为我的研究小组设置此工作环境的最佳方法是什么?

时间:2018-05-11 17:48:16

标签: remote-access jupyterhub supercomputers

我们最近有一台超级计算机(我将其称为“集群”,它有4个GPU和12核处理器,具有一些不错的存储和RAM)到我们的实验室进行机器学习研究。 Linux发行版(最可能是CentOS或Ubuntu,具体取决于您的建议)将安装在机器中。我们希望以这样的方式设计远程访问:我们具有以下用户层次结构:

  1. 管理员(1人,教授):这将是群集中唯一的超级用户。
  2. 特权用户(约3人,博士生):这些人将是实验室中技术娴熟或长期的研究人员,他们将在集群中为用户自己定义。他们应该能够设置自己的环境(通过docker或conda),远程开发他们的项目,并自由地将文件传入和传出集群。
  3. 普通用户(约3人,硕士生):我们希望这类用户只与群集进行交互,以获得计算能力和存储的数据。他们不应该在群集中拥有自己的用户。如果他们只能使用Jupyter笔记本电脑就可以了。他们应该能够访问集群中的只读数据,因为我们正在处理的数据太多,无法在本地下载。但是,他们不应该能够更改群集中的任何内容,只能将他们的笔记本和许多输出文件放在那里,以便他们能够在必要时将其下载到本地系统以进行报告。
  4. 我们还希望仅为3型用户分配一部分计算能力。其他人应该能够在需要时访问所有功能。

    对于所有用户,应该可以轻松地从他们在个人计算机上的操作系统访问群集。对于类型1和类型2,我认为PyCharm用于远程开发.py文件和jupyter笔记本的隧道是最好的选择。

    我对此做了很多研究,但由于我没有IT背景,我无法确定以下方法是否有效。

    • 为类型3用户设置JupyterHub。这样我们就不必让这些人在群集中拥有用户。但是,我不确定GPU对此的支持。根据{{​​3}},我们只能限制每个用户的CPU。此外,当我们设置集线器时,他们是否能够访问管理员主目录下的数据,还是我们必须为此复制数据?我们只希望他们能够访问特定部分的数据(与他们正在处理的任何项目相关的部分,因为他们仅对该项目签署保密性)。这可能与JuptyterHub一起使用吗?
    • 其余的(类型1和类型2)将在群集中拥有(sudo或不具有)用户。对于这种情况,是否有解决方法的UI,以便用户可以更轻松地从群集传输文件(他们不必使用scp)?例如FileZilla是一个选项吗?
    • 最后,如果type-2用户可以解决问题类型-3用户,那么他们每次遇到问题时都没有引用教授。但是afaik,你必须是一个超级用户来控制JupyterHub的东西。

    如果有人必须在他们自己的实验室设置这种环境并分享他们的经验,我将不胜感激。

0 个答案:

没有答案