Как узнать, сколько узлов процесс использует в кластере с сеточным движком Sun?

Я (пытаюсь) запустить R на многоядерном вычислительном кластере с движком Sun grid. Я хотел бы запустить R параллельно, используя среду MPI и функции parLapply() для снега и снегопада. Мой код работает, по крайней мере, на моем ноутбуке, но чтобы убедиться, что он выполняет то же, что и на кластере, у меня есть следующие вопросы.

Если я запрашиваю количество слотов / узлов, скажем, 4, как я могу проверить, действительно ли запущенный процесс использует полное количество запрошенных процессоров? Есть ли рекомендация, которая может показать подробности об использовании процессора на запрошенных узлах для процесса?

1 ответ

Чтобы проверить, действительно ли работали кластеры на соответствующих узлах, я часто использую следующую команду сразу после создания объекта кластера:

clusterEvalQ(cl, Sys.info()['nodename'])

Это должно соответствовать списку выделенных узлов, сообщаемых qstat команда.

Чтобы получить подробную информацию об использовании процессора, я часто использую ssh для каждого узла и использую такие команды, как top а также ps, но это может быть болезненным, если есть много узлов для проверки. На наших кластерах настроена система мониторинга Ganglia, поэтому я могу использовать веб-интерфейс Ganglia для проверки статистики различных узлов. Возможно, вы захотите уточнить у своих системных администраторов, настроили ли они что-либо для мониторинга.

Другие вопросы по тегам