Version 19 (modified by mafoipsl, 13 years ago) (diff) |
---|
Benchmarks de post-traitements avec libIGCM
10 ans de TS (Time Series)
Bench de création des TS. Cela fait 10 ans par défaut et lance 27 jobs de TS. Cela prend une simulation de type historique IPSLCM5A-LR, pointe avec des liens sur les fichiers de type Output et lance les TS qui seront rangées dans les répertoires Analyse. Sont intégrés les ajouts de la commande time, les choix CCRT/IDRIS. Il est possible de pointer vers une simulation de type IPSLCM5A-MR (v5.historicalMR1) sur le CCRT/TGCC seulement.
Cela prend libIGCM trunk.
README
3 étapes:
- à faire une seule fois : Preparation liens vers v3.historivalV52 sur gaya ou vers v3.historical4 au CCRT :
if [[ $HOSTNAME = ulam ]] then MYMACHINE=ulam SIMU=v3.historivalV52 BENCH_WORKDIR=/workdir/rech/tgw/rtgw001 cd $HOMEGAYA else MYMACHINE=cesium|titane SIMU=v3.historical4 BENCH_WORKDIR=$(ccc_home -w -u p86maf) cd $DMFDIR fi [ -d IGCM_OUT/IPSLCM5A/TEST ] || mkdir -p IGCM_OUT/IPSLCM5A/TEST cd IGCM_OUT/IPSLCM5A/TEST mkdir -p historical/$SIMU for i in ATM CPL ICE MBG OCE SRF SBG ; do echo $i ; mkdir $i ; cd $i ; ln -s ../../../../PROD/historical/$SIMU/$i/Output . ; ln -s ../../../../PROD/historical/$SIMU/$i/Debug . ; ln -s ../../../../PROD/historical/$SIMU/$i/Restart . ; cd .. ; echo $i done ; done
- Preparation des jobs de TS :
- A faire une seule fois :
cd $WORKDIR [ -d POST_BENCH ] || mkdir POST_BENCH cd POST_BENCH #svn_ano #svn_ano is aliased to `svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl' svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl cd modipsl/util ./model libIGCM # prend la trunk # ajouter time devant les commandes nco/cdo sed -i -e 's/ ncatted / time ncatted /' -e 's/ ncks / time ncks /' -e 's/ ncrcat / time ncrcat /' -e 's/ \\cdo /time \\cdo /' ../libIGCM/libIGCM_sys/libIGCM_sys_${MYMACHINE}.ksh ./ins_job cd ../.. [ -d $SIMU ] || mkdir $SIMU cd $SIMU cp ${BENCH_WORKDIR}/POST_BENCH/$SIMU/config.card . cp -pr ${BENCH_WORKDIR}/POST_BENCH/$SIMU/COMP . # On a mis 300Y au lieu de NONE pour les TS_MO cp -pr ${BENCH_WORKDIR}/POST_BENCH/$SIMU/POST . cp ../modipsl/libIGCM/TimeSeries_Checker.job . # modifs pour avoir le repertoire en local sed -i -e "s/JobName=.*$/JobName=$SIMU/" -e 's/CARD_DIR=.*$/CARD_DIR=${CURRENT_DIR}/' TimeSeries_Checker.job
- Lancer la creation des TS une premiere fois :
./TimeSeries_Checker.job 2>&1 |tee TSC_OUT_1ere
- A refaire si on veut finaliser les TS :
./TimeSeries_Checker.job 2>&1 |tee TSC_OUT_2eme ...
- A faire une seule fois :
- Si on veut tout recommencer.
- Aller dans IGCM_OUT/IPSLCM5A/TEST et faire
rm -rf $SIMU/???/Analyse
- Revenir dans $WORKDIR/POST_BENCH ; faire du menage des anciennes sorties :
rm -rf OutScript
- et refaire :
./TimeSeries_Checker.job 2>&1 |tee TSC_OUT_1ere ...
- Aller dans IGCM_OUT/IPSLCM5A/TEST et faire
- de plus, si on veut faire 50 ans faire :
vi config.card # Mettre DateEnd 1899 pour faire 50 ans
Visualisation des résultats
Liste des commandes à passer pour avoir un histogramme sur ulam. Il y a une généralisation à faire pour avoir la même chose sur cesium, mercure et titane.
cd OutScript # A faire pour avoir un fichier utilisable dans gnuplot FILE_FOR_GNU2=ts_ulam.dat # pour avoir le debut des executions des jobs. TS.* sur ulam set -- $(for i in $(ls -rt TS.* ) ; do echo $(head -1 $i|awk '{ print $3 " " $4 }' | sed 's/:/ /g' ) ; done | sort -n | head -1) ; J0=$1 ; H0=$2 ; M0=$3 ; S0=$4 echo "DATE DE DEBUT " $J0 $H0:$M0:$S0 [ -f ${FILE_FOR_GNU2} ] && rm -f ${FILE_FOR_GNU2} [ -f .tempo_file_$$ ] && rm -f .tempo_file_$$ echo "TS WAIT CPUTIME ENDED" >${FILE_FOR_GNU2} # TS.* /u ... sur ulam. A changer pour CCRT. for i in TS.* ; do echo $i " | " $(grep "IGCM_sys_TestFileArchive :" $i | head -1 | awk -F: '{print $2} ' | sed s',/u/rech/tgw/rtgw001/IGCM_OUT/IPSLCM5A/TEST/historical/v3.historivalV52/,,' | sed s',/Analyse/,-,' | sed s',/.*_,-,' ) " | " $(head -1 $i|awk '{ print $3 " | " $4 }' | sed 's/:/|/g' ) " | " $(echo $(grep -i real $i | sed -e 's/h/ /' -e 's/m/ /' -e s'/\./ /' -e 's/s//' | awk '{ if (NF==5) { SUMH+=$2 ; SUMN+=$3 ; SUMS+=$4 ; SUMMI+=$5 } else { SUMN+=$2 ; SUMS+=$3 ; SUMMI+=$4 } } END { printf("%7.0f ",SUMH*60*60+SUMN*60+SUMS+(SUMMI/100)) } ' ) ) " | " $(tail -1 $i|awk '{ print $3 " | " $4 }' | sed 's/:/|/g' ) ; done > .tempo_file_$$ awk -F'|' ' BEGIN { J0='"$J0"' ; H0='"$H0"' ; M0='"$M0"' ; S0='"$S0"' ; MAX=24*60*60 } { J1=$3 ; H1=$4 ; M1=$5 ;S1=$6; J2=$8; H2=$9; M2=$10 ; S2=$11 ; START=(((J1-J0)*24*60*60)+((H1-H0)*60*60)+(M1-M0)*60+S1-S0) ; DUREE=MAX ; NF==11 && DUREE=(((J2-J1)*24*60*60)+((H2-H1)*60*60)+(M2-M1)*60+S2-S1) ; print $2 " " START " " $7 " " DUREE-$7 } ' .tempo_file_$$ | sort -n -k2 >>${FILE_FOR_GNU2} [ -f .tempo_file_$$ ] && rm -f .tempo_file_$$ cat > alancer <<-EOF set terminal pngcairo dashed font "arial,12" size 800,600 set output 'ts_ulam_real.png' set boxwidth 0.75 absolute set style fill solid 1.00 border -1 set key outside right top vertical Left reverse enhanced autotitles columnhead nobox set key invert samplen 4 spacing 1 width 0 height 0 set style histogram rowstacked title offset character 0, 0, 0 set datafile missing '-' set style data histograms set xtics border in scale 1,0.5 nomirror rotate by -90 offset character 0, 0, 0 set title "TS 10 years bench on ulam" set yrange [ 0.00000 : 1.08000e+05 ] noreverse nowriteback plot 'ts_ulam_real.dat' using 2:xtic(1), for [i=3:4] '' using i EOF gnuplot <alancer
Le fichiers de données intermédiaire est :
# sortie du job | premiere var produite | Jour | DEBUT JOB HH | MM | SS | somme des real time | FIN JOB HH | MM | SS | # TS.465363 | ATM-TS_MO-bils.nc | 2 | 17|19|49 | 10426 | 2 | 20|32|41 # TS.465364 | ATM-TS_MO-upwd.nc | 2 | 17|19|50 | 11392 | 2 | 21|05|15 # TS.465365 | ATM-TS_MO-cllcalipso.nc | 2 | 17|19|52 | 41 | 2 | 17|26|41 # TS.465366 | ATM-TS_MO-clcalipso.nc | 2 | 17|19|53 | 128 | 2 | 17|31|27
Le fichier de données de gnuplot est :
# Titre temps d attente par rapport au premier, somme des real time donne par les commande stime nco, duree restante du job # TS WAIT CPUTIME ENDED # ATM-TS_MO-bils.nc 0 10426 1146 # ATM-TS_MO-upwd.nc 1 11392 2133 # ATM-TS_MO-cllcalipso.nc 3 41 368 # ATM-TS_MO-clcalipso.nc 4 128 566
Retours cesium
- 27 jobs soumis
- histogramme des temps d'attente, des temps réels des comandes nco et du reste : transferts de fichiers et liens vers dods
- ordonnée maximale : 10h
- ordonnée maximale : 100h
Retours mercure
- 27 jobs soumis
- histogramme des temps d'attente, des temps réels des comandes nco et du reste : transferts de fichiers et liens vers dods
- ordonnée maximale : 10h
- ordonnée maximale : 100h
Retours titane
- 27 jobs soumis
- histogramme des temps d'attente, des temps réels des comandes nco et du reste : transferts de fichiers et liens vers dods
- ordonnée maximale : 10h
- ordonnée maximale : 100h
Retours ulam
- 27 jobs soumis
- Problème repéré : une même commande peut prendre 10 mn ou 7h. De quoi cela dépend-il? Etude en cours à l'IDRIS.
- histogramme des temps d'attente, des temps réels des comandes nco et du reste : transferts de fichiers et liens vers dods
- ordonnée maximale : 100h
Attachments (11)
- ts_mercure_real_NONE.png (36.3 KB) - added by mafoipsl 13 years ago.
- ts_cesium_real.png (37.0 KB) - added by mafoipsl 13 years ago.
- ts_cesium_real_36000.png (39.9 KB) - added by mafoipsl 13 years ago.
- ts_mercure_real.png (46.8 KB) - added by mafoipsl 13 years ago.
- ts_mercure_real_36000.png (39.6 KB) - added by mafoipsl 13 years ago.
- ts_ulam_real.png (34.7 KB) - added by mafoipsl 13 years ago.
- ts_titane.png (34.5 KB) - added by mafoipsl 13 years ago.
- ts_titane_36000.png (38.5 KB) - added by mafoipsl 13 years ago.
- ts_titane_MR_36000.png (39.7 KB) - added by mafoipsl 13 years ago.
- ts_titane_MR.png (34.9 KB) - added by mafoipsl 13 years ago.
- ts_curie_36000.png (31.3 KB) - added by mafoipsl 12 years ago.
Download all attachments as: .zip