Vous êtes sur la page 1sur 11

DocumentationNIC3

Caractristiquedel'quipement Descriptionmatrielducluster

1xSupermicroSC743 12GBRAM,2cpus4coresIntelL54202.50Ghz. 8xDisquesHitachi1TBSATA2(3Gbps)7200RPM32MBenRAID6. 1xDellPoweredge2950: 16GBRAM,2cpus4coresIntelL54202.50Ghz. 2xDisques450GBSAS15000RPM. 13xchassisDellPoweredgeM1000E: PowerSupply6x2360WGbEPassThroughModule. 64xlamesPEM600: 32GBRAM,2cpus4coresIntelL54202.50Ghz. 1xDisque146GBSAS10000RPM. 144xlamesPEM600: 16GBRAM,2cpus4coresIntelL54202.50Ghz. 1xDisque146GBSAS10000RPM. Networkswitches: 5xDellPowerConnect624848ports. 5xDellPowerConnectPCT62xxStackingModule48Gbps.

Fonctionnalit Fonction
Portailetnoeudpourledveloppement Master,pourlemanagementdesnoeuds,pourla gestiondesqueuesetdunfshomeetscratch. Noeudsdecalcul8coeurs16GBRAM Noeudsdecalcul8coeurs32GBRAM

OperatingSystem
ClusterVisionOS ClusterVisionOS ClusterVisionOS ClusterVisionOS

Hardware
1XDellPoweredge2950 1XSupermicroSC743 144xPEM600 64xPEM600

Connexions LeclusterdecalculNIC3nedisposequed'unseulpointd'entrequenousappelleronsportailet dontlenomdnsest:nic3.ulg.ac.be. PourseconnectersurleportaililfaututiliserunclientSSH. http://www.ulg.ac.be/segi/unixdoc/ssh.html


$

ssh nic3.ulg.ac.be -lusername -Y

Leportailsertgalementdenoeuddedveloppementinteractifpourcompileretsoumettrede nouveauxjobs.

Environnementsoftware

ClusterVisionOS,kernel2.6.18128.1.10.el5,gccversion4.1.2. http://www.clustervision.com/products_os.php LesproduitsGNUlespluscourants(bash,gawk,gdb,gnuplot,gzip,make,tar,...) http://www.gnu.org/ Lesditeurstraditionnelsenmodetexte(ed,vietemacs)ouenmodegraphique(geditet emacs). Systmesdegestiondeversions:cvs,svn,gitetbzr. LescompilateursGNUgcc4.1.2standardetgcc4.3.2viamoduleadd.http://gcc.gnu.org LasuitePGIClusterDeveloppementKit8.0.2.http://www.pgroup.com/resources/docs.htm LasuiteIntelClusterToolKitversion11.0avecmkl. http://www.intel.com/cd/software/products/asmona/eng/compilers/284264.htm LeslibrairiesOpenMPI1.2.6et1.3.0passagedemessagesMPI http://www.openmpi.org/ Leslibrairiesscientifiques:BLACS,BLAS,FFTW3,GOTOBLAS,NETCDF,DISLIN. LeprogrammeMatlabR2009ahttp://www.mathworks.fr/

Environnementdetravail Chaqueutilisateurdisposed'unHOMEdirectoryetd'unespaceSCRATCHpropre. LeHOMEdirectoryestsauvegarddanslesystmedebackupduSeGI,parcontrel'espace SCRATCHnel'estpas. L'espaceSCRATCHpropreestaccessibleparlavariabled'environnement$SCRATCHDIRqui donneaccsl'espace/scratch/$USER.UndeuximeespaceSCRATCHlocalchaquenoeudest accessibleparlavariabled'environnement$TMPSCRATCHquidonneaccsl'espace /tmpscratch/.tantlocalaunoeud,cetespacedetravailestplusrapidemaislesdonnessont perdueslorsquel'excutiondujobsetermine.Ilest obli gatoire denettoyerl'espace TMPSCRATCHlafindesonjobaprsavoirsauvegardlesfichiersutiles(voirexempleAbinit). Lesquotassontfixsparutilisateurs,pourle/homeilestde10GBetpourleSCARTCHDIRde 20GB,modifiableslademande.

SunGridEngine(SGE) http://gridengine.sunsource.net/documentation.html Introduction Lemoded'excutionbatchconsisteprparerunensembledecommandesdansunfichierscript puislesoumettreSunGridEngine. Cetensembledecommandesestappel"job".Lasoumissiond'unjobcorrespondunerequtede lapartdel'utilisateuretl'excutiondecejobpeuttrecaractriseparunouplusieursprocessus. Lorsqu'unjobestsoumisSGE,celuicivaanalyserlescript,prendreencomptelesressources demandesparlejobetchercherlesnoeudsdisponiblespourl'excution. Environnementparalllesdisponibles Lesenvironnementsparalllesdisponiblesactuellementsont: snode:samenode,mmoirepartagepourlesjobsSMP(OpenMP)maximum8coeursoupourles jobsMPIdemaximum8coeurs. openmpi:CommunicationvialerseauGigabitethernetpourlesjobsOpenMPI. pvm:CommunicationvialerseauGigabitethernetpourlesjobsPVM. Gnralits Mmoiremaximumdisponibleparcoeur:31G Tempsmaximumd'excutiond'unjob:480H Nombredecoeurmaximumdiponibleparutilisateur:240coeurs UtilisationdeSGE Troiscommandespermettentauxutilisateursdegrerlessoumissionsdejob.

qsub: Lacommandeqsubpermetdesoumettreuntravailaucluster.Elleretourneimmdiatement lenumroduJob. PourpouvoirsoumettreunJOB,lesparamtresobligatoiressont: #$lh_vmem=x h_vmem=hardvirtualmemoryrserveparcoeur(exemples:512M,1G,...). #$lh_rt=hh:mm:ss h_rt=hardcpuruntime.Letempsncessairepourl'excution.Ceparamtrevitede monopoliserdescpusetdelammoireavecunjobquiboucle.

PourunJOBparallle,ilfautprciserletyped'environnementetlenombredecoeurs dsirs: #$pe[openmpi,snode,pvm]nb_core(voirenvironnementparalllesdisponibles) Lesparamtresfacultatifssont: Pourforcerl'excutionsurlesnoeuds16Gb: #$lhm=false Pourforcerl'excutionsurlesnoeuds32Gb: #$lhm=true Pourtreinformparemail(beas=begin,end,abort,stop) #$mbeas #$mmyemail@ulg.ac.be Exemplesdesoumissionsenlignedecommande: pourunjobsrie:
qsub -l h_vmem=100M -l h_rt=00:60:00 example.sh

pourunjobparallleopenmpiavec2coeurs:
qsub -pe openmpi 2 -l h_vmem=100M -l h_rt=00:60:00 example.sh

Voirlapagedumanuel:man qsub !Pourlabonneutilisationduclusterveillezoptimiserlesparamtresaumieux!

qrsh: Lacommandeqrshpermetd'obtenirunesessioninteractivershgreparSGE. Lesoptionssontlesmmesquepourlacommandeqsub. Exemplesdesoumissionsenlignedecommande: pourunesessioninteractiveenmodesrie:


qrsh -l h_vmem=100M -l h_rt=00:60:00

pourunesessioninteractiveparallleopenmpiavec8coeurs:
qrsh -pe openmpi 8 -l h_vmem=1G -l h_rt=00:60:00

Voirlapagedumanuel:man qrsh

qlogin: Lacommandneqloginpermetd'obtenirunesessiondelogininteractivegreparSGE. Parrapportlacommandeqrshlasessionqloginpermetdelancerdesapplications graphiquesXwindows.Nousrecommandonsd'utiliser qlogin pourtravailleravec Matlab . Lesoptionssontlesmmesquepourlescommandesqsubetqrsh.

qstat: Lacommandeqstatpermetd'avoirdesinformationssurlesjobsactuellementsoumis SGE. Pourvoirsesjobs:qstat Pourvoirlesjobsdetouslesutilisateurs:qstat -u '*' Voirlapagedumanuel:man qstat qdel: Lacommandeqdelpermetdesupprimerunjobn'importequelmoment. qdel -f jobid (fforcelasuppression) Voirlapagedumanuel:man qdel

Utilisationdescompilateurs,desenvironnementsMPIetprogrammesparticuliers: Pourutiliserlesdiffrentscompilateurs,librairiesetprogrammesparticuliers,ilfaututiliser lacommandemodule . Cettecommandepermetdemodifierdynamiquementlesvariablesd'environnement.Onpeutdonc d'unseulcoupalternerentrelesdiffrentscompilateurs,sansavoirachangerlesvariables d'environnementassociesoules'paths'verslesdiffrenteslibrairiesetexcutablesassocisaces compilateurs. Utilisationdelacommandemodule: moduleav:listelesmodulesdisponibles moduleadd[nomdumodule]:chargelemodule modulelist:listelesmoduleschargs modulerm[nomdumodule]:dchargelemodule modulepurge:dchargetouslesmoduleschargs moduleinitadd[nomdumodule]:modulequiserachargautomatiquementlorsde chaquelogin. moduleinitrm[nomdumodule]:supprimerlemodulequel'onnedsirepluscharger automatiquementchaquelogin. Pourplusdedtail:modulehelp. Travailleraveclesdiffrentscompilateurs: Pourtravailleraveclescompilateurspgi: moduleaddpgi/8.0.2 Pourtravailleraveclescompilateursintel32bits: moduleaddintel/compiler/32/11.0/074 Pourtravailleraveclescompilateursintel64bits: moduleaddintel/compiler/64/11.0/074 Pourtravailleraveclescompilateursgnu4.1.2: Pasdemodulechargercarversiondusystme. Pourtravailleraveclescompilateursgnu4.3.2: moduleaddgcc/4.3.2

Travailleraveclescompilateursetl'environnementopenmpi: Compilateurspgietopenmpi: moduleaddpgi/8.0.2 moduleaddopenmpi/pgi/64/1.3.0 Compilateursinteletopenmpi: moduleaddintel/compiler/64/11.0/074 moduleaddopenmpi/intel/64/1.3.0 Compilateursgnu4.3.2etopenmpi: moduleaddgcc/4.3.2 moduleaddopenmpi/gcc/64/1.3.0 Travailleraveclesdebuggers: Debuggerintel32bits: moduleaddjava/jdk/32/1.6.0_12 moduleaddintel/compiler/32/11.0/074 Debuggerintel64bits: moduleaddjava/jdk/64/1.6.0_12 moduleaddintel/compiler/64/11.0/074 DebuggerPGI(nefonctionnepasaveccompiz): moduleaddjava/jdk/64/1.6.0_12 moduleaddpgi/8.0.2 DebuggerGNUGDB: Pasdemodulecharger. Travailleravecd'autresproduits moduleav moduleadd Remarque: Avantdechangerdeproduit,ilestprfrabledenettoyersonenvironementvialacommande modulepurge. Contacts

pourlisterlesmodulesdisponiblesetdternimerleoulesmodulescharger. pourchargerlesmodulesadquats.

Lesproblmestechniquesserontcentralissparl'quipesystmeduSeGI: nicadm@segi.ulg.ac.be Listenic@lists.ulg.ac.bepourchangesentreutilisateurs.

Crationd'unscriptbatch,exemples moduleaddenfonctiondel'environnementsouhait,semblableceluiutilislorsdela compilation. Exempledisponibledans/u/exemples. Exempled'unscriptbatchpourunjobsrie: #!/bin/sh #Nomdonneraujob #$NSerial #Ressourcesncessairespourl'excution #$lh_vmem=100M #$lh_rt=0:01:30 #Pourtreinformparemail(beas=begin,end,abort,stop) #$mbeas #$Mmyemail@ulg.ac.be #executiondanslerpertoirecourant #$cwd #Pouravoirlesvariablesd'environementetlacommande# #modulesurlesnoeudsdecalculs# source/etc/profile.d/segi.sh source/etc/profile.d/modules.sh /bin/echoHereIam.Sleepingnowat:`date` time=60 sleep$time echoNowitis:`date`

Exempled'unscriptbatchpourunjobparallleAbinitopenmpiavecuneexcutiondansle tmpscratch: #!/bin/sh #$Njob_mpi_sge #$lh_vmem=500M #$lh_rt=00:59:59 #$peopenmpi9 #$cwd #$jyes source/etc/profile.d/modules.sh source/etc/profile.d/segi.sh moduleaddopenmpi/gcc/64/1.2.6 subdir=$PWD #thecurrentdirectoryfromwhereyousubmityourjob(in /home/...or/scratch/...) echo"subdir="$subdir workdir=${TMPSCRATCH}/${USER}_$JOB_ID #wewillcreateontheLOCALharddisk($TMPSCRATCH)ofeachof thenodesauniquedirectorywithyournameandthejobid number echo"workdir="$workdir echo"cat\$TMPDIR/machines|uniq" cat$TMPDIR/machines|uniq #thelistofthenodes(countedonlyonce)onwhichthe paralleljobwillrun foriiin`cat$TMPDIR/machines|uniq` #weloopoverthenodeslist do ssh$ii"mkdir$workdir;cp$subdir/myprog.exe$workdir" #wecreatetheworkdironthelocaldiskofthenodeandcopy inittheneededfiles(executableandinputfiles) done #echoe"\n" #flushtheoutputtext cd$workdir lsartl

mpirunnp$NSLOTS$workdir/myprog.exe>& $workdir/output.txt #weenterintheworkdirandlaunchthempiprogram.Each instance(thread)ofthempiprogramwillreadandwriteinhis localdisk echoe"\n" sleep5 #wewaitalittlebitaftertheendoftheprogramthatoutput filesarecompletelywrittenbackonthelocaldisk cp$workdir/output.txt$subdir #wecopybackonlytheneededresultsfiles foriiin`tac$TMPDIR/machines|uniq` #veryimportant:beforeleaving,wecleantheworkingdirectory createdoneachnode do ssh$ii"rmrf$workdir" done echoe"\n"

Exempled'unscriptbatchpourunjobparalllesmpOpenMPde30Gb:

#!/bin/sh #Nomdonneraujob #$NOpenMP #Ressourcesncessairespourl'excution #$lh_vmem=30G #$lh_rt=0:01:30 #Pourtreinformparemail(beas=begin,end,abort,stop) #$mbeas #$Mmyemail@ulg.ac.be #pe=Jobparallle #environnementparalllesnodeavec8coeurs #$pesnode8 #executiondanslerpertoirecourant #$cwd #Pouravoirlesvariablesd'environementetlacommande# #modulesurlesnoeudsdecalculs# source/etc/profile.d/segi.sh source/etc/profile.d/modules.sh modulepurge moduleaddpgi/8.0.2 # #OpenMPenvironment exportOMP_NUM_THREADS=$NSLOTS # #StartOpenMPWork ./looper

Exempled'unscriptbatchpourunjobparalllespvm: #!/bin/sh #Nomdonneraujob #$NPVM #Ressourcesncessairespourl'excution #$lh_vmem=5G #$lh_rt=0:10:30 #Pourtreinformparemail(beas=begin,end,abort,stop) #$mbeas #$Mmyemail@ulg.ac.be #pe=Jobparallle #environnementparalllesnodeavec4coeurs #$pepvm4 #executiondanslerpertoirecourant #$cwd # #Pouravoirlesvariablesd'environementetlacommande# #modulesurlesnoeudsdecalculs# source/etc/profile.d/segi.sh source/etc/profile.d/modules.sh modulepurge moduleaddgcc/4.3.2 /u/exemples/Pvm/gc_master1

Vous aimerez peut-être aussi