Version 12 (modified by mmamonski, 12 years ago) (diff)

--

QCG Simple Client

Requirements

brudne notatki:
-q queue - kolejka, BROKER jest, COMP jest
-a data_godzina - BROKER ?, COMP nie ma
-n nazwa - jest w COMP, w BROKER mapowane z ... 
-h hold - w COMP nie ma, w BROKERze - two phase commit
-I interaktywne - brak wsparcia
-A project -> grant (jest wsparcie)
-l zasoby -
* procs/ncpus - liczba procesorw
* nodes=N:ppn=4 - wymuszenie topologi 
* propertiesy wezlow, np.:
** Wroclaw: epoch, hp,u3,old,oldest
** Cyfronet: mhz2400,mem24gb,sl5,n18-4,core12,ib_mlx,ib_all,infiniband
** Reef: g6,intel,lustre,ib,mpi 
* -lmem pamiec=

Podsumowanie: większość funkcji jest obsługiwana:

  • wybór kolejki (rozszerzenie QCG JSDL'a)
  • walltime
  • wybor liczby procesorow (TotalCPUCount) lub topologi (TotalResourcesCount? (nodes), IndividualCPUCount (ppn))
  • grant
  • pamięć (TotalMem?...) per zadanie

Nieobsługiwane a stosunkowo łatwe do zaimplementowania:

  • start_time

Do przeanalizowania: obsługa wyboru właściwości węzłów. Mi znane są trzy scenariusze użycia:

  • wybór węzłów które wspierają MPI'a (tj. mają infiniband)

Reef: mpi = ib = lustre (tozsame - pytanie czy przypadek) Zeus, ib_ql,ib_mlx,ib_all,infiniband Nova: mpiprocs= ?? - zapytac Franka

  • wybór typu maszyny:

Reef: g6,g7 - generacje maszyny Zeus: mhz2266,mhz2666, core12, core8, mhz2933 Nova: epoch: old, oldest, hp

  • próba wymuszenia exclusive execution

-lnodes=1:ppn=8:core8

Example Usage

$qcg-sub namd-heat.qcg
https://elder7.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Mariusz Mamonski
ProxyLifetime = 0 Days 11 Hours 58 Minutes 43 Seconds

jobId = J1323190911636_MAPPER_0453

$qcg-stat

J1322470624235_MAPPER_3875  NAMD-HeatSim PENDING  zeus.cyfronet.pl Tue Dec 06 18:03:51 CET 2011
J1323190911636_MAPPER_0453  NAMD-HeatSim RUNNING  reef.man.poznan.pl Tue Dec 06 18:03:51 CET 2011

$#get more details about the job
$qcg-stat -f J1323190911636_MAPPER_0453
Project: 
Status: FINISHED
StatusDesc: 
SubmissionTime: Mon Nov 21 17:14:02 CET 2011
FinishTime: Mon Nov 21 17:25:52 CET 2011
Number of tasks: 1
Tasks: muscle 


$#query all jobs, also finished
$ qcg-stat -a
J1322470624216_MAPPER_3147  NAMD-HeatSim FINISHED  zeus.cyfronet.pl Tue Dec 04 16:03:51 CET 2011
J1322470624235_MAPPER_3875  NAMD-HeatSim PENDING  zeus.cyfronet.pl Tue Dec 06 18:03:51 CET 2011
J1323190911636_MAPPER_0453  NAMD-HeatSim RUNNING  reef.man.poznan.pl Tue Dec 06 18:03:51 CET 2011

#refetch results if needed
# qcg-fetch-results J1323190911636_MAPPER_0453


Example QCG script

#!/bin/sh
#QCG 
#QCG queue=plgrid-wp4
#QCG walltime=0:01:00
#QCG procs=32
#or specifying topology
#QCG nodes=4:ppn=8
#QCG name=HeatSim
#QCG output=${jobid}.out
#QCG error=${joibd}.err
#QCG candidate_host=reef
#QCG stage-in=heat.namd
#QCG stage-in=test/2nue.modif.xplor.psf -> input.psf
#QCG stage-out=heat.coor
#QCG node_properties=mhz2666
#QCG watch_file=namd.log
#forces selection of mpi capable nodes (e.g. ib_all, or lustre)
#QCG flavour=mpi


#any module load/add command implicitly adds requirement on SP selection
module load namd 

charmrun namd2 heat.namd &> namd.log

translates to the following Job Profile: