Облачная платформаEvolution

Типы и особенности Jupyter Server


Jupyter Server позволяет создавать Jupyter Notebook, чтобы работать над кодом для обучения моделей. Отличие Jupyter Notebooks от традиционной среды разработки в том, что код можно разбить на ячейки и выполнять их в произвольном порядке.

В этой статье описаны только особенности работы Jupyter Server. Начать работу с ним в сервисе Distributed Train можно с помощью пошаговых инструкций по Jupyter Server.

Типы Jupyter Server

В Distributed Train можно создать Jupyter Server трех типов:

  • Совместный — доступен для работы всем пользователям воркспейса.

  • Индивидуальный — доступен только пользователю, создавшему его.

  • Мультидоступ — доступен выделенной группе пользователей.

Особенности индивидуальных Jupyter Server

  • Доступны по умолчанию только в воркспейсах, созданных после 1 ноября 2024. Чтобы работать с индивидуальными серверами в воркспейсе, созданном раньше, обновите воркспейс.

  • Индивидуальный Jupyter Server доступен только для одного пользователя — своего создателя. Дать к нему доступ другим пользователям не получится. Только администратор видит все индивидуальные Jupyter Server в проекте, но не имеет доступа к их содержимому.

  • Индивидуальные Jupyter Server можно создать только с базовыми образами Distributed Train.

  • Используется NFS-хранилище региона, в котором был создан индивидуальный Jupyter Server. В NFS выделен приватный каталог, который доступен только пользователю, создавшему Jupyter Server.

  • Чтобы поделиться файлами из индивидуального Jupyter Server, используйте каталог /workspace. Этот каталог доступен всем пользователям воркспейса, где был создан Jupyter Server.

  • conda-окружения расходуют inodes воркспейса.

  • В каждый Jupyter Server монтируется приватная папка пользователя. Папка располагается в каталоге /home/jovyan созданного Jupyter Server того воркспейса и региона, где был создан индивидуальный Jupyter Server.

Ниже представлена схема монтирования NFS-хранилищ к Jupyter Server.

../_images/s__nfs_js.svg

Особенности Jupyter Server с мультидоступом

  • Для каждого пользователя создаются свой Linux-пользователь, своя домашняя директория и независимое программное окружение.

  • Jupyter Server с мультидоступом доступен в версии воркспейса v3.

  • Jupyter Server с мультидоступом создается только на основе образа jupyter-multiuser. Использование других образов Distributed Train не поддерживается.

  • Мультидоступ доступен только выделенной группе пользователей, которых добавляет владелец Jupyter Server.

  • Для управления списоком приглашенных пользователей доступна вкладка Пользователи.

  • Добавлять и удалять пользователей из списка приглашенных можно только после остановки Jupyter Server.

  • Все пользователи Jupyter Server используют общие вычислительные ресурсы сервера.

  • Используется NFS-хранилище региона, в котором был создан Jupyter Server. В NFS для каждого пользователя используется тот же каталог, что и в индивидуальном Jupyter Server.

  • Конфликты пользователей при одновременной работе с одним сервером не возникают — каждый пользователь работает в собственном экземпляре Jupyter Server.

  • Администратор воркспейса видит все Jupyter Server с мультидоступом в проекте, но не имеет прямого доступа к содержимому сервера.

  • Jupyter Server с мультидоступом рекомендуется для командного использования, максимальное количество пользователей не ограничено.

  • Удаление пользователя из списка доступа немедленно отключает его от Jupyter Server с сохранением всех текущих сессий и данных в общем хранилище.

Остановка Jupyter Server

Когда Jupyter Server останавливается, завершаются все пользовательские процессы в окружении и высвобождаются ресурсы. При возобновлении запустится идентичный Jupyter Server с тем же образом, набором библиотек и на тех же ресурсах.

Созданное conda-окружение не удаляется в случае удаления или остановки Jupyter Server. Рекомендуем удалять старые conda-окружения после повторного создания Jupyter Server, чтобы избежать ошибок.

При выключении Jupyter Server окружение по умолчанию сохраняется в home/jovyan. Дополнительные библиотеки, установленные пользователем внутри Jupyter Notebook в базовом окружении base или глобально, минуя conda, будут утеряны.

Если они нужны для дальнейшей работы, создайте новое окружение.

Удаление Jupyter Server

  • После удаления сервера все данные пользователя останутся на NFS и будут видны из любого Jupyter Server в соответствующем регионе. Настройки удаленного сервера сохранятся в /home/jovyan/.local.