torque no cluster [fechado]

0

Estou aprendendo e tenho algumas dúvidas sobre como usar o PBS para enviar trabalhos em um cluster.

(1) Se um trabalho é paralelizado por MPI e executado pelo mpirun sem usar o qsub, ele estará rodando em nós diferentes. Então, qual é o ponto de usar o qsub?

O trabalho não é enviado pelo qsub na fila ou não?

(2) Em um script pbs submetido pelo qsub, todos os comandos são executados um após o outro?

Se eu quiser executar vários executáveis ao mesmo tempo, é para fazer essas chamadas em segundo plano adicionando "&" no final?

(3) No script pbs, se as várias chamadas para executar os executáveis estiverem sendo executadas ao mesmo tempo executando background, o número de nós e processadores por nós especificados será o total necessário para todas essas chamadas?

Se sim, e o número de nós e processadores por nós especificados não estiver completamente disponível, mas suficiente para executar algumas das chamadas, algumas dessas chamadas serão executadas primeiro ou atrasadas até que os recursos totais solicitados estejam completamente disponíveis?

Obrigado!

ATUALIZAÇÃO:

Para você entender melhor minhas perguntas acima, nosso cluster é um cluster Linux com Torque e Maui. Eu estou lendo tutoriais online e descubro que a compilação é apenas no nó principal, e depois de enviar o trabalho pelo qsub, os outros nós estão executando o executável compilado no nó principal. Então é por isso que minhas perguntas surgem.

    
por Tim 31.01.2010 / 02:00

2 respostas

0

Eu não usei o PBS por um tempo, apenas o SGE, então essas respostas podem ser um pouco centradas no SGE.

A razão para usar um sistema de filas é utilizar melhor seus recursos. Se você tiver um cluster de 1000 nós e 100 usuários, não deseja que todos eles efetuem login e tentem executar o mpirun para usar todos os 1000 nós. Em vez disso, você permite que eles enviem trabalhos solicitando recursos (por exemplo, 10 a 20 CPUs, 4 GB de memória e assim por diante) e o sistema de filas cuida do envio de trabalhos em máquinas disponíveis. Além disso, se você não tiver tantos usuários e esse grande cluster, talvez você tenha 100 trabalhos que precisa executar. Basta enviar todos eles para o sistema de filas, deixá-los trabalhar em segundo plano, durante a noite e no fim de semana, e todos os seus recursos serão usados de maneira eficiente. Uma coisa legal que você pode fazer é permitir que o sistema de filas inicie e pare suas máquinas, dependendo da demanda, de modo que, se você não tiver nenhum trabalho, ele desligará seus nós e, quando enviar trabalhos, ele iniciará a quantidade certa de máquinas. Poderia economizar muito poder!

O script está sendo executado da mesma forma que se você o iniciasse manualmente, ele só tem um ambiente que sabe quais nós devem ser usados, em qual diretório deve ser executado e tal. Se você realmente deseja que os trabalhos sejam executados em segundo plano, inicie-os com um & no final, mas lembre-se de esperar pela execução de trabalhos no final, caso contrário, você poderá obter uma falta de correspondência entre os recursos que seu sistema de filas conhece e os recursos reais disponíveis.

    
por 09.03.2010 / 15:38
0

Para responder sua primeira pergunta. A MPI deve ser configurada com os nós disponíveis e o número de núcleos de processadores disponíveis, e a MPI deve manipular toda a distribuição, se estiver codificada corretamente. Pelo menos foi assim que eu me lembro de MPI trabalhando quando eu usei. Eu usei a distribuição LAM-MPI, então talvez algumas coisas fossem diferentes.

Quanto ao PBS, eu não usei isso ainda, mas eu encontrei esta página da universidade explicando algumas noções básicas de execuções e especificações:

link

    
por 31.01.2010 / 02:14