Tutorial HTCondor - Gli 'universe' di sottomissione.

Una introduzione sistematica.

Francesco Prelz

INFN, sezione di Milano
Per conto del gruppo di lavoro Condor

Sommario

Vanilla Universe

Trasferimento File

Standard Universe

Limiti al checkpointing

  1. Non applicabile a job multi-processo, che usano le syscall fork(), exec() e system().
  2. Non è permessa la comunicazione interprocesso: pipes, semaphore, shared memory.
  3. Le comunicazioni di rete devono restare brevi. Si può usare socket(), ma le connessioni che rimangono aperte ritardano checkpoint e migrazione.
  4. Non è permesso utilizzare i segnali SIGUSR2 o SIGTSTP, che sono riservati a HTCondor per il controllo della sospensione e di checkpoint e migrazione dei job.
  5. Non si possono usare alarm e timer (alarm(), getitimer(), sleep()).
  6. Non si possono usare thread gestite dal kernel. Si possono usare a user level.
  7. Non è permesso l'accesso memory-mapped ai file (mmap(), munmap()).
  8. Gli eseguibili devono essere linkati staticamente (se ne occupa condor_compile).
  9. E' permesso utilizzare i file lock, che però vengono persi dopo un checkpoint.
  10. Tutti i file devono essere aperti in sola lettura o sola scrittura. Viene generato un warning on caso di apertura R/W perchè lo stato del file non può essere inq uel caso ricostruito se si torna ad un checkpoint precedente.
  11. L'accesso a file di dimensione >2GB è possibile solo se l'eseguibile e il condor_shadow della macchina di sottomissione sono entrambi a 64 bit.
  12. Deve essere disponibile sufficiente spazio disco per salvare le immagini di checkpoint (eventualmente su un checkpoint server esterno).

Local/Scheduler Universe

VM Universe (1)

VM Universe (2)

VM 'Inner machine'

'docker' Universe

Java Universe

Grid Universe (1)

Grid Universe (2)

Parallel Universe (1)

Parallel Universe (2)


E ora torniamo al lavoro...