Опыт организации гибкого доступа к удаленным вычислительным ресурсам из среды JupyterLab с использованием технологий проектов Everest и Templet

5 Jul 2021, 16:45
15m
Conference Hall or Online - https://jinr.webex.com/jinr/j.php?MTID=m6e39cc13215939bea83661c4ae21c095

Conference Hall or Online - https://jinr.webex.com/jinr/j.php?MTID=m6e39cc13215939bea83661c4ae21c095

Sectional reports 1. Distributed computing systems Distributed computing systems

Speaker

Dr Sergey Vostokin (Samara National Research University)

Description

Развитие технологий искусственного интеллекта и больших данных (big data) явилось стимулом разработки новых инструментальных средств организации и автоматизации рабочих процессов (workflow). Проект Jupyter – один из основных проектов автоматизации рабочих процессов в области искусственного интеллекта. Ключевыми парадигмами проекта являются клиент-серверная модель и графическая интерактивная среда в стиле REPL (read-eval-print loop), реализованные в форме web-интерфейса. Использование многооконного интерфейса и возможность работы с несколькими языками программирования (в дополнение к языку Python) в новой реализации JupyterLab позволяют расширить применение технологий проекта Jupyter для решения широкого круга прикладных и учебных задач компьютерного моделирования. Однако при решении таких задач необходим не только развитый пользовательский интерфейс, но и средства организации высокопроизводительных вычислений. Обычным методом организации вычислений в среде JupyterLab является размещение её серверной компоненты непосредственно на вычислительном ресурсе. Но этот метод не применим в случае параллельной работы одного приложения JupyterLab с несколькими вычислительными ресурсами или отсутствия технической возможности развертывания серверной компоненты Jupyter на компьютере, где будут производиться вычисления. Целью данной работы является демонстрация технологии гибкого взаимодействия приложения JupyterLab с разнообразными вычислительными ресурсами, которая решает описанную проблему.

Предлагаемая технология взаимодействия с вычислительными ресурсами из среды JupyterLab основана на совместном применении платформы распределенных вычислений Everest (everest.distcomp.org), набора средств разработки многозадачных приложений на языке С++ проекта Templet (templet.ssau.ru) и jupyter-ноутбуков со сценариями рабочих процессов для проведения вычислительных экспериментов. Нами реализованы интерактивные рабочие процессы на основе ноутбуков JupyterLab, в которых были задействованы несколько распределенных вычислительных ресурсов. Например, в рабочем процессе анализа хаотического поведения динамической системы с использованием вычисления показателей Ляпунова по алгоритму Бенеттина к интерфейсной части приложения подключались виртуальные машины корпоративного облака Самарского университета под управлением Windows 7 с развернутым пакетом Maple 17. Сервер JupyterLab запускался в публичном сервисе MyBinder.org либо через самостоятельно развернутую службу The Littlest JupyterHub (TLJH). Ноутбуки сценариев рабочих процессов и другой необходимый код загружались на сервер JupyterLab автоматически при сборке docker-образа сервисом MyBinder.org (или с использованием пакета nbgitpuller в TLJH) из git-репозиториев, размещенных на платформе GitHub.org

В результате нами реализован гибкий доступ к вычислительным ресурсам из среды JupyterLab с возможностью удаленной работы через web-интерфейс; развертыванием сервера JupyterLab отдельно от вычислительных ресурсов; использованием сложных сценариев рабочего процесса, предусматривающих параллельные вычисления на нескольких разнородных вычислительных ресурсах.

Primary authors

Dr Sergey Vostokin (Samara National Research University) Mr Stefan Popov (Samara National Research University) Oleg Sukhoroslov (IITP RAS)

Presentation materials