Realizzazione di un cluster Condor su macchine virtuali



Documenti analoghi
System Center Virtual Machine Manager Library Management

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Il web server Apache Lezione n. 3. Introduzione

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

PORTALE CLIENTI Manuale utente

Registratori di Cassa

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

FPf per Windows 3.1. Guida all uso

Il tutor è a disposizione per ogni chiarimento

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Moduli di Fatturazione Elettronica

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

D R O P B O X COS È DROPBOX:

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Aggiornamenti Sistema Addendum per l utente

Virtualizzazione VirtualBox su Host Windows

Installazione di GFI Network Server Monitor

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

CONFIGURAZIONE E GESTIONE DEI DATABASE (rev. 1.1)

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta

Guida ai collegamenti

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Guida alla registrazione on-line di un DataLogger

NAL DI STAGING. Versione 1.0

Il calendario di Windows Vista

GateManager. 1 Indice. tecnico@gate-manager.it

Mac Application Manager 1.3 (SOLO PER TIGER)

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

1) GESTIONE DELLE POSTAZIONI REMOTE

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Manuale di Aggiornamento BOLLETTINO. Rel H2. DATALOG Soluzioni Integrate a 32 Bit

Aggiornamento programma da INTERNET

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Standard Nazionale di Comunicazione Mercato Gas

Indruduzione... 1 Il modulo Bluetooth HC Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Installazione di GFI WebMonitor

WINDOWS XP. Aprire la finestra che contiene tutte le connessioni di rete in uno dei seguenti modi:

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

System Center Virtual Machine Manager Self-Service Portal

A cura del Prof. Pasquale Vastola. Iscrizione alla piattaforma virtuale MOODLE FASE 1. 1) Accedere al seguente indirizzo internet :

Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

01/05/2013 Istruzioni per l installazione

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

Apache 2, PHP5, MySQL 5

PENSIONIS7 VERSIONE PA04 AGGIORNAMENTO REVISIONE SERVER SPA027F AGGIORNAMENTO REVISIONE CLIENT PA027F

Guida all installazione di Easy

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

Visual basic base Lezione 01. L'ambiente di sviluppo

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Ulteo OVD Open Virtual Desktop (Un Desktop Virtuale Open Source)

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Programma di configurazione di reti NetWare

VADEMECUM TECNICO. Per PC con sistema operativo Windows XP Windows Vista - Windows 7

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Guida informatica per l associazione #IDEA

Standard Nazionale di Comunicazione Mercato Gas

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

Guida all Utilizzo dell Applicazione Centralino

Istruzioni per compilazione e caricamento del programma svolto

Servizio di backup dei dati mediante sincronizzazione

Pubblicazione su Web usando Filezilla. Docente: Antonina Da-olo

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

Installare MDaemon su un cluster Microsoft

Multisentry ASE-V (v. 1.0) - Guida rapida all installazione

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Guida rapida all uso di Moodle per gli studenti

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows

CONFIGURARE SAMBA 3 SU SUSE LINUX 9.1/9.2

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

SendMedMalattia v Manuale d uso

Connettere due PC Windows 95/98/Me Rete Pannello di Controllo Client per Reti Microsoft

MANUALE PARCELLA FACILE PLUS INDICE

Creazione e installazione di un NAS utilizzando FreeNAS

LaCie Ethernet Disk mini Domande frequenti (FAQ)

IBM SPSS Statistics - Essentials for R - Istruzioni diinstallazione per Mac OS

Supporto On Line Allegato FAQ

Guida rapida alla prima installazione

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Applicazione JobScheduler su DB SQL Milano, lì 14/09/2009

Installazione del software Fiery per Windows e Macintosh

Tale attività non è descritta in questa dispensa

VMware. Gestione dello shutdown con UPS MetaSystem

Transcript:

Realizzazione di un cluster Condor su macchine virtuali Davide Petturiti Sistemi Operativi Avanzati Prof. Osvaldo Gervasi A.A. 2007/2008 Corso di Laurea Specialistica in Informatica Facoltà di Scienze Matematiche, Fisiche e Naturali Università degli Studi di Perugia

1 Introduzione Senza scendere eccessivamente nei dettagli, per i quali si rimanda alle dispense del docente [1], Condor è un sistema batch sviluppato dall Università del Wisconsin, che consente di implementare High Throughput Computing (HTC) clusters. Più precisamente, Condor si occupa della gestione del carico computazionale di jobs che richiedono grandi risorse di calcolo. Esso fornisce un meccanismo di coda per i jobs, consente la scelta della politica di scheduling e dello schema di priorità, inoltre, Condor permette la gestione ed il monitoraggio delle risorse. Semplicemente, gli utenti sottomettono i loro jobs paralleli o seriali a Condor, il quale li posiziona in coda, sceglie dove e quando eseguire i jobs basati su una certa politica, e controlla attentamente il loro avanzamento; in fine, Condor informa gli utenti del completamento dei jobs. Condor può essere usato per gestire sia un cluster di nodi dedicati (come un cluster Beowulf) che per sfruttare la potenza di calcolo non utilizzata nei momenti di idle di sistemi desktop. In questo ultimo caso, Condor può essere configurato per usare solo le workstations nelle quali sia il mouse che la tastiera sono in uno stato di quiescenza; nel momento in cui una macchina uscirà dallo stato di idle, Condor produrrà un checkpoint e migrerà il job su un altra macchina in idle. Il meccanismo del ClassAd costituisce una struttura molto flessibile con la quale coniugare le richieste di risorse (da parte dei jobs) con le offerte di risorse (da parte dei nodi): sia i jobs che i nodi sono in grado di esprimere le loro richieste e preferenze in termini di risorse. Condor (citando le parole del docente) è anche aperto alla grid, nel senso che la tecnologia flocking permette a più installazioni Condor di lavorare insieme. Inoltre, Condor racchiude in sé molti dei più recenti protocolli per Grid, come ad esempio Globus. Sottolineiamo in fine, come già premesso all inizio, che Condor è un software open-source sviluppato dal Condor Research Project, e disponibile per più piattaforme, assieme ad una dettagliata documentazione, al sito [2]. 2 Macchine Virtuali Come nella precedente esperienza per l implementazione di un cluster open- Mosix, anche in questo caso, è stato necessario affidarsi ad un software per la realizzazione di macchine virtuali, vista la non disponibilità di macchine reali su cui lavorare. Perciò, anche in questa seconda prova è stato utilizzato il software open- 1

source, innotek VirtualBox, disponibile (assieme ad una nutrita documentazione) al sito [3]. Nello specifico, sono state create due macchine virtuali sulle quali è stata installata la distribuzione Linux, debian 4.0 - etch, reperibile al sito [4]. Una delle due macchine è stata configurata come server (installando i demoni dei vari servizi di rete), mentre l altra è stata configurata come client. Chiaramente, le due macchine virtuali devono essere collegate in rete tra di loro, in modo da poter dialogare ; ciò è possibile impostando l interfaccia di rete virtuale di ciascuna macchina come Rete interna, tramite l apposito wizard di VirtualBox 1. A questo punto, si dovranno configurare le due interfaccie di rete a livello di kernel: per semplicità si è scelto di associare all interfaccia di rete del server, l indirizzo IP 192.168.1.1, mentre a quella del client, l indirizzo IP 192.168.1.2. 3 Installazione di Condor Premettiamo che, siccome lavoreremo in una sottodirectory della home e poichè Condor non richiede i privilegi di root, tutta la parte che segue sarà svolta da normale utente: nel caso specifico davide. L installazione di Condor ha inizio, ovviamente, scaricando l ultima release di Condor dal sito [2]. Sul sito sono disponibili diverse release per i diversi sistemi operativi supportati. Nel nostro caso, scaricheremo la release per debian 4.0, che si presenta come un file compresso.tar.gz. Al momento della scrittura di questo documento, la versione più recente di Condor è condor-6.8.8-linux-x86-debian40.tar.gz Una volta scaricato il file nella macchina virtuale, occorre, innanzitutto, copiarlo nella directory home (se non vi è già posizionato): nel caso particolare, esso verrà posto nella cartella /home/davide Il file scaricato deve essere decompresso, eseguendo il comando tar -zxvf condor-6.8.8-linux-x86-debian40.tar.gz 1 Sottolineiamo che, in ogni macchina virtuale, durante l installazione del sistema opereativo, l interfaccia di rete è stata impostata come NAT (sempre usando l apposito wizard di VirtualBox) in modo da usufruire della connessione ad Internet del computer host. 2

Ora, occorre creare una cartella condor in /home/davide dove riporre tutti i file relativi a Condor, eseguendo il comando mkdir /home/davide/condor Fatto ciò, ci si sposta nella cartella ottenuta dalla decompressione del file.tar.gz, con il comando cd /home/davide/condor-6.8.8-linux-x86-debian40 Una volta dentro alla cartella, si esegue lo script di installazione./condor configure --install=/home/davide/condor-6.8.8-linux-x86-debian40/release.tar --install-dir=/home/davide/condor --local-dir=/home/davide/condor Per semplificarci la vita nel lavorare con Condor, aggiungiamo in fondo al file /home/davide/.bashrc, i seguenti comandi per esportare le variabili d ambiente che interessano Condor export CONDOR CONFIG=/home/davide/condor/etc/condor config export PATH=$PATH:/home/davide/condor/sbin/ export PATH=$PATH:/home/davide/condor/bin/ export PATH=$PATH:/home/davide/condor/etc/examples/ Andiamo avanti modificando il file /etc/hosts nel modo seguente 127.0.0.1 localhost 192.168.1.1 condormaster 192.168.1.2 condorslave A questo punto, è necessario modificare il file con le impostazioni locali di condor, cioè /home/davide/condor/condor config.local. In esso, supponendo, di lavorare sulla macchina virtuale slave, aggiungiamo all inizio NETWORK INTERFACE=192.168.1.2 NETWORK HOST=condorslave CONDOR HOST=condormaster FULL HOSTNAME=condorslave 3

Sempre nello stesso file, occorre modificare il valore di alcune variabili come segue UID DOMAIN=$(FULL HOSTNAME) FILESYSTEM DOMAIN=$(FULL HOSTNAME) CONDOR IDS=1000.1000 DAEMON LIST=MASTER, SCHED, STARTD Come premesso, le modifiche apportate fin ora al file, riguardano la macchina slave; per quanto riguarda il master, il procedimento è del tutto analogo tranne che per la prima parte (in cui si devono usare il nome e l indirizzo IP del master) e per il valore della seguente variabile DAEMON LIST=MASTER, SCHED, STARTD, COLLECTOR, NEGOTIATOR Adesso, sarà necessario modificare il file con le impostazioni generali di condor, cioè /home/davide/condor/etc/condor config. Il file deve essere modificato allo stesso modo, sia sul master che sullo slave, come segue RELEASE DIR=/home/davide/condor UID DOMAIN=$(FULL HOSTNAME) FILESYSTEM DOMAIN=$(FULL HOSTNAME) COLLECTOR NAME=My Pool FLOCK FROM=* FLOCK TO=* HOSTALLOW READ=* HOSTALLOW WRITE=* L ultima operazione da fare è modificare il file che contiente gli script per l esecuzione di Condor, cioè /home/davide/condor/etc/examples/condor.boot, nel quale occorre cambiare il valore della seguente variabile MASTER=/home/davide/condor/sbin/condor master 4 Avvio di Condor Eseguita la configurazione, sarà possibile avviare Condor (sia sul master che sullo slave) con lo script condor.boot start 4

A questo punto, attendendo alcuni secondi per dar tempo ai vari demoni di partire, si potrà visualizzare lo stato di condor con il comando condor status La Figura 1 riporta il risultato a video dell esecuzione del comando prima citato quando sia il client che lo slave sono attivi e connessi. Figura 1: Esecuzione del comando condor status sul master L attività di Condor può essere cessata eseguendo lo script condor.boot stop 5 Esempio di sottomissione di jobs In questa sezione verrà mostrata, a titolo puramente esemplificativo, la sottomissione di due jobs in modo tale da vedere la loro distribuzione nei due nodi del nostro piccolo cluster. Anche se è indifferente in quale dei due nodi eseguire la sottomissione, supponiamo di lavorare sullo slave. Innanzitutto, creiamo un sorgente in linguaggio C che realizzi un loop infinito, come nel Listato 1. #include <s t d i o. h> Listato 1: Sorgente foo.c int main ( int argc, char argv ){ for ( ; ; ) p r i n t f ( Ciao \n ) ; return 1 ; } 5

Scritto questo banalissimo programma, compiliamolo con il comando gcc -o foo foo.c Adesso non ci rimane che creare il file di sottomissione, come quello riportato nel Listato 2. Listato 2: File di sottomissione foo.sub Executable=foo Universe=v a n i l l a output=foo. out e r r o r=foo. e r r Log=foo. l o g s h o u l d t r a n s f e r f i l e=yes w h e n t o t r a n s f e r o u t p u t=on EXIT Fatto ciò, si sottometterà il job con il comando condor submit foo.sub La Figura 2 riporta il risultato a video dell esecuzione del comando sopra riportato. Figura 2: Esecuzione del comando condor submit sullo slave Si può visualizzare a video lo stato della coda con il comando condor q Tale comando produrrà il risultato mostrato in Figura 3. Il flag R visibile in Figura 3, indica che il job è in esecuzione. Eseguendo adesso il comando condor status, si ottiene il risultato riportato in Figura 4. Per poter apprezzare la distribuzione dei job sui due nodi, occorre sottomettere un nuovo job: nel nostro caso eseguiremo nuovamente il comando condor submit con il file di sottomissione foo.sub. L esecuzione del comando condor q dopo aver sottomesso anche il secondo job, produrrà il risultato di Figura 5. 6

Figura 3: Esecuzione del comando condor q sullo slave Figura 4: Esecuzione del comando condor status sul master, dopo la sottomissione di un job Figura 5: Esecuzione del comando condor q sullo slave, dopo la sottomissione di due jobs 7

Come ultima cosa, l esecuzione del comando condor status ci permette di vedere la distribuzione dei due jobs sottomessi a Condor, in quanto entrambi i due nodi risultano busy, come appare in Figura 6. Figura 6: Esecuzione del comando condor status sullo slave, dopo la sottomissione di due jobs 8

Bibliografia e Sitografia [1] O. Gervasi, Dispense del corso di Sistemi Operativi Avanzati. Disponibili al sito http://ogervasi.unipg.it/sysopiii/. Contattare il docente alla mail osvaldo@unipg.it per le credenziali di accesso al sito. [2] Condor Research Project - Università del Wisconsin-Madison, sito ufficiale, http://www.cs.wisc.edu/condor/. [3] Innotek VirtualBox, sito ufficiale, http://www.virtualbox.org/. [4] Debian, sito ufficiale, http://www.debian.org/. 9