CRAB no Sprace
Introdução
O objetivo desta página é ensinar como se faz o setup básico do ambiente de grid no Sprace, e utilizar esse ambiente para submeter jobs do CMSSW para o grid. Para os efeitos desta página, assume-se o uso da shell bash.
Setup do GRID no Sprace
PREREQUISITO: conta na máquina
access.sprace.org.br
.
PREREQUISITO: certificado válido de grid.
Preparando seu certificado de grid
Normalmente, quando você recebe um certificado de grid, tanto o certificado em si quanto a chave privada estão contidos em um mesmo arquivo de extensão
.p12
. Pra nossos propósitos, esse formato não serve - temos que separar os dois elementos, e colocá-los em um diretório específico.
- Crie o diretório
.globus
em sua sua HOME: mkdir $HOME/.globus
- Crie o certificado:
openssl pkcs12 -in YourCert.p12 -clcerts -nokeys -out $HOME/.globus/usercert.pem
, onde YourCert.p12
é o nome do seu arquivo de extensão .p12
- Crie a chave:
openssl pkcs12 -in YourCert.p12 -nocerts -out $HOME/.globus/userkey.pem
- A chave deve ter permissão de leitura, apenas pelo dono:
chmod 400 $HOME/.globus/userkey.pem
- Você vai ser perguntado pela sua senha algumas vezes durante o processo. Responda corretamente.
- Finalmente, lembre-se que o arquivo de extensão
.p12
contém INFORMAÇÃO SENSÍVEL - isto é, sua chave privada e seu certificado. Considere apagá-lo ou transferí-lo para um lugar seguro.
Este processo deve ser feito sempre que você precisar renovar seu certificado de grid. Normalmente isso ocorre uma vez por ano.
Preparando o ambiente de grid
O acesso ao Grid se dá por meio de uma User Interface (UI). No Sprace, têm disponível a UI desenvolvida no CERN, chamada
gLite. A instalação do gLite localiza-se em
/usr/local/glite/3.1.25-0
. Note que o último número pode ser diferente dependendo da versão instalada. Execute os seguintes comandos:
-
export UITOP=/usr/local/glite/3.1.25-0
-
. $UITOP/$VERSION/external/etc/profile.d/grid-env.sh
-
export EDG_WL_LOCATION=$UITOP/$VERSION/edg
-
export PYTHONPATH=$UITOP/$VERSION/glite/lib/python:$PYTHONPATH
Este processo deve ser feito toda vez que você fizer login na access e desejar usar o ambiente de Grid.
Preparando o CMSSW
Simplesmente vá até a área de desenvolvimento do CMSSW (
cd CMSSW_X_Y_Z
) e use o comando
cmsenv
.
Preparando o CMSSW para usar o ambiente de grid
O CMSSW utiliza ainda uma segunda camada sobre a User Interface para facilitar a submissão de jobs. Essa camada é o
CRAB - CMS Remote Analysis Builder. A instalação do CRAB localiza-se em
/usr/local/CRAB
. Execute os seguintes comandos:
-
source /usr/local/CRAB/crab.sh
-
export PYTHONPATH=${PYTHONPATH}:${GLITE_LOCATION}/lib
Note que você deve ter já preparado a área de desenvolvimento do CMSSW com
cmsenv
. Se não for o caso, o CRAB reclama e te avisa disso. Este processo deve ser feito toda vez que você fizer login na access e desejar submeter jobs do CMSSW para o Grid.
Ordem correta
Os comandos não são comutativos! Lembre-se de preparar os ambientes na seguinte ordem:
- Ambiente de grid.
- Área de desenvolvimento do CMSSW
- CRAB.
Links
--
ThiagoTomei - 27 Apr 2010