Dúvida sobre abrir novos terminais, scripts csh

1. Dúvida sobre abrir novos terminais, scripts csh

Alexandre Sombra
LexSombra

(usa Ubuntu)

Enviado em 22/10/2012 - 00:43h

Olá pessoal!
Preciso realizar algumas simulações, e para isso, disponho de um servidor de 16 nucleos, mas no momento estou conseguindo usar apenas um.
O que acontece é o seguinte.
Quando eu abro uma janela do terminal e rodo uma simulação, ela é alocada para um nucleo, quando eu abro outra janela e rodo outra, ela é alocada pra outro núcleo e as duas rodam em paralelo, sem problemas.
Mas como são muitas simulações, não dá pra eu ficar o tempo todo rodando elas na mão, então eu fiz um script csh pra fazer isso por mim.

O script tem essa estrutura(não ou colocar completo, só o bastante)


for each step ( 1 2 3)

roda simulação $step
end


O que acontece é o seguinte, o script roda a simulação 1, e espera ela acabar antes de rodar a simulação 2!
Eu não quero que isso aconteça.
Quero que o script abra um novo terminal, chame a simulação 1 e passe para simulação 2 sem esperar a 1 acabar, depois vai abrir um novo terminal, chama a simulação 2 e passa pra 3, e assim vai, de modo que as 3 simulações vão rodar em 3 terminais e irão usar 3 nucleos e não apenas um.

Como faço isso?
obs: não necessariamente preciso abrir outro terminal, só quero que as três simulações rodem em paralelo.

Obrigado!


  


2. Re: Dúvida sobre abrir novos terminais, scripts csh

Paulo
paulo1205

(usa Ubuntu)

Enviado em 22/10/2012 - 04:27h

Tem certeza de que ele identifica o terminal antes de alocar um novo núcleo (i.e. se você rodar duas ou mais simulações no mesmo terminal dá algum problema, enfileira, elas competem pelo mesmo núcleo)?

Para que os comando dentro do loop executem em paralelo, você pode mandar que eles executem em background, usando o operador "&" ao invocar cada instância do comando. O script pode ainda aguardar o término de todos os comandos através do comando wait.

Para alocar terminais virtuais, há várias possibilidades, tais como script, screen ou mesmo xterm.


3. Re: Dúvida sobre abrir novos terminais, scripts csh

Alexandre Sombra
LexSombra

(usa Ubuntu)

Enviado em 25/10/2012 - 16:13h

paulo1205 escreveu:

Tem certeza de que ele identifica o terminal antes de alocar um novo núcleo (i.e. se você rodar duas ou mais simulações no mesmo terminal dá algum problema, enfileira, elas competem pelo mesmo núcleo)?

Para que os comando dentro do loop executem em paralelo, você pode mandar que eles executem em background, usando o operador "&" ao invocar cada instância do comando. O script pode ainda aguardar o término de todos os comandos através do comando wait.

Para alocar terminais virtuais, há várias possibilidades, tais como script, screen ou mesmo xterm.


Olá Paulo!
O & deu certo!
Funcionado perfeitamente.
Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts