Strumenti Utente

Strumenti Sito


roberto.alfieri:user:reti:netlab:hpc

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
roberto.alfieri:user:reti:netlab:hpc [Y/m/d H:i]
roberto.alfieri:user:reti:netlab:hpc [Y/m/d H:i] (versione attuale)
Linea 119: Linea 119:
   ​   ​
  
-===== Condor ​=====+===== HTCondor ​=====
  
 +Links: ​
 [[https://​research.cs.wisc.edu/​htcondor/​manual/​quickstart.html | HTcondor QuickStart Guide ]] [[https://​research.cs.wisc.edu/​htcondor/​manual/​quickstart.html | HTcondor QuickStart Guide ]]
 - -
 [[http://​research.cs.wisc.edu/​htcondor/​manual/​v7.6.2/​2_6Managing_Job.html | Managing Job ]] [[http://​research.cs.wisc.edu/​htcondor/​manual/​v7.6.2/​2_6Managing_Job.html | Managing Job ]]
 - -
-[[https://​research.cs.wisc.edu/​htcondor/​HTCondorWeek2015/​presentations/​KnoellerJ_New_Submit_Features.pdf ​ | New Subit Features ]]+[[https://​research.cs.wisc.edu/​htcondor/​HTCondorWeek2015/​presentations/​KnoellerJ_New_Submit_Features.pdf ​ | New Subit Features ​]] -  
 +[[https://​indico.scc.kit.edu/​event/​196/​contributions/​673/​attachments/​475/​744/​02_HTCondor_ALahiff.pdf | Introduction to HTCondor]]
  
 +==== Introduzione ====
 +
 +HTcondor è un software OpenSource per lo scheduling ​ di processi di calcolo distribuito High Throughput. ​
 +
 +Architettura: ​
 +  * Submit Machine: Schedd
 +  * Central Manager: Collector
 +  * Central Manager: Negotiator. Determina il match making tra machines e jobs 
 +    * sia i Job che le macchine ​ possono specificare requirements e preferences
 +    * quando il job trova una macchina lo schedd genera un processo shadow
 +  * Execute machines: startd ​
 +    * quando il job trova una macchina lo startd genera uno starter ​
 +
 +
 +Code:
 +  * HTCondor non ha code: il job specifica (requirements e preferences) cio' di cui ha bisogno
 +  * I job possono essere terminati se si supera il walltime limit
 +====ClassAd ====
 +
 +Sono liste di informazioni riguardo job, nodi di calcolo e demoni.
 +
 +Formato AttributeName = Value  oppure ​ AttributeName = Expression  ​
 +
 +[[ https://​research.cs.wisc.edu/​htcondor/​manual/​v7.6/​4_1Condor_s_ClassAd.html | ClassAd Mechanism ]]
 +
 +Tipologie di Informazioni: ​
 +
 +  * fatti (e.g. carico corrente, nome dell'​eseguibile del job, ecc)
 +  * Requirements (e.g. richiesto il sistema operativo Centos7, richiesto un nodo con 8 core, exx)
 +  * Preferenze (e.g. il job preferisce girare su una macchina del dipt di Fisica, ecc).
 +
 +** JOB ClassAd** I classAds vengono utilizzati per descrivere il job di submit. ​ Esempio: ​
 +   ​executable ​             = cpi2
 +   ​Arguments ​              = -n 100000
 +   ​output ​                 = $(executable).htc.o$(Cluster)
 +   ​error ​                  = $(executable).htc.e$(Cluster)
 +   ​log ​                    = $(executable).htc.log
 +
 +** Machine ClassAd ** I ClassAd vengono utilizzati per descrivere il worker node. Ad esempio: ​
 +<​code>​
 +MyType ​ = "​Machine"​
 +TargetType = "​Job"​
 +Machine = "​wn1"​
 +Arch = "​INTEL"​
 +OpSys  = "​LINUX"​
 +Disk    = 35882
 +..
 +Requirements = TARGER.Owner=="​smith" ​ || LoadAvg<​=03 && KeyboardIdle >15 * 60
 +</​code>​
 +
 +**Daemon ClassAd** (from a chedd)
 +<​code>​
 +JobExecFailed=0
 +TotalHeldJobs=0
 +..
 +</​code>​
 +
 +==== Comandi ====
  
   condor_status # stato delle risorse disponibili   condor_status # stato delle risorse disponibili
   condor_q ​     # stato dei job in coda   condor_q ​     # stato dei job in coda
 +  condor_q -analyze <​jobid> ​ # analizza jobid
   condor_submit <​submission-script-name> ​  # sottomette un job    condor_submit <​submission-script-name> ​  # sottomette un job 
   ​   ​
Linea 147: Linea 208:
 error                   = $(executable).htc.e$(Cluster) error                   = $(executable).htc.e$(Cluster)
 log                     = $(executable).htc.log log                     = $(executable).htc.log
 +
 +#esempi di requirements ​
 +request_cpus=2
 +request_memory=1000 ​               # 1 GB
 +requirements = Machine =?= "​wn4.fis.unipr.it" ​  # Run job on specific WN
 +periodic_remove = JobStatus == 2 && (CurrentTime- EnteredCurrentStatus > 24*60*60) # remove after 24 hours
 queue queue
 </​code>​ </​code>​
/var/www/html/dokuwiki/data/attic/roberto.alfieri/user/reti/netlab/hpc.1555495420.txt.gz · Ultima modifica: Y/m/d H:i da