Кластер JHub1 и сервис JupyterHub.

Содержание

 1 Введение
 2 Доступные ресурсы
 3 Регистрация
 4 Выбор сервера
 5 Сервер Jupyter
 6 Jupyter Notebook
 7 Создание собственного программного окружения Python

1 Введение

Кластер JHub1 предназначен для работы сервиса JupyterHub, который позволяет пользователям запускать интерактивные веб-страницы (Jupyter Notebook). В Jupyter Notebook пользователи могут выполнять программный код, добавлять описания, создавать визуализации и наполнять их графиками, таблицами, рисунками и элементами управления.

Для пользователей доступны инструменты анализа данных, машинного обучения и искусственного интеллекта через веб-браузер. Для вычислений доступны как классические CPU ресурсы, так и графические ускорители с поддержкой CUDA (NVIDIA K80, V100, A100). Для хранения данных предоставляется система хранения Ceph суммарным объемом более 1 ПБ.

Сервис доступен по адресу https://jupyter.computing.kiae.ru.

2 Доступные ресурсы

В кластере JHub1 доступны следующие серверы:

Тип узлаКоличествоЯдер CPU на узел Тип GPU GPU на узелОперативная память (ГБ)
1 4 48 - - 128
2 4 48 NVIDIA Tesla K80 3 128
3 1 40 NVIDIA Tesla V100 4 64
4 1 64 NVIDIA Tesla A100 2 128

3 Регистрация

Для получения доступа к JHub1 необходимо отравить запрос в свободной форме на почту new-user@computing.kiae.ru.

Потребуется создать сертификат X.509 и добавить его в веб-браузер. Подробная инструкция доступна по ссылке: https://jupyter.computing.kiae.ru/hub/static/guide/main.html.

4 Выбор сервера

После регистрации и успешной авторизации, вы попадаете на страницу "Выбор сервера". Здесь представлен выбор доступных программных окружений и вычислительных ресурсов кластера JHub1. Необходимо выбрать желаемый тип сервера и дополнительные опции. Если ПО поддерживает работу с графическими ускорителями, опции позволяют выбрать тип и количество GPU. После выбора сервера и нажатия кнопки "Старт"произойдет запуск:

При перезагрузке страницы, если сервер для пользователя сейчас запущен, сразу будет показан его веб-интерфейс.

После запуска, сервер пользователя будет работать максимум 24 часа, затем он будет автоматически остановлен.

Подробная документация для сервисов JupyterHub доступна по ссылке https://jupyterhub.readthedocs.io/en/stable/reference/index.html.

5 Сервер Jupyter

Сервер Jupyter предоставляет интерфейс работы с файлами, позволяет просматривать популярные форматы, а также позволяет работать с Jupyter Notebook. Также доступен терминал Linux.

Вы можете сменить язык интерфейса в меню (Settings - Language или Настройки - Язык).

При желании, вы можете остановить сервер (File - Hub Control Panel или Файл - Панель управления Хабом), например, чтобы выбрать другой GPU.

По умолчанию открывается современный вариант интерфейса "Lab". Чтобы переключиться на более простой вариант интерфейса "Tree замените путь в строке веб-браузера на "/user/<username>/tree/". Переключиться на новый интерфейс можно набрав "/user/<username>/lab/".

6 Jupyter Notebook

Jupyter Notebook — это графический интерфейс для языка программирования (Python, Julia, R), работающий в браузере и расширяющий возможности динамического отображения. Помимо выполнения кода, пользователь может добавлять форматированный текст, статические и динамические визуализации, математические уравнения, виджеты JavaScript и многое другое. Jupyter Notebook сохраняется в виде файлов с расширением *.ipynb, файлы могут быть переданы другим пользователям. Таким образом, другие люди смогут открывать их, просматривать и запускать код на своих системах.

Jupyter Notebook состоит из последовательности ячеек. Ячейка представляет собой многострочное текстовое поле ввода, и ее содержимое может быть выполнено с помощью клавиши Enter, либо нажатием кнопки "Play"на панели инструментов. Поведение ячейки при выполнении определяется ее типом. Существует три типа ячеек: ячейки кода , ячейки Markdown и ячейки без кода. Каждая ячейка изначально является ячейкой кода, но ее тип можно изменить с помощью выпадающего списка на панели инструментов.

Основные особенности Jupyter Notebook:

Подробная документация Jupyter Notebook доступна по ссылке https://jupyter-notebook.readthedocs.io/en/latest/user-documentation.html.

7 Создание собственного программного окружения Python

Вы можете создать собственное программное окружение (kernel) Python и установить в нем требуемое ПО.

  1. Откройте терминал в веб-интерфейсе JupyterHub (New->Terminal)
  2. В терминале выполните команды по созданию нового окружения. Замените ENV на желаемое имя:

          conda create -p ~/.conda/envs/ENV ipykernel python=3 -y
          source activate ENV
          python -m ipykernel install --user --name "ENV"
              
    

  3. Установите желаемые пакеты:

          conda install ...
          pip install ...
              
    

Вы сможете выбрать новое программное окружение (Kernel - Change Kernel) для любого Jupyter Notebook. Если окружение не появилось, перезапустите ваш сервер (File - Hub Control Panel - Stop Server).