RemoteClusterAccess

Соединитесь с планировщиками, когда клиентские утилиты не будут доступны локально

Конструктор

parallel.cluster.RemoteClusterAccess

r = parallel.cluster.RemoteClusterAccess(username)

r = parallel.cluster.RemoteClusterAccess(username,P1,V1,...,Pn,Vn)

Описание

parallel.cluster.RemoteClusterAccess позволяет вам устанавливать связь и команды выполнения на удаленном хосте. Этот класс предназначается для использования с типичным интерфейсом планировщика при использовании удаленного представления заданий или в неразделяемых файловых системах.

r = parallel.cluster.RemoteClusterAccess(username) использует предоставленное имя пользователя при соединении с удаленным хостом и возвращает объект RemoteClusterAccess r. Вам предложат пароль при установлении связи.

r = parallel.cluster.RemoteClusterAccess(username,P1,V1,...,Pn,Vn) позволяет дополнительные пары значения параметров, которые изменяют поведение связи. Принятые параметры:

  • 'IdentityFilename' — Вектор символов, содержащий полный путь к единичному файлу, чтобы использовать при соединении с удаленным хостом. Если 'IdentityFilename' не задан, вам предлагают пароль при установлении связи.

  • 'IdentityFileHasPassphrase' — Логическое указание, требует ли единичный файл пароля. Если это правда, вам предлагают пароль при установлении связи. Если единичный файл не предоставляется, это свойство проигнорировано. Этим значением является false по умолчанию.

Для получения дополнительной информации и подробные примеры, см. скрипты интегрирования, предоставленные в matlabroot/toolbox/distcomp/examples/integration. Например, скрипты для PBS в неразделяемой файловой системе находятся в

matlabroot/toolbox/distcomp/examples/integration/pbs/nonshared

Методы

MethodName Описание
connect

connect(r,clusterHost) устанавливает связь с заданным хостом с помощью пользовательских учетных опций, предоставленных в конструкторе. Зеркальное отражение файла не поддержано.

connect(r,clusterHost,remoteDataLocation) устанавливает связь с заданным хостом с помощью пользовательских учетных опций, предоставленных в конструкторе. remoteDataLocation идентифицирует папку на clusterHost, который используется для зеркального отражения файла. Удостоверения пользователя, предоставленные в конструкторе, должны иметь доступ для записи к этой папке.

disconnectdisconnect(r) отключает существующую удаленную связь. Метод connect, должно быть, был уже назван.
doLastMirrorForJob

doLastMirrorForJob(r,job) выполняет итоговую копию измененных файлов от удаленного DataLocation до локального DataLocation для предоставленного задания. Любые рабочие зеркала для задания также останавливаются, и файлы задания удалены из удаленного DataLocation. startMirrorForJob или метод resumeMirrorForJob, должно быть, были уже названы.

getRemoteJobLocation

getRemoteJobLocation(r,jobID,remoteOS) возвращает полный путь в удаленное местоположение задания для предоставленного jobID. Допустимыми значениями для remoteOS является 'pc' и 'unix'.

isJobUsingConnection

isJobUsingConnection(r,jobID) возвращает true, если задание в настоящее время зеркально отражается.

resumeMirrorForJob

resumeMirrorForJob(r,job) возобновляет зеркальное отражение файлов от удаленного DataLocation до локального DataLocation для предоставленного задания. Это подобно методу startMirrorForJob, но сначала не копирует файлы от локального DataLocation до удаленного DataLocation. Метод connect, должно быть, был уже назван. Это полезно, если исходный клиентский сеанс работы с MATLAB закончился, и вы получаете доступ к тем же файлам от нового клиентского сеанса.

runCommand

[status,result] = runCommand(r,command) запускает предоставленную команду на удаленном хосте и возвращает получившееся состояние и стандартный вывод. Метод connect, должно быть, был уже назван.

startMirrorForJob

startMirrorForJob(r,job) копирует все файлы задания от локального DataLocation до удаленного DataLocation и начинает зеркально отражать файлы так, чтобы любые изменения в файлах в удаленном DataLocation были скопированы назад в локальный DataLocation. Метод connect, должно быть, был уже назван.

stopMirrorForJob

stopMirrorForJob(r,job) сразу останавливает зеркальное отражение файлов от удаленного DataLocation до локального DataLocation для заданного задания. startMirrorForJob или метод resumeMirrorForJob, должно быть, были уже названы. Это отменяет рабочее зеркало и удаляет файлы для задания от удаленного местоположения. Это подобно doLastMirrorForJob, за исключением того, что stopMirrorForJob не предпринимает попытки гарантировать, что локальные файлы задания актуальны. Для нормальной зеркальной остановки используйте doLastMirrorForJob.

getConnectedAccess

getConnectedAccess(host,username) возвращает объект RemoteClusterAccess, который соединяется с предоставленным хостом. Эта функция может возвратить ранее созданный объект RemoteClusterAccess, если вы существуете.

getConnectedAccess(...,P1,V1,...Pn,Vn) передает дополнительные параметры конструктору RemoteClusterAccess.

getConnectedAccessWithMirror

getConnectedAccessWithMirror(host,location,username) возвращает объект RemoteClusterAccess, который соединяется с предоставленным хостом, с помощью местоположения в качестве зеркального местоположения. Эта функция может возвратить ранее созданный объект RemoteClusterAccess, если вы существуете.

getConnectedAccessWithMirror(...,P1,V1,...Pn,Vn) передает дополнительные параметры конструктору RemoteClusterAccess.

Свойства

Объект RemoteClusterAccess имеет следующие свойства только для чтения. Их значения установлены, когда вы создаете объект или вызываете его метод connect.

PropertyName Описание
HostnameИмя удаленного хоста доступа.
IdentityFileHasPassphrase Указывает, требует ли единичный файл пароля.
IdentityFilenameПолный путь к единичному файлу, используемому при соединении с удаленным хостом.
IsConnectedУказывает, существует ли активная связь с удаленным хостом.
IsFileMirrorSupportedУказывает, поддерживается ли зеркальное отражение файла для этой связи. Это - false, если никакой удаленный DataLocation не предоставляется методу connect().
JobStorageLocationМестоположение на удаленном хосте к файлам, которые зеркально отражаются.
UseIdentityFileУказывает, должен ли единичный файл использоваться при соединении с удаленным хостом.
UsernameИмя пользователя для соединения с удаленным хостом.

Примеры

Зеркальные файлы от местоположения удаленных данных. Примите, что объект job представляет задание на вашем типичном планировщике.

remoteConnection = parallel.cluster.RemoteClusterAccess('testname');
connect(remoteConnection,'headnode1','/tmp/filemirror');
startMirrorForJob(remoteConnection,job);
submit(job)
% Wait for the job to finish
wait(job);

% Ensure that all the local files are up to date, and remove the 
% remote files
doLastMirrorForJob(remoteConnection,job);

% Get the output arguments for the job
results = fetchOutputs(job)

Для более подробных примеров см. скрипты интегрирования, предоставленные в matlabroot/toolbox/distcomp/examples/integration. Например, скрипты для PBS в неразделяемой файловой системе находятся в

matlabroot/toolbox/distcomp/examples/integration/pbs/nonshared

Введенный в R2011a

Для просмотра документации необходимо авторизоваться на сайте