Comandi di Globus Daniele D'Agostino

Pagina creata da Ginevra Granata
 
CONTINUA A LEGGERE
Comandi di Globus
Daniele D’Agostino

                           1
Globus Toolkit
Esistono varie versioni del Globus
Toolkit
  GT2.4 e GT3.2.1 sono le ultime

Verra’ trattato nello specifico GT2.4
  si basa su quattro moduli
   • Security
   • Resource Management
   • Information Service
   • Data Management

                                        2
Security
   Requisiti di sicurezza di una GRID
       Realizzare comunicazioni sicure (autenticate e spesso confidenziali)
       Non contrastare la politica locale di sicurezza
         • Data l’eterogeneità delle varie organizzazioni che fanno parte della GRID si vuole
           lasciare a esse la massima autonomia per quanto riguarda i sistemi per la
           sicurezza utilizzati al loro interno
       Single sign-on
         • Il singolo utente si deve autenticare alla GRID una ed una sola volta al momento
           del primo accesso
         • Delegation: si delegano tutte le richieste di autenticazione future ad un proxy
           agent

COME FA GLOBUS A RISPONDERE A QUESTI REQUISITI?
Global Security Infrastructure (GSI)
       Modulo relativo alla sicurezza, fornisce servizi agli altri tre
       Basato su crittografia a chiave pubblica, certificati X.509 e protocollo di
       comunicazione SSL
       Politica di sicurezza configurabile associando utenti Grid a utenti locali (gridmap-file)
       Creazione di proxy agent di durata limitata per ogni utente
                                                                                           3
Security
    (Certification Authority)
Per ottenere i certificati X.509 bisogna:
   Generare la richiesta di certificati per host, MDS e user:
    • grid-cert-request –ca     (selezianare uan CA dalla lista)
   Spedire la richiesta via e-mail alla CA scelta
   Una volta ricevuti i certificati copiarli in ~/.globus/ della macchina
   usata come client quelli utente, in /etc/grid-security quelli della
   macchina (da root)

Esiste la possibilita’ di creare una propria CA

L’autenticazione è delegata al proxy che risiede sulla
macchina. Per attivarlo:
    • grid-proxy-init

                                                                     4
Resource Management

Si occupa della gestione delle risorse ed
è composto da:
  GRAM (Globus Resource Allocation Manager)
   • È il componente di più basso livello del modulo
   • Permette di eseguire programmi su risorse remote
  DUROC
   • Co-allocatore di richieste (ad esempio processi paralleli)
  GASS
   • Accesso semplice a file remoti

                                                                  5
Resource Management
   (GRAM)

CLIENT
  Creazione proxy
  Job submit (linguaggio RSL-RSL2)
  Comandi:
   • Globusrun, Globus-job-run, Globus-job-submit
Esempio di comando unix “ls -la”
   • globusrun -o -r tulipano.ima.ge.cnr.it
     &(executable=/bin/ls)(arguments=la)’
   • globus-job-run tulipano.ima.ge.cnr.it /bin/ls –la
   • globus-job-submit tulipano.ima.ge.cnr.it /bin/ls –la

                                                            6
Resource Management
 (GRAM)

SERVER
 Gatekeeper
  • Processo demone con privilegi di root in attesa di
    richieste
      –   Mutua autenticazione con il proxy del client
      –   Mappa client in un utente locale (gridmap-file)
      –   Istanzia Job-manager con diritti utente locale
      –   Passa argomenti necessari per allocazione dei processi
 Job Manager
  • Avvia processi del job interfacciandosi con il sistema
    locale e comunica lo stato dei processi all’esterno
      – Parsing RSL
      – Interfacciamento con il sistema locale
      – Comunicazione diretta con il client per stato dei processi

                                                                     7
Resource Management
           (DUROC)
                                   +
  Co-allocatore di richieste       ( &(resourceManagerContact=“cluster.ima.ge.cnr.it")
     Si usa con il comando         (count=16)
     globusrun                     (jobtype=mpi)
                                   (label="subjob 0")
     La richiesta è fatta in
     RSL                           (environment=(GLOBUS_DUROC_SUBJOB_INDEX 0)
                                   (LD_LIBRARY_PATH /usr/local/globus/lib/))
     Scompone in
                                   (directory="/home/globus ")
     sottorichieste (Job
                                   (executable="/home/globus/mpi_test")
     Managers)
                                   )
     Si occupa di riassemblare     ( &(resourceManagerContact=“cluster.dibe.unige.it")
     il risultato.                 (count=9)
  Esempio script RSL               (jobtype=mpi)
      Lo script a fianco lancia    (label="subjob 1")
      un programma MPI con         (environment=(GLOBUS_DUROC_SUBJOB_INDEX 1)
      16+9 processi su due         (LD_LIBRARY_PATH /usr/local/globus/lib/))
      cluster                      (directory="/home/globus")
                                   (executable="/home/globus/mpi_test")
                                   )

Nota: per utilizzare MPI bisogna installare la versione Grid Enabled MPICH-G2
                                                                                         8
Resource Management
               (GASS)
    Permette di accedere a file remoti in maniera semplice
    Semplifica la scrittura delle richieste del job e velocizza l'esecuzione del
    programma. Esempio di comando:
globusrun -s -r tulipano.ima.ge.cnr.it

'&(executable=$(GLOBUSRUN_GASS_URL)/home/globus/sonar/cSVM)(arguments=sonar)

(file_stage_in=($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.txt $(HOME)/sonar.txt)

    ($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.svm $(HOME)/sonar.svm)

    ($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonarval.txt $(HOME)/sonarval.txt))

(file_stage_out=($(HOME)/sonar.aaa $(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.aaa)

    ($(HOME)/sonar.val    $(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.val))

(file_clean_up=/home/sp3/dibe/sonar.txt /home/sp3/dibe/sonarval.txt   /home/sp3/dibe/sonar.svm

    /home/sp3/dibe/sonar.aaa     /home/sp3/dibe/sonar.val)‘

                                                                                          9
Information Service
   (MDS)
E’ basato sullo standard x.509 e usa LDAP
Catena gerarchica di server LDAP

                                            10
Information Service
             (componenti principali)
   GRIS (grid resource information service)
        Database LDAP che risiede su ciascuna risorsa e provvede a raccogliere tutte le
        caratteristiche dinamiche e permanenti di una griglia.
   GIIS (grid index information service)
        mette assieme diversi GRIS offrendo una immagine coerente agli utenti e alle
        applicazioni grid. Per noi è tulipano.
   IP (information provider)
        Componente che risiede sulla risorsa e tiene traccia di un aspetto particolare di essa
        (memoria, CPU, ecc..); viene consultato da un GRIS per ottenere tali informazioni; puo’
        essere personalizzato, ne può essere creato uno nuovo…
La consultazione puo’ avvenire attraverso un semplice browser LDAP o attraverso il
   comando grid-info-search -x (-x = ricerca anonima, senza proxy)
Esempio: informazioni sul tipo e numero di processori, GRIS locale o GIIS:
grid-info-search –x Mds-Device-Group-name=processors
grid-info-search –x –h tulipano -b “Mds-Vo-Name=gema, o=Grid” Mds-Device-Group-name=processors
                                                                                          11
Data Management
   Esistono due applicativi fondamentali per la gestione dei dati
   GRID-FTP
        protocollo basato su FTP, con funzionalita’ aggiuntive
          • Trasferimento dei dati tra due host remoti
          • Canali di trasferimento multipli per trasferimenti paralleli
          • Trasferimenti parziali dei dati
          • Sicurezza sui canali di controllo e trasmissione dati
          • Autenticazione dei canali di trasmissione
        Il comando principale per la trasmissione dei dati e’ globus-url-copy
          • Ci sono 3 tipi di trasferimento possibili:
               – in/da locale: file://   in/da remoto: gsiftp://     in/da http: https://
globus-url-copy file://prova.txt gsiftp://tulipano.ima.ge.cnr.it/tmp/prova.txt
     REPLICA SERVICES
        Strumenti utilizzabili per mantenere cataloghi replicati di insiemi di dati
        Velocizzano l'accesso ai dati e sono utilizzati soprattutto su grid di grandi dimensioni
        Possono lavorare in cooperazione con GRID-FTP
                                                                                            12
Puoi anche leggere