Каков наилучший способ установить эту рабочую среду для моей исследовательской группы? - PullRequest
0 голосов
/ 11 мая 2018

Недавно мы получили суперкомпьютер (я назову его «кластер», он имеет 4 графических процессора и 12-ядерный процессор с неплохой памятью и оперативной памятью) для нашей лаборатории по изучению машинного обучения.На машине будет установлен дистрибутив Linux (скорее всего, CentOS или Ubuntu, в зависимости от ваших предложений).Мы хотим спроектировать удаленный доступ таким образом, чтобы у нас была следующая иерархия пользователей:

  1. Администратор (1 человек, профессор): это будет единственный суперпользователь кластера.
  2. Привилегированный пользователь (~ 3 человека, аспиранты): Эти ребята будут более технически подкованными или долгосрочными исследователями лаборатории, в которой будет определен пользователь для себя в кластере.Они должны иметь возможность настраивать свою собственную среду (через docker или conda), удаленно разрабатывать свои проекты и свободно передавать файлы в кластер и из него.
  3. Обычный пользователь (~ 3 человека, студенты магистратуры): мы ожидаемпользователи такого типа взаимодействуют с кластером только за его вычислительные возможности и данные, которые он хранит.У них не должно быть своего собственного пользователя в кластере.Это нормально, если они могут использовать только ноутбуки Jupyter.Они должны иметь доступ к данным только для чтения в кластере, так как данных, над которыми мы работаем, будет слишком много для их локальной загрузки.Однако они не должны иметь возможности что-либо менять в кластере и иметь только свои записные книжки и несколько выходных файлов, которые они смогут загружать в свою локальную систему всякий раз, когда это необходимо для целей отчетности.

Мы также хотим выделить только определенную часть наших вычислительных возможностей для пользователей типа 3.Остальные должны иметь возможность доступа ко всем возможностям, когда им это необходимо.

Для всех пользователей должен быть простой доступ к кластеру из любой операционной системы на их персональных компьютерах.Для типов 1 и 2 я думаю, что PyCharm для удаленной разработки файлов .py и туннелирования для ноутбуков Jupyter - лучший вариант.

Я провел много исследований по этому вопросу, но, поскольку у меня нет ИТ-опыта, я не могуубедитесь, что следующий подход будет работать.

  • Настройка JupyterHub для пользователей типа 3.Таким образом, нам не нужно, чтобы эти парни имели пользователя в кластере.Тем не менее, я не уверен насчет поддержки GPU.Согласно здесь , мы можем ограничить использование процессора только для одного пользователя.Кроме того, смогут ли они получить доступ к данным в домашнем каталоге администратора, когда мы настроим концентратор, или нам придется дублировать данные для этого?Мы только хотим, чтобы они имели доступ к определенным частям данных (тем, которые относятся к тому проекту, над которым они работают, поскольку они подписывают конфиденциальность только с этим проектом).Возможно ли это с JuptyterHub?
  • Остальные (тип-1 и тип-2) будут иметь (sudo или нет) пользователей в кластере.Для этого случая есть ли интерфейс, который нужно обойти, чтобы пользователям было проще переносить файлы из кластера и в него (чтобы им не приходилось использовать scp)?Является ли, например, FileZilla опцией?
  • Наконец, если пользователи типа 2 могут решать проблемы, возникающие у пользователей типа 3, чтобы они не обращались к профессору каждый раз, когда у них возникают проблемы.Но, на самом деле, вы должны быть суперпользователем, чтобы контролировать вещи в JupyterHub.

Если бы кому-то приходилось настраивать такую ​​среду в собственной лаборатории и делиться своим опытом, я был бы признателен.

...