Объединенный размер всех прикрепленных файлов для задания ограничивается 4 Гбайт.
По умолчанию рабочий на операционной системе Windows® установлен, как сервис запустившись как LocalSystem
, таким образом, он не имеет доступа к подключенным сетевым дискам.
Часто сеть сконфигурирована, чтобы не разрешить сервисам, запускающимся как LocalSystem
получать доступ к UNC или сопоставленным сетевым ресурсам. В этом случае необходимо запустить mjs сервис при различном пользователе с правами войти в систему как сервис. Смотрите раздел Set the User (MATLAB Parallel Server) в Руководстве MATLAB® Parallel Server™ System Administrator's.
Если рабочий не может найти функцию задачи, она возвращает сообщение об ошибке
Error using ==> feval Undefined command/function 'function_name'.
У рабочего, который запустил задачу, не было доступа к функциональному function_name
. Одно решение состоит в том, чтобы убедиться, что местоположение файла функции, function_name.m
, включено в свойство AdditionalPaths
задания. Другое решение состоит в том, чтобы передать файл функции рабочему путем добавления function_name.m
в свойство AttachedFiles
задания.
Если рабочий не может сохранить или загрузить файл, вы можете видеть сообщения об ошибке
??? Error using ==> save Unable to write file myfile.mat: permission denied. ??? Error using ==> load Unable to read file myfile.mat: No such file or directory.
В определении причины этой ошибки рассмотрите следующие вопросы:
Какова текущая папка рабочего?
Рабочий может найти файл или папку?
Какого пользователя рабочий запускает как?
У рабочего есть разрешение считать или записать рассматриваемый файл?
Задание или задача могут застрять в состоянии ожидания в очереди. Чтобы исследовать причину этой проблемы, ищите журналы планировщика:
Планировщики Platform LSF® могут послать электронные письма с сообщениями об ошибке.
Сервер Microsoft® Windows HPC (включая CCS), LSF®, PBS Pro® и КРУТЯЩИЙ МОМЕНТ сохраняет выходные сигналы в журнале отладки. Смотрите страницу с описанием getDebugLog
.
При использовании типичного планировщика убедитесь, что представить функция перенаправляет сообщения об ошибке к файлу журнала.
Возможные причины проблемы:
Работнику MATLAB не удалось запуститься из-за лицензирования ошибок, исполняемый файл не находится на пути по умолчанию на машине рабочего или не установлен в месте, где планировщик ожидал, что он будет.
MATLAB не мог чтение-запись файлы ввода/вывода задания в месте хранения задания планировщика. Место хранения не может быть доступно для всех узлов рабочего или пользователя, которого запускает MATLAB, как не имеет разрешения к чтению-записи файлами задания.
При использовании типичного планировщика:
Переменная окружения MDCE_DECODE_FUNCTION
не была задана перед запущенным работником MATLAB.
Функция декодирования не была на пути рабочего.
Если ваше задание не возвратило результатов (т.е. fetchOutputs(job)
возвращает массив пустой ячейки), вероятно, что не пройдено заданию и некоторые его задачи установили их свойства Error
.
Можно использовать следующий код, чтобы идентифицировать задачи с сообщениями об ошибке:
errmsgs = get(yourjob.Tasks, {'ErrorMessage'}); nonempty = ~cellfun(@isempty, errmsgs); celldisp(errmsgs(nonempty));
Этот код отображает непустые сообщения об ошибке задач, найденных в объекте yourjob
задания.
Если вы используете поддерживаемый сторонний планировщик, можно использовать функцию getDebugLog
, чтобы считать журнал отладки из планировщика для конкретного задания или задачи.
Например, найдите не пройдено задание на своем планировщике LSF и считайте его журнал отладки:
c = parcluster('my_lsf_profile') failedjob = findJob(c, 'State', 'failed'); message = getDebugLog(c, failedjob(1))
Для тестирования возможности соединения между клиентской машиной и машинами вашего вычислять кластер, можно использовать Центр Администратора. Для получения дополнительной информации о Центре Администратора, включая то, как запустить его и как протестировать возможность соединения, смотрите, Запускают Центр Администратора (MATLAB Parallel Server) и Тестовая Возможность соединения (MATLAB Parallel Server).
Подробные инструкции для других методов диагностирования проблем связи между клиентом и Планировщиком Задания MATLAB могут быть найдены в некоторых Отчетах об ошибках, перечисленных на веб-сайте MathWorks.
Следующие разделы могут помочь вам идентифицировать общий характер некоторых проблем связи.
Если вы не можете расположиться или соединиться со своим Планировщиком Задания MATLAB с parcluster
, наиболее вероятные причины этого отказа:
Планировщик Задания MATLAB в настоящее время не запускается.
Брандмауэры не позволяют трафик от клиента к Планировщику Задания MATLAB.
Клиент и Планировщик Задания MATLAB не запускают ту же версию программного обеспечения.
Клиент и Планировщик Задания MATLAB не могут разрешить короткие имена узлов друг друга.
MATLAB Джоб Шедулер использует установку BASE_PORT
не по умолчанию, как задано в файле mjs_def
и свойстве Host
в кластерном профиле, не задает этот порт.
Если в предупреждающем сообщении говорится, что Планировщик Задания MATLAB не может открыть соединение по протоколу TCP для клиентского компьютера, наиболее вероятные причины этого
Брандмауэры не позволяют трафик от Планировщика Задания MATLAB до клиента.
MATLAB Джоб Шедулер не может разрешить короткое имя узла клиентского компьютера. Используйте pctconfig
, чтобы изменить имя узла, которое MATLAB Джоб Шедулер будет использовать для контакта с клиентом.
Пример кода для типичных планировщиков с неразделяемыми файловыми системами связывается с sftp сервером, чтобы обработать передачу файлов к и от файловой системы кластера. Это использование sftp подвергается всем нормальным sftp уязвимостям. Одна проблема, которая может произойти результаты в сообщении об ошибке, подобном этому:
Caused by: Error using ==> RemoteClusterAccess>RemoteClusterAccess.waitForChoreToFinishOrError at 780 The following errors occurred in the com.mathworks.toolbox.distcomp.clusteraccess.UploadFilesChore: Could not send Job3.common.mat for job 3: One of your shell's init files contains a command that is writing to stdout, interfering with sftp. Access help com.mathworks.toolbox.distcomp.remote.spi.plugin.SftpExtraBytesFromShellException: One of your shell's init files contains a command that is writing to stdout, interfering with sftp. Find and wrap the command with a conditional test, such as if ($?TERM != 0) then if ("$TERM" != "dumb") then /your command/ endif endif : 4: Received message is too long: 1718579037
Выразительный признак является фразой "Received message is too long:
", сопровождаемый очень большим количеством.
sftp сервер запускает интерпретатор, обычно колотите или tcsh, чтобы установить ваше стандартное чтение и полномочия записи соответственно прежде, чем передать файлы. Сервер инициализирует интерпретатор стандартным способом, вызывая файлы как .bashrc и .cshrc. Эта проблема происходит, если ваш интерпретатор испускает текст к стандарту, когда это запускается. Тот текст возвращен sftp клиенту, запускающемуся в MATLAB, и интерпретирован как размер сообщения ответа sftp сервера.
Чтобы работать вокруг этой ошибки, найдите код файла запуска интерпретатора, который испускает, текст, и или удаляет его или заключает в скобки его в операторах if
, чтобы видеть, запускает ли sftp сервер интерпретатор:
if ($?TERM != 0) then if ("$TERM" != "dumb") then /your command/ endif endif
Можно протестировать это за пределами MATLAB со стандартным UNIX или Windows sftp клиент командной строки прежде, чем попробовать еще раз в MATLAB. Если проблема не решена, сообщение об ошибке сохраняется:
> sftp yourSubmitMachine Connecting to yourSubmitMachine... Received message too long 1718579042
Если проблема решена, необходимо видеть:
> sftp yourSubmitMachine Connecting to yourSubmitMachine...