Отображение использованных часов процессора со слёрмом
У меня есть учетная запись пользователя на суперкомпьютере, где задания обрабатываются с грязью.
Я хотел бы знать общее количество процессорных часов, которые я провел на этом суперкомпьютере. Я думаю, что это понятный вопрос, потому что для каждого проекта доступно только ограниченное количество процессорных часов. Я удивлен, что найти ответ нелегко.
Я знаю, что есть все эти команды, такие как sacct, sreport, sshare и т. Д., Но кажется, что нет простой команды, которая отображает использованные часы процессора.
Кто-нибудь может мне помочь?
1 ответ
Как прокомментировали другие, святость должна дать вам эту информацию. Вам нужно будет просмотреть справочную страницу, чтобы получить информацию о прошлых работах. Вы можете указать --starttime и --endtime, чтобы ограничить ваш запрос, чтобы он соответствовал вашему распределению, когда он заканчивается / обновляется. Опции -l должны дать вам больше информации, чем вам нужно, поэтому вы можете получить меньший набор опций, указав, что вам нужно с --format.
В вашем случае правильный ответ - спросить администраторов. Вам было выделено время для рисования. Вероятно, у них есть система, которая покажет вам ваш баланс, и вы сможете согласовать свой баланс с выходом сакрального. Кроме того, если используемая вами система имеет разные типы узлов, такие как большой объем памяти, графический процессор, MIC или старый, они, вероятно, будут по-разному взимать плату за эти ресурсы.
Вы можете получить обзор использованных часов процессора с помощью следующего:
sacct -SYYYY-mm-dd -u username -ojobid,start,end,alloccpu,cputime | column -t
Вы можете рассчитать общее умножение CPUTime SBU на AllocCPU, что означает умножение общего времени ЦП (sysem+user) на количество используемых ЦП.
Пример:
JobID NodeList State Start End AllocCPUS CPUTime
------------ --------------- ---------- ------------------- ------------------- ---------- ----------
6328552 tcn[595-604] CANCELLED+ 2019-05-21T14:07:57 2019-05-23T16:48:15 240 506-17:12:00
6328552.bat+ tcn595 CANCELLED 2019-05-21T14:07:57 2019-05-23T16:48:16 24 50-16:07:36
6328552.0 tcn[595-604] FAILED 2019-05-21T14:10:37 2019-05-23T16:48:18 240 506-06:44:00
6332520 tcn[384,386,45+ COMPLETED 2019-05-23T16:06:04 2019-05-24T00:26:36 72 25-00:38:24
6332520.bat+ tcn384 COMPLETED 2019-05-23T16:06:04 2019-05-24T00:26:36 24 8-08:12:48
6332520.0 tcn[384,386,45+ COMPLETED 2019-05-23T16:06:09 2019-05-24T00:26:33 60 20-20:24:00
6332530 tcn[37,41,44,4+ FAILED 2019-05-23T17:11:31 2019-05-25T09:13:34 240 400-08:12:00
6332530.bat+ tcn37 FAILED 2019-05-23T17:11:31 2019-05-25T09:13:34 24 40-00:49:12
6332530.0 tcn[37,41,44,4+ CANCELLED+ 2019-05-23T17:11:35 2019-05-25T09:13:34 240 400-07:56:00
Поля показаны на странице руководства. Они могут быть показаны как -oOPTION (в нижнем регистре или в правильной записи POSIX --format='Option,AnotherOption...' (список в человеке).
Все идет нормально. Но здесь есть большая оговорка:
То, что вы видите здесь, идеально подходит для того, чтобы получить представление о том, что вы запустили или чего ожидать с точки зрения ЦП / часов. Но это не обязательно будет отражать ваш реальный бюджетный статус, поскольку во многих случаях каждый узел / раздел может иметь дополнительный параметр - вес, который является набором параметров для целей учета, а не частью SLURM. Например, узлы GPU могут иметь значение веса x3, что означает, что каждый GPU/ час измеряется как 3 SBU вместо 1 для бюджетных целей. Что я хочу сказать, так это то, что вы можете использовать sacct для получения информации о времени процессора, но это не обязательно будет отражать, сколько кредитов SBU у вас осталось.