Это команда dmtcp_sshd, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
dmtcp - распределенная многопоточная контрольная точка
СИНТАКСИС
dmtcp_coordinator [порт]
dmtcp_launch команда [аргументы ...]
dmtcp_restart ckpt_FILE1.dmtcp [ckpt_FILE2.dmtcp ...]
dmtcp_command координатор
ОПИСАНИЕ
ДМЦП инструмент для прозрачной проверки состояния произвольной группы программ
распространены по многим машинам и соединены розетками. Он не изменяет пользователя
ни программа, ни операционная система. MTCP это отдельный компонент DMTCP, доступный как
библиотека контрольных точек для одного процесса.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
Для каждой команды флаг --help или -h покажет параметры командной строки. Большинство команд
Параметры строки также можно контролировать с помощью переменных среды. Их можно установить в
bash с "export NAME = value" или в tcsh с "setenv NAME value".
DMTCP_CHECKPOINT_INTERVAL = целое число
Время в секундах между автоматическими контрольными точками. Контрольно-пропускные пункты также могут быть инициированы
вручную, введя "c" в координатор. (по умолчанию: 0, отключено;
только dmtcp_coordinator)
DMTCP_HOST = строка
Имя хоста, на котором работает координатор в масштабе кластера. (по умолчанию: localhost;
только dmtcp_launch, dmtcp_restart)
DMTCP_PORT = целое число
Порт, который прослушивает координатор в масштабе кластера. (по умолчанию: 7779)
DMTCP_GZIP = (1 | 0)
Установите значение «0», чтобы отключить сжатие изображений контрольных точек. (по умолчанию: 1, сжатие
включено; Только dmtcp_launch) ВНИМАНИЕ: gzip добавляет секунды. Без gzip,
ckpt / restart часто меньше 1 с
DMTCP_CHECKPOINT_DIR = путь
Каталог для хранения изображений контрольных точек. (По умолчанию: ./)
DMTCP_SIGCKPT = целое число
Номер внутреннего сигнала для использования при установке контрольных точек. Не должно использоваться пользователем
программа. (по умолчанию: SIGUSR2; только dmtcp_launch)
DMTCP_КООРДИНАТОР
Каждое вычисление, подлежащее проверке, должно включать процесс координатора DMTCP. Можно
явно запустить координатор через dmtcp_coordinator или разрешить его запуск
неявно в фоновом режиме с помощью dmtcp_launch или dmtcp_restart для работы. Адрес
уникального координатора должен быть указан dmtcp_launch, dmtcp_restart и
dmtcp_command либо с помощью флагов командной строки --host и --port, либо с помощью
Переменные среды DMTCP_HOST и DMTCP_PORT. Если ни один из них не указан, пара хост-порт
по умолчанию localhost-7779. Пара хост-порт, связанная с конкретным координатором
задается флагами командной строки, используемыми в команде dmtcp_coordinator, или
тогда действующие переменные среды или значение по умолчанию localhost-7779.
Координатор не имеет гражданства и не чекпоинт. При перезапуске можно использовать существующий
или новый координатор. Множественные вычисления под управлением DMTCP могут сосуществовать, предоставляя
уникальный координатор (с уникальной парой хост-порт) для каждого такого вычисления.
Координатор инициирует контрольную точку для всех процессов в своей вычислительной группе.
Контрольные точки могут: выполняться автоматически с интервалом (см. DMTCP_CHECKPOINT_INTERVAL
выше); или инициируется вручную на стандартном вводе координатора (см. следующий
пункт); или инициируется непосредственно под управлением программы расчетом через
dmtcpaware API (см. ниже).
Координатор принимает следующие команды на свой стандартный ввод. Каждая команда должна
следовать ключ. Команды:
l: список подключенных узлов
s: Распечатать статусное сообщение
c: Проверить все узлы
f: принудительный перезапуск, даже если есть отсутствующие узлы (отладка)
k: убить все узлы
q: убить все узлы и выйти
? : Показать это сообщение
Команды координатора также можно отправлять удаленно с помощью dmtcp_command.
ПРИМЕР ИСПОЛЬЗОВАНИЕ
1. В отдельном окне терминала запустите dmtcp_coodinator.
(См. Предыдущий раздел.)
dmtcp_coordinator
2. В отдельных терминалах замените каждую команду на "dmtcp_launch
[команда] ". Программа с контрольной точкой подключится к координатору, указанному
DMTCP_HOST и DMTCP_PORT. Новые темы будут отмечены как часть
процесс. Дочерние процессы будут автоматически отмечены контрольными точками. Удаленные процессы
началось через SSH будет автоматически установлена контрольная точка. (Внутренне DMTCP изменяет
SSH командная строка для вызова dmtcp_launch на удаленном хосте.)
dmtcp_launch ./моя программа
3. Чтобы вручную запустить контрольную точку, выполните команду ниже.
или введите "c", а затем в координатора. Файлы контрольных точек для каждого
процесс будет записан в DMTCP_CHECKPOINT_DIR. Dmtcp_coordinator напишет
"dmtcp_restart_script.sh" в его рабочий каталог. Этот сценарий содержит
необходимые вызовы dmtcp_restart для перезапуска всего вычисления, включая
удаленные процессы, созданные через SSH.
dmtcp_command -c
ИЛИ: dmtcp_command --checkpoint
4. Для перезапуска необходимо выполнить dmtcp_restart_script.sh, который является
созданный dmtcp_coordinator в его рабочем каталоге во время
контрольно-пропускной пункт. При желании можно отредактировать этот скрипт, чтобы перенести процессы на другие
хосты. По умолчанию только один перезапущенный процесс будет перезапущен на переднем плане.
и получите стандартный ввод. Скрипт можно отредактировать, чтобы выбрать, какой процесс
будет перезапущен на переднем плане.
./dmtcp_restart_script.sh
ДМТКПАВАРЕ API
DMTCP предоставляет программный интерфейс, позволяющий приложениям с контрольными точками взаимодействовать с
dmtcp. В исходном коде функции см. В dmtcpaware / dmtcpaware.h.
доступный. См. Test / dmtcpaware [123] .c для ознакомления с тремя примерами приложений. Для примера
его использование, попробуйте:
компакт-диск тест; рм dmtcpaware1; сделать dmtcpaware1; ./автотест -v dmtcpaware1
Пользовательское приложение должно связываться с libdmtcpaware.so (-ldmtcpaware) и использовать заголовок
файл dmtcp / dmtcpaware.h.
ДМЦП PLUGIN МОДУЛИ
Исходный дистрибутив включает в себя верхний уровень плагин каталог с примерами того, как
напишите модуль расширения для DMTCP. Дополнительные примеры находятся в тест / плагин каталог.
Функция плагина добавляет три новых программируемых пользователем возможности. Плагин может: добавлять обертки
вокруг системных вызовов; предпринимать специальные действия во время определенных событий (например, перед контрольно-пропускным пунктом,
возобновить / пост-контрольную точку, перезапустить); и может вставлять пары ключ-значение в базу данных по адресу
время перезапуска, которое затем может быть запрошено перезапущенными процессами
вычисление. (События, доступные для функции плагина, образуют надмножество событий
доступны с интерфейсом dmtcpaware.) Один или несколько подключаемых модулей вызываются через список
Абсолютные путевые имена, разделенные двоеточиями.
dmtcp_launch --with-plugin PLUGIN1 [: PLUGIN2] ...
ВЕРНУТЬ КОД
Целевая программа под управлением DMTCP обычно возвращает тот же код возврата, что и при выполнении.
без DMTCP. Однако, если DMTCP дает сбой (в отличие от сбоя целевой программы), DMTCP
возвращает специфичный для DMTCP код возврата, rc (или rc + 1, rc + 2 для двух особых случаев), где rc
- целочисленное значение переменной среды DMTCP_FAIL_RC, если установлено, или значение по умолчанию
значение, 99.
Используйте dmtcp_sshd в Интернете с помощью сервисов onworks.net