Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

Allaksen käyttö eräajoissa

Allas-yhteyden avaava komento allas-conf avaa Allas-yhteyden, joka on voimassa kahdeksan tuntia. Interaktiivisessa käytössä tämä kahdeksan tunnin rajoitus ei ole ongelmallinen, koska allas-conf voidaan suorittaa uudelleen yhteyden voimassaolon pidentämiseksi.

Eräajoissa tilanne on erilainen, sillä eräajon suoritus voi kestää useita päiviä, ja joissakin tapauksissa voi kulua yli kahdeksan tuntia ennen kuin ajo edes alkaa. Näissä tapauksissa Allas-yhteys kannattaa avata komennolla:

allas-conf -k 
Yllä oleva komento tulee suorittaa siinä komentotulkki-istunnossa, jota aiot käyttää eräajon käynnistämiseen. Komennossa valinta -k tarkoittaa, että allas-conf-komentoa varten annettu salasana tallennetaan ympäristömuuttujaan $OS_PASSWORD. Kun tämä muuttuja on määritelty, salasanaa ei enää tarvitse määritellä, kun suoritat allas-conf-komennon uudelleen käyttäen -k-valintaa ja Allas-projektin nimeä. Voit määritellä projektin nimen joko suoraan:
allas-conf -k project_2012345
Tai käyttää muuttujaa $OS_PROJECT_NAME, joka asetettiin, kun yhteys avattiin ensimmäisen kerran:
allas-conf -k $OS_PROJECT_NAME
Yllä olevat kaksi komentoa muodostavat nyt Allas-yhteyden kahdeksaksi tunniksi ilman, että käyttäjältä kysytään mitään.

Huomaa, että jos kirjoitat salasanasi väärin käyttäessäsi -k-valintaa, sinun täytyy käyttää komentoa unset OS_PASSWORD-muuttujan nollaamiseen ennen kuin voit yrittää uudelleen:

unset OS_PASSWORD
Jotta automatisoitua yhteyden muodostamista voidaan käyttää eräajoissa, komentoon täytyy lisätä valinta -f, jotta ohitetaan tietyt sisäiset tarkistukset, jotka eivät ole yhteensopivia eräajojen kanssa. Lisäksi allas-conf on vain source-komennon alias, joka lukee Allaksen asetusskriptin allas_conf. Tämä aliaskomento ei ole käytettävissä eräajoissa, joten allas-conf-komennon sijaan täytyy käyttää komentoa:

Puhti:

source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME
Mahti:
source /appl/opt/csc-tools/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME

Kun siis olet avannut Allas-yhteyden komennoilla

module load allas
allas-conf -k
voit lisätä yllä mainitut source-komennot eräajoskriptiisi varmistaaksesi, että Allas-yhteys on voimassa silloin kun sitä tarvitaan.

  • a-komentoihin* (a-put, a-get, a-list, a-delete) tämä ominaisuus sisältyy jo valmiiksi, joten asetuskäskyjä ei tarvitse lisätä eräajoskriptiin, mutta sinun täytyy silti muistaa suorittaa allas-conf -k ennen ajon lähettämistä:
    module load allas
    allas-conf -k
    sbatch my_long_job.sh
    
    Missä my_long_job.sh voisi näyttää tältä:
#!/bin/bash
#SBATCH --job-name=my_allas_job
#SBATCH --account=project_2012345
#SBATCH --time=48:00:00
#SBATCH --mem-per-cpu=1G
#SBATCH --partition=small
#SBATCH --output=allas_output_%j.txt
#SBATCH --error=allas_errors_%j.txt

#download data
a-get 178-data-bucket/dataset34/data2.txt.zst

#do the analysis
my_analysis_command -in dataset34/data2.txt   -outdir results34

#upload results
a-put -b 178-data-bucket results34

Jos käytät rclonea tai swiftiä a-komentojen sijasta, sinun täytyy lisätä source-komennot skriptiisi. Tässä tapauksessa Puhtia varten eräajoskripti voisi näyttää tältä:

#!/bin/bash
#SBATCH --job-name=my_allas_job
#SBATCH --account=project_2012345
#SBATCH --time=48:00:00
#SBATCH --mem-per-cpu=1G
#SBATCH --partition=small
#SBATCH --output=allas_output_%j.txt
#SBATCH --error=allas_errors_%j.txt

#make sure connection to Allas is open
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME

#download input data
rclone copy allas:178-data-bucket/dataset34/data2.txt ./

#do the actual analysis
my_analysis_command -in dataset34/data2.txt   -outdir results34

#make sure connection to Allas is open
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME

#upload results to allas
rclone copyto results34 allas:178-data-bucket/
Mahdissa muista käyttää komentoa source /appl/opt/csc-tools/allas-cli-utils/allas_conf komennon source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf sijasta kaikissa kohdissa, joissa sinun täytyy varmistaa, että yhteys on avoinna.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta