Hyppää sisältöön

A new version of SD Connect and SD Desktop will be available from Monday, September 28. The major upgrade will introduce significant improvements, but also includes changes that are not compatible with the current version of the service. Click here to review the available support materials.

Warning!

Puhti and Mahti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti and Mahti login nodes and storage services are planned to remain available until 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Allaksen käyttö eräajoissa

S3-protokolla mahdollistaa Allaksen helpon käytön eräajoissa

Roihussa Allaksen oletusprotokolla on S3. Eräajoissa tämä on erittäin kätevää, sillä Roihussa komennolla allas-conf luodut S3-asetukset ovat pysyviä ja globaaleja. Tämä tarkoittaa, että kun olet kerran määrittänyt asetukset, voit käyttää komentoja kuten rclone, a-put tai a-get eräajoissa ilman, että allas-conf-komentoa tarvitsee enää suorittaa itse eräajossa.

Ainoa huomioitava asia S3-pohjaisissa yhteyksissä on, että jos määrität Allas-yhteyden uudelleen suorittamalla allas-conf-komennon uudestaan, se vaikuttaa kaikkiin prosesseihin, myös aiemmin lähetettyihin eräajoihin. Tämän vuoksi on turvallisinta käyttää rclone-komentoa projektikohtaisella päätepistenimellä eräajoissa. Katso lisätiedot kohdasta Roihun Allas-ohjeet.

Käytä vanhoja Swift-pohjaisia Allas-yhteyksiä vain tarvittaessa

Jos haluat käyttää Swift-pohjaisia Allas-yhteyksiä Roihun eräajoissa, noudata alla olevia ohjeita.

Roihussa Allaksen alustuskomento allas-conf --swift avaa Allas-yhteyden, joka on voimassa kahdeksan tuntia. Vuorovaikutteisessa 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, koska eräajon suoritus voi kestää useita päiviä, ja joissakin tapauksissa voi kulua yli kahdeksan tuntia ennen kuin ajo edes käynnistyy. Näissä tapauksissa Allas-yhteys kannattaa avata komennolla:

allas-conf --swift -k 
Yllä oleva komento tulee suorittaa siinä komentotulkkisessiossa, 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, sinun ei enää tarvitse antaa salasanaa, kun suoritat allas-conf-komennon uudelleen käyttäen -k-valintaa ja Allas-projektin nimeä. Voit määrittää projektin nimen joko eksplisiittisesti:
allas-conf --swift -k project_2012345
Tai käyttää muuttujaa $OS_PROJECT_NAME, joka asetettiin, kun yhteys avattiin ensimmäisen kerran:
allas-conf --swift -k $OS_PROJECT_NAME
Yllä olevat kaksi komentoa määrittävät nyt Allas-yhteyden kahdeksaksi tunniksi ilman käyttäjän kehotetta.

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

unset OS_PASSWORD
Jotta automatisoitua yhteyden muodostamista voidaan käyttää eräajoissa, komentoon on lisättävä 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 määritysskriptin allas_conf. Tämä aliaskomento ei ole käytettävissä eräajoissa, joten allas-conf-komennon sijaan on käytettävä komentoa:

source /appl/soft/manual/general/common/allas/allas-cli-utils/allas_conf --swift -f -k $OS_PROJECT_NAME

Kun siis olet avannut Allas-yhteyden komennoilla

module load allas
allas-conf --swift -k
voit lisätä yllä mainitun source-komennon eräajon skriptiin varmistaaksesi, että Allas-yhteys on voimassa tarvittaessa.

Tämä ominaisuus sisältyy a-komentoihin (a-put, a-get, a-list, a-delete), joten sinun ei tarvitse lisätä määrityskomentoja eräajon skriptiin, mutta sinun on silti muistettava suorittaa allas-conf --swift -k ennen ajon lähettämistä:

module load allas
allas-conf --swift -k
sbatch my_long_job.sh

Tällöin 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 --swift 178-data-bucket/dataset34/data2.txt.zst

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

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

Jos käytät rclonea tai swiftiä a-komentojen sijaan, sinun on lisättävä source-komento skriptiisi. Tässä tapauksessa Roihun 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/soft/manual/general/common/allas/allas-cli-utils/allas_conf --swift -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/soft/manual/general/common/allas/allas-cli-utils/allas_conf --swift -f -k $OS_PROJECT_NAME

#upload results to allas
rclone copyto results34 allas:178-data-bucket/

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta