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' - Логический параметр, указывающий, требуется ли для файла тождеств парольная фраза. Если true, при установлении соединения выводится запрос пароля. Если файл тождеств не передан, это свойство игнорируется. Это значение false по умолчанию.

Дополнительные сведения и подробные примеры см. в разделах Отправка с удаленного узла и Отправка без общей файловой системы.

Методы

Имя методаОписание
connect

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

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

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

doLastMirrorForJob(r,job) выполняет окончательную копию измененных файлов из удаленного DataLocation на локальный DataLocation для поставленного задания. Все выполняемые зеркала для задания также останавливаются, и файлы заданий удаляются из удаленного DataLocation. The 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. The connect метод должен быть уже вызван. Это удобно, если сеанс работы с MATLAB клиента закончен, и вы получаете доступ к тем же файлам из нового сеанса клиента.

runCommand

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

startMirrorForJob

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

stopMirrorForJob

stopMirrorForJob(r,job) немедленно останавливает зеркальное отражение файлов с удаленного DataLocation на локальный DataLocation для заданного задания. The 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 конструктор.

Свойства

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

Имя свойстваОписание
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)

Дополнительные сведения и примеры см. в разделах Отправка с удаленного узла и Отправка без общей файловой системы.

Введенный в R2011a