У меня гигантские вычисления на кластере Scientific Linux. В настоящее время в очереди припарковано более 600 заданий, ожидающих процессорного времени, в то время как некоторые из них уже запущены.
Я пытаюсь использовать Qalter на некоторых но запланированных работах. Я хотел бы запланировать их на более позднее время, чтобы другие пользователи могли переходить часть очереди, что-то вроде акта вежливости. Это выполнимо?
Например, JOBNAME 292399в настоящее время не используется, и его планируется запускать каждый раз, когда в очереди появляется место.
Но если я бегу, qalter -a 10051000 292398а затем qrerun 292398я получаю qrerun: Request invalid for state of job 292398.euler.
Из документации qalter я подумал, что 10051000 относится к завтрашнему дню (5 октября, 10 утра), но, возможно, я что-то неправильно понимаю?
Если я пойду неправильно, пожалуйста, дайте мне знать. Главное, что я ищу, это команда, которая легко скриптируется, так что я могу изменить ее при запуске задач из очереди. qalter кажется хорошим для этих целей, если я смогу заставить его работать. Я бы предпочел избегать запуска qdel и повторной подстановки вычислений, так как существует проблема с бухгалтерией, какие задачи нужно перезапускать (а какие нет). Я хочу избежать такой бухгалтерии.
Из поисков в поисках я заметил, что некоторые команды qalter имеют довольно разные форматы даты, но вышеприведенное выглядит правильным, насколько я могу судить из man docs.
Любая помощь будет оценена.
1 ответ на вопрос
2
bwDraco
Используйте qholdдля удержания на работе. Когда вы будете готовы запустить его, используйтеqrls чтобы освободить задание. Вы можете легко создать cron-скрипт для этой цели.
Редактировать: Вы также можете использовать qalter -a, но не использовать qrerun: задание не выполняется и не может быть выполнено до истечения даты и времени, указанных в qalter -aкоманде, поэтому qrerunвозвращает ошибку.
Круто, спасибо. qhold + qrls сделали свою работу.
Ryan Budney 12 лет назад
0