Ошибки MS MPI Permission

У меня есть две машины с установленной MS MPI 7.1, одна называется SERVER, а другая - COMPUTE. Машины настроены в локальной сети в простой рабочей группе Windows (без DA), и обе имеют учетную запись с одинаковыми именем и паролем.

Оба работают под управлением MSMPILaunchSvc. Обе машины могут выполнять задания MPI локально, что проверяется тестированием с hostname команда

SERVER> mpiexec -hosts 1 SERVER 1 hostname
SERVER
or
COMPUTE> mpiexec -hosts 1 COMPUTE 1 hostname
COMPUTE

в терминале на самих машинах.

Я отключил брандмауэр на обеих машинах, чтобы было проще.

Моя проблема в том, что я не могу заставить MPI запускать задания от SERVER на удаленном хосте:

1: СЕРВЕР с MSMPILaunchSvc -> ВЫЧИСИТЬ с MSMPILaunchSvc

SERVER> mpiexec -hosts 1 COMPUTE 1 hostname -pwd
ERROR: Failed RpcCliCreateContext error 1722

Aborting: mpiexec on SERVER is unable to connect to the smpd service on COMPUTE:8677
Other MPI error, error stack:
connect failed - The RPC server is unavailable.  (errno 1722)

Еще больше расстраивает то, что только иногда мне предлагают ввести пароль. Он предлагает SERVER \ Maarten в качестве пользователя для COMPUTE, учетная запись, в которую я уже вошел как на SERVER и не должна существовать на COMPUTE (должна быть COMPUTE \ Maarten тогда?). Тем не менее, это также не помогает:

SERVER>mpiexec -hosts 1 COMPUTE 1 hostname.exe -pwd
Enter Password for SERVER\Maarten:
Save Credentials[y|n]? n
ERROR: Failed to connect to SMPD Manager Instance error 1726

Aborting: mpiexec on SERVER is unable to connect to the 
smpd manager on COMPUTE:50915 error 1726

2: ВЫЧИСЛИТЬ с MSMPILaunchSvc -> СЕРВЕР с MSMPILaunchSvc

COMPUTE> mpiexec -hosts 1 SERVER 1 hostname -pwd
ERROR: Failed RpcCliCreateContext error 5

Aborting: mpiexec on COMPUTE is unable to connect to the smpd service on SERVER:8677
Other MPI error, error stack:
connect failed - Access is denied.  (errno 5)

3: ВЫЧИСЛИТЬ с MSMPILaunchSvc -> СЕРВЕР с демоном smpd

Aborting: mpiexec on COMPUTE is unable to connect to the smpd service on  SERVER:8677
Other MPI error, error stack:
connect failed - Access is denied.  (errno 5)

4: СЕРВЕР с MSMPILaunchSvc -> COMPUTE с демоном smpd

ERROR: Failed to connect to SMPD Manager Instance error 1726

Aborting: mpiexec on SERVER is unable to connect to the smpd manager on 
COMPUTE:51022 error 1726

Обновить:

При попытке с демоном smpd на обоих узлах я получаю эту ошибку:

[-1:9796] Authentication completed. Successfully obtained Context for Client.
[-1:9796] version check complete, using PMP version 3.
[-1:9796] create manager process (using smpd daemon credentials)
[-1:9796] smpd reading the port string from the manager
[-1:9848] Launching smpd manager instance.
[-1:9848] created set for manager listener, 376
[-1:9848] smpd manager listening on port 51149
[-1:9796] closing the pipe to the manager
[-1:9848] Authentication completed. Successfully obtained Context for Client.
[-1:9848] Authorization completed.
[-1:9848] version check complete, using PMP version 3.
[-1:9848] Received session header from parent id=1, parent=0, level=0
[01:9848] Connecting back to parent using host SERVER and endpoint 17979
[01:9848] Previous attempt failed with error 5, trying to authenticate without Kerberos
[01:9848] Failed to connect back to parent error 5.
[01:9848] ERROR: Failed to connect back to parent 'ncacn_ip_tcp:SERVER:17979' error 5
[01:9848] smpd manager successfully stopped listening.
[01:9848] SMPD exiting with error code 4294967293.

и на хосте:

[-1:12264] Launching SMPD service.
[-1:12264] smpd listening on port 8677
[-1:12264] Authentication completed. Successfully obtained Context for Client.
[-1:12264] version check complete, using PMP version 3.
[-1:12264] create manager process (using smpd daemon credentials)
[-1:12264] smpd reading the port string from the manager
[-1:16668] Launching smpd manager instance.
[-1:16668] created set for manager listener, 364
[-1:16668] smpd manager listening on port 18033
[-1:12264] closing the pipe to the manager
[-1:16668] Authentication completed. Successfully obtained Context for Client.
[-1:16668] Authorization completed.
[-1:16668] version check complete, using PMP version 3.
[-1:16668] Received session header from parent id=1, parent=0, level=0
[01:16668] Connecting back to parent using host SERVER and endpoint 18031
[01:16668] Authentication completed. Successfully obtained Context for Client.
[01:16668] Authorization completed.
[01:16668] handling command SMPD_CONNECT src=0
[01:16668] now connecting to COMPUTE
[01:16668] 1 -> 2 : returning SMPD_CONTEXT_LEFT_CHILD
[01:16668] using spn msmpi/COMPUTE to contact server
[01:16668] SERVER posting a re-connect to COMPUTE:51161 in left child context.
[01:16668] ERROR: Failed to connect to SMPD Manager Instance error 1726
[01:16668] sending abort command to parent context.
[01:16668] posting command SMPD_ABORT to parent, src=1, dest=0.
[01:16668] ERROR: smpd running on SERVER is unable to connect to smpd service on COMPUTE:8677
[01:16668] Handling cmd=SMPD_ABORT result
[01:16668] cmd=SMPD_ABORT result will be handled locally
[01:16668] parent terminated unexpectedly - initiating cleaning up.
[01:16668] no child processes to kill - exiting with error code -1

1 ответ

Решение

После проб и ошибок я обнаружил, что эти и другие неопределенные ошибки возникают при попытке запустить MS MPI с различными конфигурациями (в моем случае это сочетание HPC Cluster 2008 и HPC Cluster 2012 с MSMPI).

Решением было понизить все узлы до Windows Server 2008 R2 с помощью HPC Cluster 2008. Поскольку я не использую AD, мне пришлось вернуться к использованию демона SMPD и добавить для него правила брандмауэра (пропуская все инструменты управления кластером).

Другие вопросы по тегам