Обновления кода при отправке заданий кондора

При использовании condor для распределения заданий по выделенному компьютерному кластеру сначала нужно отправить задания в кластер, а затем дождаться их фактического запуска. В зависимости от множества факторов они могут оставаться в состоянии простоя в течение достаточно долгого времени, даже часов.

Допустим, я только что скомпилировал код, который будет выполняться в заданиях. Я могу отправить задания через файл отправки condor. Затем я понимаю, что хотел бы изменить исходный код либо потому, что в нем есть какая-то ошибка, либо потому, что я хочу попробовать другие параметры. В случае, если код завершает компиляцию, а задания все еще находятся в состоянии простоя, какая версия будет выполняться в кластере? Другими словами, condor каким-то образом сохраняет моментальный снимок кода при отправке заданий или просто выбирает его, когда задания начинают выполняться?

Несмотря на то, что первый вариант кажется более разумным, у меня есть доказательства из моей собственной работы, что на самом деле происходит второй вариант.


person Beubeu    schedule 13.10.2020    source источник


Ответы (1)


Когда condor_submit запускается, исполняемый файл копируется в каталог спулинга в планировщике. Это называется спулингом. Если вы хотите иметь возможность изменить исполняемый файл после отправки, вероятно, лучше всего сделать ваш исполняемый файл сценарием оболочки, который вызывает реальный исполняемый файл, и поместить исполняемый файл в список transfer_input_files.

person Greg    schedule 14.10.2020
comment
Это имеет смысл; Я ошибочно предположил, что будет перенесен весь каталог, в котором лежит исполняемый файл. Мой исполняемый файл действительно представляет собой сценарий оболочки, который вызывает исполняемый файл C++. Если я правильно понял ваш ответ, чтобы четко определить код, который будет запускаться, я должен передать все исполняемые файлы, сценарии и, возможно, дополнительные сценарии оболочки, используемые моим исполняемым файлом оболочки (используя команды input, should_transfer_files и when_to_transfer_files). - person Beubeu; 16.10.2020