- added task rendering instead of molecule - fied a lot of errors - changes experiment page to show generic experiment info
335 lines
17 KiB
TypeScript
Executable File
335 lines
17 KiB
TypeScript
Executable File
import {
|
||
Box,
|
||
Divider,
|
||
TableOfContents,
|
||
Title,
|
||
Text,
|
||
List,
|
||
Code,
|
||
Anchor,
|
||
} from "@mantine/core";
|
||
import "./DocumentationPage.css";
|
||
import { Helmet } from "react-helmet";
|
||
|
||
function DocumentationPage() {
|
||
return (
|
||
<>
|
||
<Helmet>
|
||
<title>Документация | QMolSim</title>
|
||
<meta
|
||
name="description"
|
||
content="Полное руководство пользователя по системе распределенного квантово-химического расчета QMolSim."
|
||
/>
|
||
</Helmet>
|
||
<Title order={1} className="docTitle">
|
||
Руководство пользователя
|
||
</Title>
|
||
<Text size="sm" c="dimmed" mb="md">
|
||
Автоматизированная система распределенного расчета энергии основного
|
||
состояния молекул
|
||
</Text>
|
||
<Divider />
|
||
<div className="DocumentationPage">
|
||
<Box className="tableOfContents" visibleFrom="md">
|
||
<TableOfContents
|
||
variant="light"
|
||
color="accent"
|
||
size="sm"
|
||
radius="sm"
|
||
minDepthToOffset={0}
|
||
depthOffset={20}
|
||
scrollSpyOptions={{
|
||
selector: "section h1, section h2, section h3",
|
||
}}
|
||
getControlProps={({ data }) => ({
|
||
onClick: () =>
|
||
data
|
||
.getNode()
|
||
.scrollIntoView({ behavior: "smooth", block: "start" }),
|
||
children: data.value,
|
||
})}
|
||
/>
|
||
</Box>
|
||
<div className="contents">
|
||
{/* ================= 1 ВВЕДЕНИЕ ================= */}
|
||
<section id="introduction">
|
||
<Title order={1}>1. Введение</Title>
|
||
|
||
<Title order={2} mt="md" id="application-area">
|
||
1.1 Область применения
|
||
</Title>
|
||
<Text>Требования настоящего документа применяются при:</Text>
|
||
<List>
|
||
<List.Item>предварительных комплексных испытаниях;</List.Item>
|
||
<List.Item>опытной эксплуатации;</List.Item>
|
||
<List.Item>приемочных испытаниях;</List.Item>
|
||
<List.Item>промышленной эксплуатации.</List.Item>
|
||
</List>
|
||
|
||
<Title order={2} mt="md" id="capabilities">
|
||
1.2 Краткое описание возможностей
|
||
</Title>
|
||
<Text>
|
||
Автоматизированная система распределенного расчета энергии
|
||
основного состояния молекул с помощью квантовых алгоритмов
|
||
представляет собой распределенный веб-сервис, предназначенный для
|
||
выполнения ресурсоемких квантово-химических расчетов с
|
||
использованием гибридной архитектуры, состоящей из центрального
|
||
сервера и распределенных квантовых симуляторов.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-mgmt">
|
||
Управление командной работой
|
||
</Title>
|
||
<Text>
|
||
Пользователи могут создавать команды, приглашать других
|
||
исследователей, назначать права доступа.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-nodes">
|
||
Подключение вычислительных систем
|
||
</Title>
|
||
<Text>
|
||
Исследователи регистрируют в системе свои вычислительные узлы. Для
|
||
каждого узла исследователь задает максимальное количество кубитов,
|
||
а также предоставляет доступ командам на использование устройства.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-experiments">
|
||
Создание и запуск экспериментов
|
||
</Title>
|
||
<Text>
|
||
В рамках команды пользователь создает эксперимент (набор задач для
|
||
разных молекул). Для каждой задачи загружается или редактируется
|
||
структура молекулы в формате XYZ, задаются квантово-химические
|
||
параметры.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-vqe">
|
||
Распределенные вычисления VQE
|
||
</Title>
|
||
<Text>
|
||
При запуске эксперимента система автоматически распределяет задачи
|
||
по доступным вычислительным узлам с учетом их ограничений по числу
|
||
кубит. В процессе расчета на сервер передаются промежуточные
|
||
результаты.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-fault">
|
||
Отказоустойчивость и восстановление
|
||
</Title>
|
||
<Text>
|
||
Каждый вычислительный узел каждые 5 секунд отправляет сигнал о
|
||
своей работоспособности. При выходе узла из строя незавершенная
|
||
задача автоматически перенаправляется в очередь и назначается на
|
||
другой узел с сохранением промежуточных весов оптимизации.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-vis">
|
||
Визуализация молекул
|
||
</Title>
|
||
<Text>
|
||
Для каждой задачи доступна интерактивная 3D-визуализация молекулы
|
||
в шаростержневой модели.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="cap-import">
|
||
Импорт молекулярных данных
|
||
</Title>
|
||
<Text>
|
||
Система поддерживает преобразование молекул в требуемый формат из
|
||
большинства существующих химических форматов.
|
||
</Text>
|
||
</section>
|
||
|
||
{/* ================= 2 НАЗНАЧЕНИЕ И УСЛОВИЯ ================= */}
|
||
<section id="purpose-conditions" style={{ marginTop: "2rem" }}>
|
||
<Title order={1}>2. Назначение и условия применения</Title>
|
||
|
||
<Title order={2} mt="md" id="purpose">
|
||
2.1 Назначение системы
|
||
</Title>
|
||
<Text>
|
||
Система предназначена для автоматизированного распределенного
|
||
расчета энергии основного состояния молекул с использованием
|
||
квантового алгоритма VQE. Она обеспечивает создание команд
|
||
исследователей с настройкой прав доступа, автоматическое
|
||
распределение вычислительных задач между доступными узлами,
|
||
мониторинг состояния вычислений и восстановление прогресса расчета
|
||
при сбое отдельных вычислительных систем. Применение системы
|
||
позволяет повысить скорость проведения квантово-химических
|
||
расчетов и снизить нагрузку на пользователя по управлению
|
||
вычислительным процессом. Система ориентирована на специалистов в
|
||
области квантовой химии и вычислительных технологий.
|
||
</Text>
|
||
|
||
<Title order={2} mt="md" id="tech-reqs">
|
||
2.2 Требования к техническим средствам
|
||
</Title>
|
||
|
||
<Title order={3} mt="sm" id="client-browser">
|
||
Клиент-браузер:
|
||
</Title>
|
||
<List>
|
||
<List.Item>Оперативная память от 4 Гб;</List.Item>
|
||
<List.Item>Свободное пространство на диске от 2 Гб;</List.Item>
|
||
<List.Item>Процессор 4-ядерный с частотой от 2 ГГц;</List.Item>
|
||
<List.Item>Скорость подключения в интернет от 50 Мб/c;</List.Item>
|
||
<List.Item>
|
||
Наличие манипулятора "мышь" или аналогичного устройства для
|
||
взаимодействия с интерфейсом;
|
||
</List.Item>
|
||
<List.Item>Наличие Клавиатуры.</List.Item>
|
||
</List>
|
||
|
||
<Title order={3} mt="sm" id="client-compute">
|
||
Клиент-ВС:
|
||
</Title>
|
||
<List>
|
||
<List.Item>Оперативная память от 8 Гб;</List.Item>
|
||
<List.Item>Свободное пространство на диске от 5 Гб;</List.Item>
|
||
<List.Item>
|
||
Процессор 8-ядерный с частотой от 2-4,4 ГГц;
|
||
</List.Item>
|
||
<List.Item>Скорость подключения в интернет от 50 Мб/с;</List.Item>
|
||
<List.Item>
|
||
Наличие манипулятора "мышь" или аналогичного устройства для
|
||
взаимодействия с интерфейсом;
|
||
</List.Item>
|
||
<List.Item>Наличие Клавиатуры.</List.Item>
|
||
</List>
|
||
|
||
<Title order={2} mt="md" id="software-reqs">
|
||
2.3 Требования к программным средствам
|
||
</Title>
|
||
|
||
<Title order={3} mt="sm" id="sw-browser">
|
||
Клиент-браузер:
|
||
</Title>
|
||
<Text>
|
||
Браузер (Safari 18.1.1, Яндекс Браузер 25.2.1, Google Chrome
|
||
110.0.5481.100)
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="sw-compute">
|
||
Клиент-ВС:
|
||
</Title>
|
||
<List>
|
||
<List.Item>ОС Windows 10, Windows 11, MacOS, Linux</List.Item>
|
||
<List.Item>
|
||
Браузер (Safari 18.1.1, Яндекс Браузер 25.2.1, Google Chrome
|
||
110.0.5481.100)
|
||
</List.Item>
|
||
<List.Item>Docker</List.Item>
|
||
<List.Item>Docker-compose v2</List.Item>
|
||
</List>
|
||
|
||
<Title order={2} mt="md" id="exec-conditions">
|
||
3. Условия выполнения программы
|
||
</Title>
|
||
<Text>
|
||
Для работы системы требуется веб-браузер, поддерживающий
|
||
современные функции JavaScript (Google Chrome версии 110 и выше,
|
||
Яндекс Браузер версии 25.2.1 и выше, Safari версии 18.1.1 и выше).
|
||
Доступ к системе осуществляется через веб-интерфейс по адресу,
|
||
предоставленному администратором. Для работы вычислительных узлов
|
||
дополнительно требуется установленный Docker и Docker Compose v2
|
||
на каждой подключаемой вычислительной системе. Необходимо наличие
|
||
постоянного сетевого подключения к серверу для всех
|
||
взаимодействующих компонентов системы.
|
||
</Text>
|
||
</section>
|
||
|
||
{/* ================= 4 ВЫПОЛНЕНИЕ ПРОГРАММЫ ================= */}
|
||
<section id="execution" style={{ marginTop: "2rem" }}>
|
||
<Title order={1}>4. Выполнение программы</Title>
|
||
|
||
<Title order={2} mt="md" id="install">
|
||
4.1 Инсталяция/деинсталяция
|
||
</Title>
|
||
<Text>
|
||
Клиент-браузер инсталляции и деинсталляции не требуется, для
|
||
работы необходимо только наличие на системе совместимого браузера.
|
||
</Text>
|
||
|
||
<Title order={3} mt="sm" id="install-compute">
|
||
Для инсталляции клиента-ВС:
|
||
</Title>
|
||
<List>
|
||
<List.Item>
|
||
На системе необходимо наличие docker и docker-compose v2
|
||
</List.Item>
|
||
<List.Item>
|
||
Необходимо скачать контейнер с помощью команды:{" "}
|
||
<Code>docker pull git.deowl.ru/vkrb/client:0.1.0</Code>
|
||
</List.Item>
|
||
<List.Item>
|
||
Затем скачать файл docker-compose с помощью команды:{" "}
|
||
<Code>
|
||
curl -O
|
||
"https://git.deowl.ru/vkrb/local_quantum_simulator/raw/branch/main/docker-compose.yml"
|
||
</Code>
|
||
</List.Item>
|
||
<List.Item>
|
||
Наконец, в той же папке необходимо создать файл переменных среды
|
||
с названием ".env" и содержимым:
|
||
<Code block mt="xs">
|
||
{`PORT=5001
|
||
STORAGE_PATH="/storage"
|
||
RABBITMQ_HOST=rabbit.deowl.ru
|
||
RABBITMQ_PORT=5672
|
||
KEYCLOAK_URL=https://quantum-auth.deowl.ru
|
||
KEYCLOAK_REALM_NAME=quant_sim-realm
|
||
KEACLOAK_CLIENT_ID=local_quantum_sim
|
||
QUANTUM_BACKEND_URL=https://quantum.deowl.ru`}
|
||
</Code>
|
||
</List.Item>
|
||
</List>
|
||
|
||
<Title order={3} mt="md" id="uninstall-compute">
|
||
Для деинсталляции клиента-ВС:
|
||
</Title>
|
||
<List>
|
||
<List.Item>
|
||
Удаляем файлы «docker-compose.yml», «.env» и папку
|
||
«localStorage» (при ее наличие)
|
||
</List.Item>
|
||
<List.Item>
|
||
Удаляем установленное изображение с помощью команды:{" "}
|
||
<Code>docker image rm git.deowl.ru/vkrb/client:0.1.0</Code>
|
||
</List.Item>
|
||
</List>
|
||
|
||
<Title order={2} mt="md" id="start-stop">
|
||
4.2 Запуск / Остановка программы
|
||
</Title>
|
||
<Text>
|
||
Клиент-браузер может быть открыт по ссылке:{" "}
|
||
<Anchor href="http://quantum.deowl.ru/">
|
||
http://quantum.deowl.ru/
|
||
</Anchor>
|
||
</Text>
|
||
<Text mt="sm">
|
||
Для запуска клиента-ВС необходимо выполнить команду, находясь в
|
||
папке с файлом «docker-compose.yml»:{" "}
|
||
<Code>docker compose up --d</Code>
|
||
</Text>
|
||
<Text mt="sm">
|
||
Для остановки клиента-ВС: <Code>docker compose down</Code>
|
||
</Text>
|
||
<Text mt="sm">
|
||
Для первичного подключения и мониторинга статуса клиента-ВС
|
||
необходимо открыть ссылку:{" "}
|
||
<Anchor href="http://localhost:5001/">
|
||
http://localhost:5001/
|
||
</Anchor>
|
||
</Text>
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</>
|
||
);
|
||
}
|
||
|
||
export default DocumentationPage;
|