MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO"

Transcript

1 Università degli Studi di Ferrara FACOLTÀ DI INGEGNERIA Laurea specialistica in Ingegneria Informatica MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Tesi di laurea di: Dimitri Carrer Relatore: Prof. Gianluca Mazzini Anno Accademico 2008/09 Correlatore: Ing. Raffaele Rugin

2

3 Indice INTRODUZIONE... I 1 COSTRUZIONE DEL CLUSTER Tipologie di cluster esistenti Il cluster dell ateneo: high-performance diskless cluster IMPLEMENTAZIONE SOFTWARE DEL CLUSTER I comandi per utilizzare lo scheduler Integrazione del database all interno del sistema INTEGRAZIONE DI UNA POLITICA DI RISPARMIO ENERGETICO NEL CLUSTER DI CALCOLO Script di supporto al cluster Automazione di accensione e spegnimento degli host CONCLUSIONI...57 BIBLIOGRAFIA...1

4

5 Introduzione Questo lavoro è volto ad illustrare i vari aspetti del sistema cluster di calcolo presente nel dipartimento di ingegneria informatica che permette all'utenza di tutta l'università degli Studi di Ferrara di svolgere esperimenti, simulazioni ed eventualmente qualunque altra cosa renda necessario l'utilizzo delle risorse computazionali di uno o più calcolatori. Un cluster infatti si potrebbe infatti banalmente definire come insieme di computer che cooperano per far sì che processi computazionalmente onerosi detti job, che vengono loro assegnati, siano processati in tempi ragionevoli. In realtà definire un cluster come insieme di computer è riduttivo e non rende l'idea di cosa si stia realmente parlando. Senza affrontare in dettaglio argomenti squisitamente teorici questa tesi vuole innanzitutto analizzare quali siano le tecnologie più diffuse disponibili al momento. Verranno menzionate alcune tra le principali tecnologie, quali: High-Availability, Load Balancing, Compute Clusters, Grid Computing con relative peculiarità e ambiti di impiego. Verranno poi descritte in dettaglio le scelte tecniche e tecnologiche adottate nel cluster di calcolo dell'università degli studi di Ferrara, ovvero la creazione di un cluster senza dischi rigidi (dall'inglese Diskless), che rappresenta prima di tutto un'ottima risposta alle necessità del dipartimento ma è anche un modo innovativo di concepire il cluster. Di questa architettura verranno discussi i particolari accorgimenti per quanto riguarda sia la struttura della rete che per la gestione della singola macchina in sé, che si ritrova senza disco rigido e quindi senza sistema operativo installato su di essa. Da qui verranno illustrate le problematiche per rendere operativa la singola macchina all'interno della rete,

6 II PG. - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO gestite dal server principale. Tale scelta comporta, come si vedrà, anche dei vantaggi gestionali, vantaggi in termini di performance del cluster e anche dei vantaggi per quanto riguarda la sicurezza. Sarà inoltre presentata quella che è la parte software di gestione del cluster: lo Scheduler. Lo Scheduler non è altro che un framework software creato dal personale del dipartimento di ingegneria che si allaccia ad un database MySQL per permettere alla struttura cluster di gestire e monitorare tutti le simulazioni che vengono eseguiti dall'utenza. Conseguentemente all'utilizzo del database MySQL verrà gestita anche l'autenticazione dell'utenza, introducendo anche tutta una serie di tematiche relative al monitoraggio dell utenza stessa e alla sicurezza, sia in termini di privacy che di utilizzo delle risorse delle macchine impiegate per le simulazioni di ogni singolo utente. Lo scheduler è quindi anche il responsabile della gestione delle simulazioni: dallo scheduler nascono le simulazioni per poi esser assegnate dallo stesso ad una o più macchine, con diverse priorità e con un monitoraggio continuo del loro stato per rilevare eventuali simulazioni non portate a termine che, di conseguenza, occupano macchine e quindi risorse. Lo scheduler è quindi anche in grado di comunicare tramite con gli amministratori di sistema e l'utente stesso in presenza di problematiche legate alle simulazioni. Oltre a queste funzionalità vi è anche uno screening dello stato delle macchine utilizzate che effettua monitoraggio continuo dell'utilizzo della macchina e dello stato di stress della sua CPU. Questo avviene tramite la rilevazione della temperatura di lavoro in quanto parametro critico per il corretto funzionamento della macchina. Questo lavoro vuole essere sia un documento per raccogliere, informare e in parte dettagliare quanto creato in dipartimento: sia per l interesse e l importanza di certe scelte strutturali oltre che rappresentare un punto di partenza per ulteriori miglioramenti. Dopo l analisi verrà presentata un panoramica di quelli che sono i tool gestionali del cluster di calcolo e verrà proposto un miglioramento sul fronte del risparmio energetico a cui i tool sopra citati potranno essere asserviti. Dopo una panoramica atta a contestualizzare il tema del risparmio energetico all interno del cluster verrà presentato un algoritmo per attuare tale miglioramento. Tale algoritmo

7 INTRODUZIONE - PG. III verrà descritto e contestualizzato all interno del framework software già esistente per future implementazioni. Le discussioni e le proposte riguardanti il risparmio energetico, in inglese energy saving, sono estremamente attuali e in numero sempre crescente di campi e settori. In questo caso particolare è utile lavorare sul risparmio energetico non solo per il diretto vantaggio economico ma anche per una più accorta e ponderata gestione delle macchine utilizzate all interno del cluster. L idea di base è che le politiche di energy saving proposte possano intaccare solo in minima parte quella che è la disponibilità attuale data dalle macchine sempre online, questo in favore di una più oculata gestione delle risorse a disposizione quali energia elettrica e componentistica hardware soggetta ad usura. Un sistema diskless tra i suoi vantaggi annovera l assenza dei dischi rigidi con conseguente risparmio sul fronte energetico e in pezzi di ricambio, la politica di energy saving proposta in questo contesto si sposa quindi molto coerentemente e proficuamente con la natura stessa del cluster.

8

9 1 Costruzione del cluster Questo primo capitolo ha lo scopo di aprire una piccola finestra sul mondo dei cluster esistenti. Si parlerà delle principali tecnologie cluster-minded disponibili per dare un infarinatura su quelle che sono le possibilità e le necessità di realizzazione di un cluster. Per ogni tipologia di cluster verranno quindi descritti un impiego e una struttura specifici con alcuni esempi che si rifanno al mondo reale, questo per dare un idea più concreta di quanto trattato. Successivamente si inizierà a descrivere il cluster del dipartimento partendo dalle scelte fatte in campo hardware per poi proseguire con le scelte software e gestionali. In questo ambito verrà alla luce l idea del cluster diskless precedentemente formulata in modo introduttivo e verrà quindi illustrata la struttura hardware e software che supporta tale concezione del cluster. 1.1 Tipologie di cluster esistenti 1 Un cluster di computer è un gruppo di computer interconnessi che lavorano assieme quasi come a formare un singolo computer. I componenti di un cluster sono comunemente, ma non sempre, connessi l'uno con l'altro tramite reti LAN molto veloci. I cluster vengono utilizzati per avvalersi di un miglioramento della potenza di calcolo e di disponibilità di risorse rispetto ad un singolo computer. Tipicamente è preferibile aggregare più computer di modesta potenza o, per lo meno, modesta

10 2 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO rispetto ai computer high-end del momento, in un cluster per farli lavorare assieme piuttosto che utilizzare un unico super computer. Un esempio comune di dove questa strategia viene impiegata è Google. Google dispone di moltissime macchine "datate" per il proprio (o i propri) cluster piuttosto che un insieme relativamente ridotto di super computer. Questo comporta prima di tutto costi inferiori di creazione e manutenzione del cluster, con un altissimo throughput e un'enorme capacità di storage. Il fatto di utilizzare hardware un po' datato e quindi più economico rende anche più facile ed economico il rimpiazzo di eventuali componenti che si possono danneggiare. L'efficienza che ne deriva è sotto gli occhi di qualunque utilizzatore dell'ormai sconfinata serie di servizi messi a disposizione da Google, anche se basterebbe pensare che un utente di GMail ha per sé 8 GB di spazio in casella di posta elettronica. Questo, almeno sulla carta (e si spera anche in pratica), dovrebbe indicare che Google è in grado di mantenere per ogni utente una copia dei suoi 8 GB di casella di posta elettronica a fronte di guasti delle proprie macchine. La formula vincente in questo caso è quindi molte macchine "datate" piuttosto che poche nuove ed estremamente performanti. Attualmente le architetture di cluster più diffuse sono le seguenti: HIGH-AVAILABILITY (HA) CLUSTERS 2 - Gli High-Availability cluster, ovvero cluster ad alta disponibilità (anche conosciuti come Failover cluster), sono implementati principalmente con lo scopo di migliorare la disponibilità dei servizi forniti dal cluster. Operano con l'utilizzo di nodi ridondanti, i quali vengono successivamente usati per fornire un servizio qualora venga a mancare il funzionamento di un componente del sistema. La dimensione più comune per gli HA cluster è di due nodi che è anche il requisito minimo per fornire la ridondanza. L'implementazione degli HA cluster tenta di utilizzare la ridondanza dei componenti del cluster per eliminare i gusti su un singolo punto. LOAD-BALANCING CLUSTERS - Load-balancing significa bilanciamento di carico ed è ciò che si ottiene quando più computer sono collegati assieme con l'intento di condividere il carico di lavoro computazionale o per funzionare

11 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 3 virtualmente come un singolo computer. Dal lato utente questi cluster si presentano come insiemi di macchine ma il funzionamento rimane virtualmente quello di un'unica macchina. Le richieste fatte dall'utente sono gestite e distribuite tra i singoli computer per formare un cluster. Questo porta quindi ad un carico di lavoro computazionale ben distribuito tra le differenti macchine e ciò comporta un miglioramento delle performance del system cluster. COMPUTE CLUSTERS - Spesso i cluster sono principalmente usati a fini computazionali piuttosto che per lavorare su operazioni IO-oriented quali ad esempio database e servizi web. Per esempio un cluster potrebbe supportare le computazioni sulle simulazioni climatiche o sugli incidenti dei veicoli. La distinzione principale che si può fare all'interno dei compute cluster è quanto siano fortemente accoppiati i suoi nodi. Per esempio una singola istanza computazionale, un "compute job", può richiedere una comunicazione frequente tra i nodi, questo implica che il cluster condivida una rete dedicata, sia densamente localizzato e probabilmente abbia anche nodi omogenei. Ai cluster con questo tipo di design ci si riferisce di solito come cluster Beowulf. L'altro estremo si ha quando un compute job usa uno nodo o alcuni nodi e necessita di una piccola o addirittura assente comunicazione inter-nodo. Quest'ultima categoria è chiamata a volte Grid, da cui Grid Computing. I compute cluster strettamente accoppiati sono specificatamente progettati per una tipologia di lavoro a cui ci si riferisce tradizionalmente con l'appellativo di "supercomputing". Vengono impiegati la specifica MPI 3 e il tool PVM 4. MPI sta per Message Passing Interface ed è una specifica per un API che permette di comunicare a molti computer tra di loro. Viene per l appunto utilizzata dai computer cluster o dai super computer. E un protocollo di comunicazione linguaggio indipendente e viene utilizzato per programmare nel parallel computing. PVM è invece un tool che permette a reti eterogenee che contengono sia sistemi Linux che Windows di cooperare agendo come se fossero un singolo e distribuito processore parallelo. Il suo scopo è quello di aggregare risorse hardware quali memoria e potenza di calcolo per far fronte a problematiche che ne richiedono quantità ingenti.

12 4 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO GRID COMPUTING - Il Grid Computing, o l'utilizzo di Grid computazionali, è la combinazione di computer intesi come risorse che vanno dai domini amministrativi multipli applicati ad attività comuni, fino a problemi di natura scientifica, tecnica o in campo business che richiedono un grande numero di cicli di processamento dei computer o che richiedono di processare enormi quantità di dati. Una delle principali strategie di grid computing è l'utilizzo di software per dividere e attribuire pezzi di un programma a diversi computer, a volte fino a molte migliaia. Il grid computer è distribuito. E un computing cluster su larga scala, simile ad una forma di processamento parallelo distribuito su rete. La dimensione del grid computing può variare dall'essere piccola, ad esempio confinata ad una rete di workstation all'interno di un'azienda, o può essere grande, come una collaborazione incrociata tra molte aziende e/o reti. La nozione di grid confinato può anche esser nota come una cooperazione intra-nodo mentre ad una grid più grande ed estesa ci si può riferire come ad una cooperazione tra internodi. Questa collaborazione internodo attraverso organizzazioni collaborative cyber-based sono meglio note con il nome di Virtual Organizations. E' una forma di computing distribuito dove un "super computer virtuale" è composto da un cluster di computer debolmente accoppiati collegati in rete che agiscono assieme per affrontare attività molto onerose. Questa tecnologia è stata applicata a problemi computazionalmente molto onerosi in campi come la scienza, la matematica e le tematiche accademiche tramite il volunteer computing ed è utilizzata nelle compagnie commerciali per le più disparate applicazioni quali: drug discovery, economic forecasting, seismic analysis, e processamento di dati back-office a supporto dell' e-commerce e dei servizi web. Il cluster presente all interno del dipartimento di ingegneria è un cluster diskeless ad alte performance. Per capire cos è un cluster diskless vengono ora illustrate alcune tecnologie utilizzate per creare i cluster che serviranno come punto di partenza per capire gli strumenti più comuni che si hanno a disposizione e conseguentemente come è organizzato il cluster.

13 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 5 OpenMosix/Linux PMI OpenMosix 5, ora Linux PMI, non era altro che una patch per i kernel linux che permetteva di utilizzare più computer come se fosse un unico computer con n processori. Era dotato di SSI, single-system image ed era per esempio in grado di distribuire automaticamente il lavoro tra i nodi. Permetteva ai processi di migrare alle macchine all interno della rete dei nodi che fossero in grado di eseguirli più velocemente (migrazione dei processi). Risultava quindi particolarmente utile con il calcolo parallelo o con processi dove l I/O era intenso. Un esempio: l attuale Linux PMI permette, data una rete di computer (nodi) dove stanno lavorando degli utenti, di spostare il carico di lavoro gravoso di alcuni alle macchine che sono utilizzate in modo ridotto. Porta quindi il processo a compimento senza intaccare pesantemente le condizioni di lavoro dell utente che esegue qualcosa che impieghi molte risorse. Kerringhed Kerringhed 6 è un progetto di ricerca nato da zero nel Mira a fornire la visione di un cluster come una sola macchina SMP. È composto da un set di servizi distribuiti del kernel che si fanno carico della gestione globale delle risorse del cluster. Offre un processo scheduler globale, configurabile e anche dotato di policy hot-plug. La politica di scheduling di default prevede il bilanciamento dinamico del carico all interno del cluster tramite un processo di migrazione preenptive. In pratica quando c è un nodo che lavora meno (in sotto carico) il sistema rileva lo sbilanciamento ed esegue un trasferimento del carico di lavoro da un nodo sovraccarico a quello con più risorse disponibili. Il meccanismo di migrazione si basa su differenti meccanismi quali: ghosting, containers, migrable streams e un file system distribuito. Il ghosting viene utilizzato per estrarre le informazioni sullo stato dei processi e immagazzinarle su una periferica. Tale periferica può essere un disco (processo di checkpointing), una rete (migrazione di processo o creazione di processo remoto) o una memoria (memory checkpointing o duplicazione del processo).

14 6 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Il meccanismo dei container viene invece utilizzato per condividere i dati tra i nodi assicurando la coerenza dei dati stessi. Questo meccanismo viene utilizzato per implementare il memory sharing, cooperative file cache e anche il file system distribuito di Kerrighed, il KerFS. In fine il meccanismo di migrable streams viene adoperato per maneggiare efficientemente la migrazione dei processi comunicanti. I processi che fanno uso di pipe o di socket possono esser migrati senza che vi siano penalizzazioni sulle latenze o sulla banda dopo la migrazione. 1.2 Il cluster dell ateneo: high-performance diskless cluster Il cluster di calcolo del dipartimento 7 è un cluster ad alte performance di tipo diskless. Questi tipo di cluster sono molto impiegati sia in ambiti universitari e di ricerca sia nelle aziende 89. Con la creazione di un cluster dove i nodi di calcolo non presentano dischi rigidi si va incontro ad alcuni vantaggi quali: Eliminazione dei costi di amministrazione per l aggiornamento del software, backup e recovery dei dati Utilizzo dei dischi rigidi del server come risorse centralizzate accessibili da tutti i nodi della rete Risparmio economico derivato dal non acquisto dei dischi rigidi (che in caso di configurazioni RAID potrebbe diventare acquisto di più dischi per una singola macchina), da cui deriva un minor utilizzo di energia elettrica, e conseguentemente dal non mantenimento degli stessi, visto che tra i componenti di un computer più soggetti a guasti e quindi figurano tra le cause più frequenti degli interventi di sostituzione da parte degli addetti ai lavori. Naturalmente con un cluster di questo tipo sorge subito la problematica di mancanza di sistema operativo sui nodi vista la mancanza di un supporto di massa che lo

15 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 7 contenga. Bisognerà conseguentemente fornire un sistema operativo ad ogni macchina in modo centralizzato. In merito a questo è importante sottolineare come l avanzamento tecnologico, assieme con il relativo decadimento dei prezzi dei componenti hardware, giochi un ruolo importante fornendo ai giorni d oggi schede ethernet da 1 GBit/s a costi decisamente molto bassi. Questo è un particolare non da poco per un architettura di questo tipo dove, oltre alla mole di dati di un cluster, si deve pensare a macchine il cui sistema operativo è assente e va trasmesso tramite la rete. Per avviare un sistema operativo su una macchina indipendentemente dalla presenza o meno di un unità disco si hanno a disposizione PXE ed gpxe (conosciuto un tempo come Etherboot). PXE Preboot execution Environment PXE 10 sta per Preboot execution Environment,o pixie, ed è un ambiente che permette il boot dei computer da remoto tramite l utilizzo di una periferica di rete indipendentemente dalla disponibilità di periferiche di archiviazione di massa (tipo gli hard disk) o di sistemi operativi installati. PXE è stato introdotto come parte del Wired for Management framework di Intel e fa uso di molti protocolli di rete come: Internet Protocol (IP), User Datagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP) e Trivial File Transfer Protocol (TFTP). Si avvale inoltre di concetti come il Globally Unique Indentifier (GUID), Universally Unique Identifier (UUID), l Universal Network Device Interface ed estende il firmware del client PXE (il computer che sarà avviato tramite il boostrap via PXE) con un set di Applicaion Programming Interfaces (API) predefinite. Ogni macchina, sia essa un server, un desktop, un laptop, ecc, può essere un client PXE purché sia equipaggiata con il codice di boot PXE. Il firmware del client tenta di localizzare un servizio di ridirezionamento PXE (PXE redirection service) sulla rete (proxy DHCP) così da poter ricevere le informazioni circa la disponibilità di server PXE boot. Dopo aver ricevuto risposta, il firmware chiederà al boot server

16 8 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO appropriato il percorso del file per il Network Bootstrap Program (NBP), lo caricherà nella RAM del client tramite il protocollo TFTP, se possibile lo verifica e in fine lo eseguirà. L NBP avrà quindi accesso alle API del firmware. gpxe gpxe 11 è un progetto che costituisce l evoluzione di Etherboot ed è mantenuto dagli stessi fondatori di tale progetto. È ovviamente un altro bootloader e rappresenta una implementazione Open-Source di PXE nonché un diretto sostituto per le ROM proprietarie PXE ma con molte interessanti caratteristiche aggiuntive in più come ad esempio: DNS, http, iscsi, ecc. Un punto fondamentale della questione è come strutturare il rapporto tra server principale e nodi della rete. Usando il comune NFS - Network File System di Linux si incorre nella creazione un installazione diversa per ogni host all interno del server centrale. Questo accresce le difficoltà sul fronte dell update del sistema: si dovrebbe infatti pensare al fatto che essendoci un root memorizzato sul server per ogni host della rete occorre aggiornarli tutti uno ad uno. Inoltre, con root separati per ogni nodo, si può incorrere in diverse inconsistenze, quali file system non aggiornati, piccole differenze nei file di configurazione, differenti versioni del sistema operativo installato e altre questioni che pongono il mantenimento del sistema su un piano molto oneroso. E preferibile dunque uniformare le installazioni il più possibile. Per il cluster del dipartimento si è pensato ad una soluzione molto più comoda atta a ridurre il più possibile i dati duplicati creando così la possibilità di effettuare un singolo update comune a tutte le macchine e completandolo con piccole modifiche macchina per macchina. Gli addetti ai lavori si sono fatti carico della creazione di un framework custom, chiamato MyNFS, che permette appunto l update centralizzato di una sola unità, il server, e la modifica dei soli file essenziali per mantenere le configurazioni macchina per macchina. L idea base è appunto quella di dare alla macchina una unica copia del sistema operativo, tenendo solo file strettamente personali per l identificazione univoca della macchina all interno alla rete e

17 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 9 relative configurazioni e/o dati strettamente legati al sistema quali: configurazioni di rete, registro dei log, configurazione di server grafico, stampanti, ecc Gli addetti ai lavori che si sono occupati della creazione del cluster hanno affrontato la cosa identificando i file di sistema (ovviamente con riferimento al file system Linux) che devono essere obbligatoriamente usati come file di configurazione per ogni singola macchina: Informazioni statiche riguardanti il filesystem in /etc/fstab hostname del sistema in /etc/conf.d/hostname Indirizzo di rete ed informazioni riguardanti il routing in /etc/conf.d/net Directory temporanea /tmp Albero dei log di sistema /var/log demone di sistema e servizi che necessitano di essere avviati al livello di default durante il boot di sistema /etc/runlevels/default Flag e informazioni riguardanti i demoni avviati in /var/run Albero delle dipendenze per ordinare la sequenza del demone di startup in /var/lib/init.d Attività schedulate gestite dal demone cron in /var/spool/cron/crontabs Molti programmi seguono la convenzione per cui creano un lock file in /var/lock per indicare che stanno usando uno specifico file o una specifica periferica Listato dei filesystem montati in /etc/mtab I file temporanei che sono più grandi o durano più di quanto permesso nella directory /tmp vengono messi in /var/tmp In base all uso specifico del cluster ci sono anche altri elementi di interesse quali: /etc/x11/xorg.conf per il sistema grafico /etc/cups/client.conf ed /etc/cups/printers.conf per le stampanti File /etc/nswitch.conf per evitare che vi sia la necessità di autenticazione da parte di tutti gli utenti in cui si permetterà l autenticazione di soli due account: root e userexec

18 10 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO File necessario per la sincronizzazione dell host /etc/conf.d/ntpd e /etc/ntp.conf ClusterNFS: la soluzione server-sided ClusterNFS è una soluzione server-side. Le richieste che arrivano dai client NFS sono collegate all indirizzo IP del client stesso e un demone NFS modificato provvede a distribuire le diverse versioni dei file e delle directory sulla base dell indirizzo IP della macchina. Esempio tratto da ClusterNFS, assumendo che l IP del client sia , una richiesta del tipo /path/filename cerca un riscontro del file in formato: /path/filename$$ip= $$ /path/filename$$client$$ /path/filename Nel primo caso si ha un esempio di IP address matching, nel secondo viene identificato un client NFS mentre nel terzo il file standard in locale. L elemento selezionato viene spedito al client. L approccio tramite ClusterNFS fornisce un interessante soluzione al problema della costituzione di un cluster diskless ma soffre di alcune problematiche: ad esempio con l incremento dei client aumentano il numero dei file con lo stesso nome ma differente indirizzo IP. Questo genera due effetti a catena: La selezione dell elemento diventa più lenta perché il server è obbligato ad effettuare un numero elevato di comparazioni per trovare il client desiderato. Grandi quantità di file comportano una gestione più difficoltosa dei file stessi e del manutenzione del server. Gli elementi di proprietà dei singoli host sono distribuiti in directory differenti così che la creazione delle entry per un nuovo client diviene complessa e difficile da organizzare. Inoltre ClusterNFS non è disponibile per tutte le distribuzioni.

19 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 11 MyNFS: la soluzione client-sided La soluzione alternativa proposta va sotto il nome di MyNFS e si basa sulla creazione di una directory per ogni host; tale directory contiene solo gli elementi proprietari dello specifico host. Questa directory può venir nominata con l indirizzo IP dell host o con l hostname stesso. In questo modo tutti i file proprietari sono organizzati in maniera ordinata all interno di una specifica directory, evitando in questo modo la confusione che deriva dalla localizzazione diffusa per tutto il filesystem di questi file. L approccio proposto è quello di montare gli elementi proprietari sul client per mezzo di NFS prendendoli dal server. Questa soluzione include l utilizzo di due differenti livelli di mount di NFS: il primo è il mount di root e l altro riguarda la sovrapposizione specifica dei file. Da notare che la sovrapposizione del filesystem è una soluzione molto classica nel mondo Unix. I due livelli di NFS comportano l utilizzo di un doppio path verso il server che rende difficile la tracciabilità di possibili errori durante l esecuzione. Si è cercato quindi di ricorrere ad una soluzione a singolo path. Per fare questo si consideri che fin dall uscita di Linux è possibile eseguire il remount di parte della gerarchia del filesystem altrove utilizzando la chiamata: mount bind olddir newdir. Successivamente a questa chiama lo stesso contenuto sarà accessibile in due posti e sarà anche possibile eseguire il remount di un singolo file su un singolo file. Traendo vantaggio da questa caratteristica si possono specificare, su un file appropriato chiamato /mynfs/ip/mynfs, tutti i binding necessari per la specifica caratterizzazione di ogni singolo host tramite l IP. Il file specifica quali elementi debbano esser montati per lo specifico client invece dell elemento del server. Una caratteristica importante ed innovativa per questo tipo di approccio consiste nella fase di differenziazione che riguarda il comune mount di root rispetto alla fase di mount degli specifici file di ogni client. La parte root del filesystem è montata sui clients in modalità read-only, sola lettura, così da prevenire la modifica di tali file di sistema eccetto per quei file esplicitamente menzionati con il binding precedentemente menzionato, che saranno quindi montati in modalità read-write. Il vantaggio di questo tipo di struttura si ha durante la fase di update: in questo modo

20 12 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO l aggiornamento effettuato a livello server si rifletterà sui client con disponibilità immediata (l esportazione avviene tramite NFS). Durante la fase di startup il file /sbin/rc identifica l indirizzo IP dell host assegnato precedentemente tramite il servizio DHCP e forza tutti i binding descritti in /mynfsip/mynfs. Per fare questo, il file /sbin/rc deve esser modificato per eseguire i binding richiesti prima che un qualunque demone o servizio venga fatto partire o prima che ogni file venga scritto. Tali modifiche sono inserite prima del sistema di logging, e prima che il filesystem montato in locale e il filesystem per la gestione della rete siano partiti. Il codice per la modifica del file /sbin/rc: ipa= ip addr show dev eth0 grep inet head -n 1 awk {print $2} awk BEGIN{FS="/"}{print $1} if [[ -d /mynfs/$ipa ]]; then echo "cluster /mynfs directory mount" mount -t nfs : /mynfs /mynfs -o nolock,hard,rw,rsize=8192,wsize=8192 awk -vipa=$ipa if($1!="")system("mount --bind /mynfs/"ipa"/"$1 " " $2); /mynfs/$ipa/mynfs fi La prima linea ottiene l indirizzo IP dell host; la seconda linea serve da controllo per la presenza della directory /mynfs/up, le linee seguenti eseguono i bind descritti nel file /mynfs/ip/mynfs. L hardware che compone il cluster: lato server Per ottenere un High Performance cluster non si può ricorrere ad hardware eccessivamente datato e/o poco performante. Per il cluster del dipartimento si è scelto di utilizzare quanto segue. Per quanto riguarda il server si è usato un processore Intel Core 2 Quad Q6600 con frequenza di lavoro a 2.40GHz, 4GB di Ram e sei dischi SATA II da 750GB utilizzati come storage area in cui ogni disco è diviso in una system area, per il sistema operativo, e una storage area per immagazzinare dati. La partizione principale che contiene il sistema operativo è stata realizzata utilizzando un RAID 1 tra tutte le system area dei dischi per un totale di 74GB di spazio libero. Lo spazio rimanente di 2.4 TB è configurato in RAID 6 come storage area per le cartelle /home degli utenti.

21 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 13 Tre schede di rete Gigabit Ethernet ciascuna connettono il server alla lan interna ed esterna. Figura 1 Server del cluster

22 14 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Figura 2 Console di comando e switch di rete e lato client I client sono equipaggiati con processori Intel Core 2 Duo E6550 con frequenza di lavoro pari a 2.33GHz, 4GB di Ram e due schede Gigabit Ethernet entrambe compatibili e dotate di PXE Booting.

23 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 15 Figura 3 Vista dei client

24 16 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Figura 4 Vista alternativa dei client

25 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 17 Figura 5 Vista dal basso dei client con collegamenti di rete La dotazione di una doppia scheda di rete permette un ulteriore accorgimento tecnico che è stato impiegato per la realizzazione del cluster: la separazione della rete di comunicazione da quella dei dati. Le due reti infatti sono: * per quanto riguarda lo scambio dati relativi al filesystem (tramite NFS) * per quanto riguarda la comunicazione e la sincronizzazione dei processi Per motivi di sicurezza l utente esterno che si collega al cluster ha accesso solo al server. Una alternativa al software scelto ed implementato in dipartimento potrebbe essere quella suggerita in [ 12 ].

26 18 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO In questo articolo si ha una visione alternativa degli strumenti che si possono utilizzare. Come è possibile vedere in [4] e [5] le implementazioni più comuni di un cluster diskless si avvalgono della combinazione dei tool e dei programmi come PXE e gpxe menzionati in precedenza (in quanto impiegati per il cluster di calcolo del dipartimento) in varie combinazioni. L articolo propone l utilizzo di linux Debian con due tool: DRBL e N1 Grid Engine di Sun 6. DRBL (Diskless Remote Boot in Linux) DRBL 13 è un software Open-Source che si occupa della distribuzione del sistema operativo Linux a più client utilizzando un macchina master che effettui la distribuzione come nel caso del cluster di calcolo del dipartimento. DRBL non è altro che un pacchetto che si occupa di far lavorare assieme i tool più diffusi per il booting delle macchine senza disco tramite una rete, usando PXE, NIC e naturalmente NFS. Per come è strutturato impedisce l interferenza tra il sistema operativo che eventualmente può risiedere già in un client con quello che gli verrà caricato dal server tramite la rete. Una caratteristica interessante di DRBL è la possibilità di sfruttare eventuali dischi presenti sui client per una partizione di swap Linux, anche se il concetto di cluster diskless nasce prevalentemente per non utilizzare componenti come il disco rigido che sono tra i più soggetti a guasti. DRBL mette a disposizione inoltre un ambiente di boot centralizzato. Questo permette all amministratore di sistema più controllo sulle configurazioni software individuali di ogni client.

27 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 19 Figura 6 DRBL: schermata per lo switching della modalità di boot dei client

28 20 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Figura 7 DRBL: l menu di boot in un client Grid Engine by Sun Sun Grid Engine (SGE 14 ) è un progetto Open-Source con cui Sun ha realizzato un sistema di tipo GRID. Questo sistema è anche detto batch queuing system o job scheduler ovvero è in grado di distribuire i processi nei computer cluster. Viene tipicamente utilizzato nelle computer farm o in ambiti di high-performance computing cluster e si occupa di tutti gli aspetti di gestione di grandi quantità di job, siano essi in parallelo o stand-alone, quali accettazione, scheduling, e dispatching. E anche in grado di gestire e schedulare l allocazioni di risorse quali processore, memoria, spazio su disco e licenze software. Le principali caratteristiche di SGE sono: Algoritmo di scheduling avanzato Gestione dei cluster Gestione della ridondanza Gestione di job in gruppi DRMAA (Job API) Prenotazione di risorse

29 CAPITOLO 1 - COSTRUZIONE DEL CLUSTER PG 21 Gestione e statistiche dei processi, dei lavori e degli utenti Sono inoltre disponibili diversi programmi aggiuntivi quali: Portale per la gestione del motore Grid Trasferimento delle code di lavoro tramite globus (TOG) Gestione dei lavori gerarchica (JOSH) SGE distingue gli host in 4 categorie: Submit Hosts, computer da cui possono essere inviati i processi; Execution Hosts, che costituiscono i nodi computativi; Administration Hosts, che gestiscono i privilegi e le utenze; Queue Hosts, che gestiscono le code dei processi. Tipicamente i ruoli amministrativi e di gestione delle code sono centralizzati su un unico elaboratore dotato di due interfacce ethernet, la prima connessa alla rete (tipicamente giga ethernet) dei nodi computativi e la seconda sulla Lan su cui sono connessi gli elaboratori che inoltrano i processi (submit hosts).

30

31 2 Implementazione software del cluster Tutto il sistema hardware finora illustrato viene gestito tramite sistema operativo Linux e un filesystem di rete creato nel dipartimento di ingegneria come soluzione innovativa che consiste nel trasferimento del sistema operativo sulle macchine senza dischi. Per far sì che tutto questo sia messo a disposizione dell utente che necessita di utilizzare il cluster per lanciare le simulazioni è stato creato un framework software: lo scheduler. Qui di seguito si vedranno i file che compongono questo framework e i comandi principali per poterlo utilizzare. Si andranno a toccare alcuni aspetti della politica di gestione del cluster e si vedranno le interazioni con il database sia per l autenticazione degli utenti che per la gestione dei processi sul cluster. Verrà fornita inoltre anche una panoramica delle tabelle del database che vengono impiegate per la gestione del cluster. 2.1 I comandi per utilizzare lo scheduler L accesso al cluster del dipartimento per motivi di sicurezza è effettuabile solo dalla rete del dipartimento; alternativamente è possibile utilizzare una VPN per l accesso da remoto. L autenticazione dell utenza avviene tramite un server LDAP che

32 24 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO permette all utenza di utilizzare i dati già presenti nel sistema informatico dell ateneo che lo riguardano. Una volta effettuato il login dalla riga di comando della shell linux appare una schermata con un piccola guida: Figura 8 - Login al cluster di calcolo da riga di comando. A login effettuato si hanno si hanno a disposizione i seguenti comandi per interagire con il cluster: GMSUB: avvio simulazione GMSTAT: verifica dello stato di una simulazione GMDEL: comando per amministratori di sistema che permette di cancellare una simulazione di un qualsiasi utente

33 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 25 GMUSERDEL: comando a disposizione dell utente per cancellare le proprie simulazioni LEGGI-STATO: lettura delle informazioni che verranno poi mostrate sull interfaccia web STATO: contiene lo stato delle macchine a ciclo completato QHOST: indica il numero di macchine disponibili. I numeri che vengono mostrati indicano appunto la quantità di macchine disponibili e il numero finale della macchina indica il numero finale dell indirizzo IP della macchina MHOST: serve per riservare o escludere delle macchine dalle per le simulazioni. Lo scheduler non userà tali macchine ma comunque effettuerà su di loro una verifica. GMSUB È il comando principale con cui l utente che ha effettuato il login al cluster può far partire le simulazioni. L utente deve eseguire gmsub seguito dal file descrittore di simulazione, gmsub restituirà successivamente l identificativo (ID) della simulazione. Il file che descrive la simulazione deve aver la struttura seguente per essere valido deve: Iniziare con <start> e finire con <end> Contenere il campo < > seguito dall del proprietario della simulazione Indicare, tramite il tag <timeout>, il tempo massimo previsto dall utente per arrivare alla fine della segnalazione. Il sistema è inoltre strutturato in modo tale da permettere alla simulazione in esecuzione di essere considerata valida per le successive 24 ore segnalando però tramite che il tempo di timeout è stato superato. Successivamente, qualora non terminasse la simulazione, essa verrà cancellata assieme ai processi per non sprecare risorse visto che probabilmente la simulazione non sarà andata buon termine. Contenere solo se strettamente necessario un campo <single> che impone al sistema di eseguire la simulazione su una macchina che le viene appositamente riservata.

34 26 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Può contenere una serie di comandi, uno per riga e uno per ciascuna macchina, che verranno eseguiti contemporaneamente. Il tag che li contraddistingue è il campo <run> seguito dal path dell eseguibile che si intende lanciare. Un esempio di descrittore del file, tratto dal manuale del cluster 15, è il seguente: <start> <run> 1./eseguibile <run> 3./eseguibile2 20 <run> 4./eseguibile2 30 <run> 2./eseguibile3 < > <timeout> 120 <end> Scendendo un po più in dettaglio, il file gmsub è strutturato come segue. Esegue un controllo sull utente, che non deve essere root, e tiene conto del nome utente così da poterlo successivamente associare a livello di database al processo che ha creato. Vi è un controllo su tutta la sintassi precedentemente discussa allo scopo di processare, come appena detto, file ben strutturati e ordinati. Un controllo ulteriore viene fatto a livello di parametri immessi dall utente, quali , tempo di timeout, priorità, ecc, qualora non fossero opportuni vengono sostituiti con parametri di default (ad esempio c è un limite superiore massimo alla durata della simulazione impostabile dall utente). Successivamente, con i dati ricavati fin a quel punto, vi è l accesso al database cluster e l inserimento della simulazione creata dall utente con tutti i dati relativi: ID del processo, job, nome utente, , timeout, priorità, ecc. L ID del processo inserito nel database corrisponde all ID creato tramite un algoritmo MD5: tale ID viene restituito alla fine dell esecuzione di gmsub come identificativo della simulazione. GMSTAT Questo comando serve semplicemente per verificare lo stato della simulazione. Molto banalmente viene lanciato da riga di comando seguito dal ID del simulazione di cui si vuole controllare lo stato e, dopo un accesso al database cluster ove andrà

35 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 27 a leggere ogni dettaglio della simulazione specificata, restituirà tutti i dati contenuti nella tabella. In particolare vengono mostrati stato e tempi di immissione nel sistema, di inizio e di fine della simulazione per controllare se una simulazione è in coda, se è attiva o se è terminata. GMDEL e GMUSERDEL Sono due comandi che permettono la cancellazione di una simulazione. Il primo, GMDEL, effettua l accesso come root al database e deve andare a localizzare il processo da uccidere nella macchina corrispondente. Una volta trovato lo termina e deve semplicemente aggiornare le informazioni nel database andando a settare la simulazione come terminata. L altro comando invece è eseguibile a livello di utente e setta semplicemente a un valore negativo il timeout in modo da far sì che lo scheduler, in automatico, rimuova la simulazione. LEGGI STATO e STATO Non è altro che un piccolo script che va ad interrogare i sensori di temperatura dei processori, uptime della macchina e percentuale di utilizzo dei singoli core. Serve come screening delle macchine e come base per poter creare una comoda interfaccia web che possa dare visione facile, veloce ed immediata di questi parametri all amministratore di sistema. Stato è più semplicemente un file paragonabile un log in quanto contiene tutte le informazioni relative alle condizioni di lavoro delle macchine. Fornisce l orario in cui le rilevazioni vengono effettuate e memorizza le informazioni macchina per macchina con la seguente successione: Stato. Può avere tre valori: ok, chk e ko. Con OK la macchina è da considerarsi funzionante, con CHK sono indicate le macchine accese da NON utilizzare presenti nel file MHOST e con KO viene indicata la macchina spenta Indirizzo IP della macchina Temperatura in gradi Celsius uptime, ovvero da quanto tempo la macchina è in funzione

36 28 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Il file si chiude con l orario in cui viene terminata questa procedura di scrittura del log. Ecco come si presentano strutturalmente le entry contenute nel file stato: S_T, :30:01 (CEST) OK, ,100,+58 C,12 days OK, ,100,+58 C,12 days OK, ,80,+48 C,12 days OK, ,100,+57 C,12 days OK, ,16,+42 C,12 days OK, ,50,+49 C,12 days KO, ,0,0,0 QHOST e MHOST Sono rispettivamente le liste di macchine disponibili e le macchine riservate (o non utilizzabili). I file si presentano come semplici elenchi numerati dove una riga contiene un solo numero identificativo della macchina e corrispondente all ultima cifra dell indirizzo IP che, come visto in precedenza, serve proprio a localizzare la macchina all interno della rete. GMSCHED.PHP E il file che gestisce quelli appena citati e si occupa della gestione del sistema effettuando controlli sulle macchine, sui processi, sulle risorse e fornendo un adeguato feedback/debug agli utenti e all amministratore di sistema. Gestisce inoltre gli utilizzi delle singole macchine che a volte richiedono un uso esclusivo da parte di una simulazione per permetterne l esecuzione con la massima efficienza senza processi terzi in parallelo. Il file si compone di una prima sezione dove viene definito un sistema di segnalazione e rilevazione degli errori personalizzato. Vengono definite varie tipologie di errore e viene creato un sistema che permette di tener traccia degli errori desiderati e, al verificarsi di tali errori, un salvataggio su un errorlog e conseguente comunicazione via mail agli amministratore di quelli più critici. Successivamente vengono fatti dei controlli sull esecuzione dello scheduler, questo per vedere se c è un processo di scheduling precedente ancora in funzione sulla macchina. A controllo effettuato vi è una scansione degli host disponibili all interno del cluster e lo stato relativo. Se ci sono host riservati per manutenzione o altro essi

37 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 29 vengono segnati come in manutenzione e quindi non posso essere utilizzati dallo scheduler. Successivamente si vanno a creare degli array contenenti alcune importanti informazioni riguardanti al cluster, questo per ottenere un panorama sullo stato del sistema: Viene analizzato il carico effettivo di tutte le macchine Un vettore viene utilizzato per tenere in memoria tutte quelle macchine che sono state riservate per l utilizzo in modalità single, ovvero con un solo processo per macchina Vengono prelevate le informazioni dal database per tener traccia dei processi che stanno girando e la relativa macchina su cui sono in esecuzione. Da notare che è un dato teorico in quanto è basato solo sul database. Un altro array viene creato per lo screening dei processi che hanno un carico di CPU sopra la soglia e relativa macchina su cui sono in funzione Si usa un vettore per contenere i dati statistici di funzionamento del cluster Infine vengono scritte la data e l ora corrente all inizio del file di stato Il flag single di cui si è parlato è stato introdotto per escludere dallo scheduling le macchine che l utente vuole utilizzare in modo esclusivo per far fronte ad un eccessiva occupazione di memoria da parte del processo. Avere una o più simulazioni sulla stessa macchina con ingenti richieste di memoria assieme ad altre simulazioni pregiudica il funzionamento della macchina stessa. Segue quindi una procedura all interno del file per la ricerca e la prenotazione della macchina come risorsa esclusiva, ove vengono prese in considerazione tutte le macchine che risultano al momento disponibili e non segnate già riservate per un utilizzo esclusivo. Successivamente è presente una sezione per la scansione degli host alla caccia dei processi che sono ancora in esecuzione. Dopo la creazione di alcune statistiche a riguardo vengono appunto letti dalle macchine i processi in esecuzione e vi è un controllo sulle macchine che eventualmente risultino non funzionanti. Tali macchine, qualora siano presenti, verranno eliminate e a loro verrà assegnato un valore fittizio

38 30 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO di carico molto elevato perché possano essere riconoscibili e non prese più in considerazione. Viene poi aggiornato sul file di stato il non funzionamento della macchina. Qualora invece le macchine risultino funzionanti avviene comunque una raccolta di statistiche e in più risulta d interesse venire a conoscenza di alcuni parametri fondamentali: carico della cpu uptime della macchina temperatura corrente della cpu Tali parametri vengono riportati sul file di stato assieme all indirizzo IP che identifica la macchina in rete. Se la macchina è segnata come in manutenzione non verrà usata per nuove simulazioni. Successivamente occorre analizzare il carico effettivo della macchina che avviene dando uno sguardo più approfondito ai processi. Occorre eseguire anche un controllo incrociato tra i PID processi attivi con quelli che non sono effettivamente attivi. Per fare questo occorre effettuare il controllo incrociato tra i processi veramente attivi e quelli risultano attivi all interno dei record de database. Vi è quindi un confronto tra i process ID e il PID per ottenere un riscontro riguardante la consistenza dei dati memorizzati nel database al quale seguirà verrà successivamente effettuato un opportuno aggiornamento. Vi è poi una valutazione di quelle che sono le macchine disponibili con una distinzioni tra macchine con due core completamente disponibili e quelle con un singolo core disponibile. Se la macchina è segnalata come in manutenzione o è libera da processi che utilizzino la cpu o, ancora, se sul database non ho processi segnati come in esecuzione sulla macchina allora è da considerarsi completamente libera. Un secondo controllo indica invece se è possibile mandare in esecuzione un secondo processo sulla macchina in questione. Tale controllo avviene verificando che: la macchina abbia un solo processo che sta utilizzando la cpu sopra la soglia, vi siano

39 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 31 uno o zero processi allocati attivi, la macchina non sia in manutenzione e infine che la macchina non sia stata assegnata a qualcuno per l utilizzo in esclusiva. Alla fine di tutto questo le statistiche verranno finalmente memorizzate in un log di uscita: scrittura nel file di stato di data e ora corrente nella penultima riga scrittura del carico totale nell ultima riga I processi che vengono immessi nel cluster, come verrà naturale dedurre, non saranno immediatamente assegnati ad una macchina ed eseguiti. Qualora non possano essere assegnati ad un host nell immediato essi vengono messi in attesa. Viene presentata brevemente quella che è la sezione del file gmsched.php ove viene valutato il prossimo processo da eseguire. Viene preliminarmente identificato l insieme di simulazioni con priorità pari a quella massima, dopo di che si passa alla selezione delle simulazioni che vengono segnate come single e quindi vanno eseguite in modo esclusivo su una macchina. Qualora non ci fossero macchine completamente libere per la simulazione in esame lo scheduler verrà bloccato fino a che una macchina non sarà disponibile per tale simulazione. Successivamente vengono passate in rassegna le macchine per vedere se è possibile assegnare job ad una macchina che sta già facendosi carico di altri processi. Infine avviene l assegnamento del job. La sezione successiva del file si occupa di far partire i job. Qualora il job parta viene comunicato all utente l inizio della sua simulazione vengono restituiti due importanti parametri a chi sta utilizzando il cluster: l ID della simulazione e una password. L ID è per identificare in modo univoco la propria simulazione all interno del cluster mentre la password permette, tramite l interfaccia web il cui indirizzo viene fornito assieme all id e alla password, di terminare la propria simulazione. Nella pagina web infatti sono presenti i dati di tutti e quindi la password rende impossibile la manomissione delle simulazioni da parte di terzi.

40 32 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Conseguentemente nel file è presente una sezione ove avviene la rimozione di una simulazione qualora il timeout sia inferiore al valore 0, ciò implica che è stato l utente a decidere di terminare la simulazione e lo scheduler esegue restituendo un opportuno messaggio di esecuzione della richiesta all utente. In fine vi è la sezione di update dello stato dei processi ove è presente anche un meccanismo di interazione con l utente per la segnalazione tramite indirizzo dell esito sia delle simulazioni che sono arrivate alla fine sia di quelle che non sono andate in porto oltre al tempo massimo. Ricordando quanto detto prima la politica del cluster prevede che vi sia un primo controllo, con relativa comunicazione tramite , sul timeout della simulazione. Questo funge da messaggi di allerta per l utente che comunque avrà a disposizione ulteriori 24 ore perché la simulazione termini. Interfaccia web Per l utenza del cluster è disponibile una interfaccia web che mette a disposizione di utenti e amministratori una visione completa dello stato attuale del cluster. Questa fotografia sullo stato del cluster mostra i valori di occupazione di CPU e le simulazioni correnti in esecuzione con il riferimento agli utenti che le stanno eseguendo. E quindi di facile comprensione lo stato globale del cluster a livello di carico complessivo delle macchine ma non solo: per gli utenti vi è la possibilità di cancellare una simulazione tramite la password che viene fornita quando le simulazioni vengono lanciate. Questo meccanismo permette di proteggere le simulazioni dando la possibilità di interromperle solo all utente proprietario della simulazione evitando così che chi fa uso dell interfaccia web possa influenzare il lavoro di altri.

41 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 33 Figura 9 - Screenshot dell interfaccia web che serve a monitorare il cluster Come si può notare sono esplicitamente indicati il numero di job di ogni simulazione, la tipologia dell utenza, il nome utente e l ID della simulazione generato come visto in precedenza tramite l algoritmo MD5. Vi sono inoltre indicazioni sullo stato, la data in cui la simulazione viene lanciata e relativo timeout massimo stimato per la fine della simulazione. Ultimo, ma non meno importante, viene rappresentato quello che è il momento di partenza effettivo della simulazione che può anche indicare se la simulazione è in attesa di risorse disponibili. Sulla colonna di sinistra è possibile scorrere velocemente la lista delle macchine del cluster per monitorarne lo stato tramite: Uptime, ovvero da quanto tempo la macchina è accesa

42 34 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Temperatura, che sta ad indicare la temperatura del microprocessore, utile per tenere controllare lo stress a cui vengono sottoposte le macchine. Al di là del comune surriscaldamento del microprocessore in situazioni di calcolo particolarmente oneroso, è utile per monitorare che le temperature siano entro la norma o se le macchine richiedano manutenzione. Il fenomeno più semplice e comune a cui far riferimento è l inevitabile accumulo di polvere all interno dei casi che va a minare le capacità dissipative dei dissipatori dei micro processori. Carico del microprocessore. Da notare che le simulazioni vengono assegnate ai singoli core delle macchine e che quindi un valore di 50, stante ad indicare il 50% di carico della cpu, indica che solo uno dei due core sta funzionando a pieno regime. Statistiche sull utilizzo del cluster All interno della directory che contiene i file che compongono lo scheduler è presente un file di log chiamato error.log. Questo file contiene: Errori incontrati dallo scheduler per lanciare le simulazioni, come ad esempio una macchina non disponibile ID della simulazione che viene avviata con relativo timestamp ID della simulazione che viene terminata con relativo timestamp stato di carico, indicati in percentuale, del cluster con annesse data e ora. Lo scheduler restituisce tale informazione ogni due minuti Tramite l utilizzo di un semplice script in bash Linux è possibile prelevare da questo file lo stato di carico del cluster giorno per giorno. Con questi dati è stato creato un grafico che permette di vedere l andamento del cluster in un arco temporale di circa un mese e mezzo.

43 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG 35 Figura 10 - Grafico del carico computazionale del de cluster all interno Le colonne che compongono questo istogramma sono caratterizzate da più altezze perché, ciclando ogni due minuti, lo scheduler fornisce molte statistiche giornaliere. Il numero di tali statistiche è molto elevato perciò il programma impiegato per costruire il grafico si rifiuta di accettare tutti i valori giornalieri forniti nell error log. In ogni caso questo grafico va considerato come insieme di campioni. Conoscendo la componentistica hardware dei client è utile approfondire le tematiche legate all uptime e al consumo energetico. Una stima approssimativa su quanta potenza richieda una macchina è effettuabile ad esempio con un tool 16 che dispone di un database con le informazioni sulla maggior parte dei componenti hardware impiegati dai personal computer. Inserendovi i dati riguardanti le macchine client è stato possibile calcolare un consumo in watt approssimativo. Si suppone che questo, quando lavori, abbia la CPU che lavori a pieno carico.

44 36 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Il risultato ottenuto inserendo nel form i dati relativi alla componentistica di un host è di un consumo di potenza pari a 143W. Con un carico simulato di CPU pari al 50% del TDP e un carico totale pari a 60% il risultato è 76W. Il TDP, o Thermal Design Power, è un indicatore della capacità di dissipare potenza di un microprocessore. Indica una soglia limite di potenza che il microprocessore dovrebbe tenere durante carichi di lavoro normali. Definita in modi diversi dai produttori non rappresenta la massima potenza dissipabile del microprocessore e nella maggior parte dei casi questo deve essere dotato di un ulteriore strumento di dissipazione come un dissipatore passivo o con ventola. Utilizzando il file di log con i record che indicano l utilizzo percentuale del cluster ogni due minuti dal 12 Giugno 2009 al 19 Settembre 2009 (massimo numero di record caricabili su Excel) la media della percentuale di utilizzo ammonta a circa il 51%. Questo indica che circa il 50% delle macchine è stato impiegato al massimo delle sue possibilità con un consumo di 143W mentre l altra metà è da considerarsi accesa e in stato IDLE con un consumo di 76W. 143W corrispondono a 143Wh, mentre per quanto riguarda le macchine che non sono utilizzate il consumo risulta di 76Wh per macchina. Supponendo le macchine sempre accese, di queste il 51% lo si può considerare come sempre al 100% di carico, quindi 24 macchine impiegate a pieno regime. Una macchina che funzioni a pieno carico per un giorno intero consuma 3,432 kwh, mentre una macchina in IDLE consuma 1,824 kwh nell arco delle ventiquattro ore. Il totale di consumi giornalieri per i 24 client a pieno regime risulta essere 82,37 kwh mentre è pari a 41,95 kwh per gli altri 23 client. Considerando che il periodo intercorso da 12 Giugno al 19 Settembre è di 99 giorni si ha che per 99 giorni le macchine a pieno consumo hanno consumato circa 8154 kwh, mentre le altre hanno un consumo che si attesta sui 4153 kwh per un totale di

45 CAPITOLO 2 - IMPLEMENTAZIONE SOFTWARE DEL CLUSTER PG kwh. da intendere come dato approssimato alle statistiche prelevate dal file error.log. Un altra finestra sul carico CPU del cluster è data dal monitor di tutta la rete dell ateneo, basato su Zabbix. Anche con accesso guest è possibile verificare alcune informazioni sul server. La schermata seguente mostra la vista settimanale. Figura 11 - CPU Load settimanale del cluster visto dal monitor Zabbix Per correlare il carico CPU con l utenza che accede al cluster è inoltre possibile consultare Zabbix per verificare la quantità di processi e di utenti connessi.

46 38 PG - DIMITRI CARRER - MECCANISMI DI SCHEDULING SU CLUSTER DI CALCOLO CON RISPARMIO ENERGETICO Figura 12 - Vista settimanale sul numero di utenze e di processi presenti sul cluster 2.2 Integrazione del database all interno del sistema Uno degli strumenti fondamentali per tenere in piedi questa struttura non poteva che essere un database atto a contenere i dati dei processi che vengono lanciati dagli utenti. E stato scelto a questo proposito l ormai diffusissimo MySQL ed è stata implementato un database piuttosto semplice a livello strutturale ma sicuramente efficace al fine di tener traccia dei processi e dei loro job. Con il database è possibile andare ad indagare sulla situazione attuale dei processi presenti all interno del cluster, tenendo in memoria parametri importanti per la gestione e la suddivisione delle risorse, come ad esempio: id del processo, ora in cui è stato lanciato, ora in cui deve terminare, tempo di timeout, stato del processo, priorità

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003 Reti e Domini Windows 2000 Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Come esportare una distribuzione Live di Linux per un laboratorio

Come esportare una distribuzione Live di Linux per un laboratorio Come esportare una distribuzione Live di Linux per un laboratorio Attività svolta dal dr. Alessi e dal dr. Farolfi Dipartimento di Matematica Università degli Studi di Milano Knoppix è una distribuzione

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11

Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11 Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11 Si applica alle seguenti edizioni: Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Server for Linux Server

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Realizzazione di un cluster Condor su macchine virtuali

Realizzazione di un cluster Condor su macchine virtuali 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

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

INTRODUZIONE AI SISTEMI OPERATIVI

INTRODUZIONE AI SISTEMI OPERATIVI INTRODUZIONE AI SISTEMI OPERATIVI Il sistema operativo è il software che permette l esecuzione di programmi applicativi e lo sviluppo di nuovi programmi. CARATTERISTICHE Gestisce le risorse hardware e

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono:

Dettagli

BIMPublisher Manuale Tecnico

BIMPublisher Manuale Tecnico Manuale Tecnico Sommario 1 Cos è BIMPublisher...3 2 BIM Services Console...4 3 Installazione e prima configurazione...5 3.1 Configurazione...5 3.2 File di amministrazione...7 3.3 Database...7 3.4 Altre

Dettagli

Alberto Cammozzo anno accademico 2006-2007

Alberto Cammozzo anno accademico 2006-2007 Laboratorio Linux/FOSS Alberto Cammozzo anno accademico 2006-2007 Parte Prima Sistemi operativi Indice Cenni storici Struttura e alcuni modelli di sistema operativo Funzioni del sistema operativo tipo

Dettagli

Gestione del database Gidas

Gestione del database Gidas Gestione del database Gidas Manuale utente Aggiornamento 20/06/2013 Cod. SWUM_00535_it Sommario 1. Introduzione... 3 2. Requisiti e creazione del Database Gidas... 3 2.1.1. SQL Server... 3 2.1.2. Requisiti

Dettagli

NetCrunch 6. Server per il controllo della rete aziendale. Controlla

NetCrunch 6. Server per il controllo della rete aziendale. Controlla AdRem NetCrunch 6 Server per il controllo della rete aziendale Con NetCrunch puoi tenere sotto controllo ogni applicazione, servizio, server e apparato critico della tua azienda. Documenta Esplora la topologia

Dettagli

Introduzione ad Active Directory. Orazio Battaglia

Introduzione ad Active Directory. Orazio Battaglia Introduzione ad Active Directory Orazio Battaglia Introduzione al DNS Il DNS (Domain Name System) è un sistema utilizzato per la risoluzione dei nomi dei nodi della rete (host) in indirizzi IP e viceversa.

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

www.informaticalibera.info LTSP; ovvero, come realizzare laboratori didattici a basso costo

www.informaticalibera.info LTSP; ovvero, come realizzare laboratori didattici a basso costo www.informaticalibera.info LTSP; ovvero, come realizzare laboratori didattici a basso costo Scenario di riferimento molto spesso le scuole dispongono di hardware obsoleto (quasi) completamente inutilizzabile

Dettagli

Introduzione...xv. I cambiamenti e le novità della quinta edizione...xix. Ringraziamenti...xxi. Condivisione delle risorse con Samba...

Introduzione...xv. I cambiamenti e le novità della quinta edizione...xix. Ringraziamenti...xxi. Condivisione delle risorse con Samba... Indice generale Introduzione...xv I cambiamenti e le novità della quinta edizione...xix Ringraziamenti...xxi Capitolo 1 Capitolo 2 Condivisione delle risorse con Samba...1 Reti Windows... 2 Struttura base

Dettagli

Approfondimenti tecnici su framework v6.3

Approfondimenti tecnici su framework v6.3 Sito http://www.icu.fitb.eu/ pagina 1 I.C.U. "I See You" Sito...1 Cosa è...3 Cosa fa...3 Alcune funzionalità Base:...3 Alcune funzionalità Avanzate:...3 Personalizzazioni...3 Elenco Moduli base...4 Elenco

Dettagli

uomo Software (sistema operativo) hardware

uomo Software (sistema operativo) hardware uomo Software (sistema operativo) hardware 1 Sistema operativo Insieme di programmi che svolgono funzioni essenziali per l uso del sistema di elaborazione Questi programmi sono i primi ad essere eseguiti

Dettagli

INTERFACCIA UTENTE----------------------------------------------------------------------------------------------------

INTERFACCIA UTENTE---------------------------------------------------------------------------------------------------- IL FILE SYSTEM PROF. ANTONIO TUFANO Indice 1 FILE SYSTEM ------------------------------------------------------------------------------------------------------------------ 3 1.1. CARATTERISTICHE E STORIA

Dettagli

Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA. http://www.liveboxcloud.com

Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA. http://www.liveboxcloud.com 2015 Manuale LiveBox WEB AMMINISTRATORE DI SISTEMA http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi

Dettagli

Sistemi informatici. Informatica. Il software. Il sw di sistema. Il sw applicativo. Il sw di sistema. Il sistema operativo. Hardware.

Sistemi informatici. Informatica. Il software. Il sw di sistema. Il sw applicativo. Il sw di sistema. Il sistema operativo. Hardware. http://159.149.98.238/lanzavecchia/docum enti/sscta.htm Sistemi informatici Hardware Microprocessore Memoria Periferiche di input e output Software Software di sistema Programmi applicativi 1 2 Il sw applicativo

Dettagli

Linux nel calcolo distribuito

Linux nel calcolo distribuito openmosix Linux nel calcolo distribuito Dino Del Favero, Micky Del Favero dino@delfavero.it, micky@delfavero.it BLUG - Belluno Linux User Group Linux Day 2004 - Belluno 27 novembre openmosix p. 1 Cos è

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l.

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l. CRESCO - SPI.2 MAGO Relazione finale sul Progetto MAGO Relativo al contratto tra ENEA e CRIAI avente per oggetto: Analisi e Realizzazione di tool innovativi a supporto delle funzionalità GRID stipulato

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS Il modello SaaS Architettura 3D Cloud Il protocollo DCV Benefici Il portale Web EnginFrame EnginFrame

Dettagli

Installare GNU/Linux

Installare GNU/Linux Installare GNU/Linux Installare GNU/Linux Linux non è più difficile da installare ed usare di qualunque altro sistema operativo Una buona percentuale di utenti medi si troverebbe in difficoltà ad installare

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows IBM SPSS Modeler Server può essere installato e configurato per l esecuzione in modalità di analisi distribuita insieme ad altre installazioni

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Valutazione del sistema di storage EMC CLARiiON AX4

Valutazione del sistema di storage EMC CLARiiON AX4 Valutazione del sistema di storage EMC CLARiiON AX4 Relazione preparata sotto contratto con EMC Introduzione EMC Corporation ha incaricato Demartek di eseguire una valutazione pratica del nuovo sistema

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Installazione del software - Sommario

Installazione del software - Sommario Guida introduttiva Installazione del software - Sommario Panoramica sulla distribuzione del software CommNet Server Windows Cluster Windows - Virtual Server CommNet Agent Windows Cluster Windows - Virtual

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Virtualizzazione. Orazio Battaglia

Virtualizzazione. Orazio Battaglia Virtualizzazione Orazio Battaglia Definizione di virtualizzazione In informatica il termine virtualizzazione si riferisce alla possibilità di astrarre le componenti hardware, cioè fisiche, degli elaboratori

Dettagli

PROGRAMMA DEL CORSO TECNICO SOFTWARE

PROGRAMMA DEL CORSO TECNICO SOFTWARE PROGRAMMA DEL CORSO TECNICO SOFTWARE Il corso ha lo scopo di formare la figura professionale del Tecnico Software, la cui mansione primaria consiste nell'operare con le componenti logiche del computer,

Dettagli

Intel Server Management Pack per Windows

Intel Server Management Pack per Windows Intel Server Management Pack per Windows Manuale dell'utente Revisione 1.0 Dichiarazioni legali LE INFORMAZIONI CONTENUTE IN QUESTO DOCUMENTO SONO FORNITE IN ABBINAMENTO AI PRODOTTI INTEL ALLO SCOPO DI

Dettagli

Xerox EX8002 Print Server, Powered by Fiery. Guida introduttiva

Xerox EX8002 Print Server, Powered by Fiery. Guida introduttiva Xerox EX8002 Print Server, Powered by Fiery Guida introduttiva 2009 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato

Dettagli

Laboratorio di Informatica (a matematica)

Laboratorio di Informatica (a matematica) Laboratorio di Informatica (a matematica) schermo schermo stampante SERVER WMAT22 WMAT18 WMAT20 WMAT19 WMAT16 WMAT17 WMAT21 WMAT15 WMAT 10 WMAT9 WMAT8 WMAT7 WMAT6 WMAT?? WMAT13 WMAT14 WMAT12 server WMATT??

Dettagli

Sommario. 1. Introduzione. Samba - Monografia per il Corso di "Laboratorio di Sistemi Operativi".

Sommario. 1. Introduzione. Samba - Monografia per il Corso di Laboratorio di Sistemi Operativi. Sommario SAMBA Raphael Pfattner 10 Giugno 2004 Diario delle revisioni Revisione 1 10 Giugno 2004 pralph@sbox.tugraz.at Revisione 0 17 Marzo 2004 roberto.alfieri@unipr.it Samba - Monografia per il Corso

Dettagli

Openmosix e Beowulf: introduzione e confronto

Openmosix e Beowulf: introduzione e confronto Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

1) Una periferica di input è: A) il mouse B) il monitor C) la stampante

1) Una periferica di input è: A) il mouse B) il monitor C) la stampante CONOSCENZE DI INFORMATICA 1) Una periferica di input è: A) il mouse B) il monitor C) la stampante 2) Una memoria in sola lettura con la particolarità di essere cancellata in particolari condizioni è detta:

Dettagli

Obiettivi d esame HP ATA Networks

Obiettivi d esame HP ATA Networks Obiettivi d esame HP ATA Networks 1 Spiegare e riconoscere tecnologie di rete e le loro implicazioni per le esigenze del cliente. 1.1 Descrivere il modello OSI. 1.1.1 Identificare ogni livello e descrivere

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Prefazione. Contenuti

Prefazione. Contenuti Prefazione Il sistema operativo costituisce uno dei componenti fondamentali di ogni sistema di elaborazione, in particolare è quello con cui l utente entra direttamente in contatto quando accede al sistema,

Dettagli

USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000

USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000 VERITAS StorageCentral 1 USO OTTIMALE DI ACTIVE DIRECTORY DI WINDOWS 2000 1. Panoramica di StorageCentral...3 2. StorageCentral riduce il costo totale di proprietà per lo storage di Windows...3 3. Panoramica

Dettagli

Acronis Backup Advanced Version 11.5 Update 6

Acronis Backup Advanced Version 11.5 Update 6 Acronis Backup Advanced Version 11.5 Update 6 SI APPLICA AI SEGUENTI PRODOTTI Advanced for Windows Server Advanced for PC Per Windows Server Essentials GUIDA INTRODUTTIVA Informazioni sul copyright Copyright

Dettagli

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente

Introduzione a Windows XP Professional Installazione di Windows XP Professional Configurazione e gestione di account utente Programma Introduzione a Windows XP Professional Esplorazione delle nuove funzionalità e dei miglioramenti Risoluzione dei problemi mediante Guida in linea e supporto tecnico Gruppi di lavoro e domini

Dettagli

Guida introduttiva. Versione 7.0.0 Software

Guida introduttiva. Versione 7.0.0 Software Guida introduttiva Versione 7.0.0 Software Installazione del software - Sommario Panoramica sulla distribuzione del software CommNet Server Windows Windows Cluster - Virtual Server Abilitatore SNMP CommNet

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

boot loader partizioni boot sector

boot loader partizioni boot sector IL SISTEMA OPERATIVO Il sistema operativo (S.O.) è un software che fa da interfaccia tra l uomo e l hardware, mettendo a disposizione un ambiente per eseguire i programmi applicativi. Grazie al S.O. un

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 2011-2012 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 14 File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

Dettagli

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino Sistemi Operativi Modulo 2 Schema di un Sistema di Calcolo Programmi Dati di Input Calcolatore Dati di output Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica

Dettagli

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE

LABORATORI DI INFORMATICA. CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE LABORATORI DI INFORMATICA CONDIVISIONE, CLOUD e CONTROLLO REMOTO IMPLEMENTAZIONE DI UNA GESTIONE EFFICIENTE Tutti i laboratori di informatica, come la gran parte delle postazioni LIM, sono stati convertiti

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Corso base GNU/Linux 2014. Latina Linux Group. Sito web: www.llg.it. Mailing list:http://lists.linux.it/listinfo/latina

Corso base GNU/Linux 2014. Latina Linux Group. Sito web: www.llg.it. Mailing list:http://lists.linux.it/listinfo/latina Corso base GNU/Linux 2014 Latina Linux Group Sito web: www.llg.it Mailing list:http://lists.linux.it/listinfo/latina Corso Base 2014 Lezione 3 15/04/2014 1 / 21 Obiettivi di questo incontro Conoscere cosa

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Cambiamenti e novità della terza edizione...xix. Condivisione delle risorse in un workgroup con Samba...1

Cambiamenti e novità della terza edizione...xix. Condivisione delle risorse in un workgroup con Samba...1 Introduzione...xv Cambiamenti e novità della terza edizione...xix Ringraziamenti...xxi Capitolo 1 Condivisione delle risorse in un workgroup con Samba...1 Reti Windows... 2 Struttura base di Samba... 3

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Guida introduttiva. Fiery Network Controller per DocuColor 240/250

Guida introduttiva. Fiery Network Controller per DocuColor 240/250 Fiery Network Controller per DocuColor 240/250 Guida introduttiva In questo documento, ogni riferimento a DocuColor 242/252/260 rimanda a DocuColor 240/250. 2007 Electronics for Imaging, Inc. Per questo

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o Navigare verso il cambiamento La St r a d a p i ù semplice verso il ca m b i a m e n t o Le caratteristiche tecniche del software La Tecnologia utilizzata EASY è una applicazione Open Source basata sul

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

DS80KT1J-004 Gestione Famiglia serie MB10. Web Server Guida all impostazione

DS80KT1J-004 Gestione Famiglia serie MB10. Web Server Guida all impostazione DS80KT1J-004 Gestione Famiglia serie MB10 Web Server Guida all impostazione Le informazioni contenute in questo documento sono state raccolte e controllate con cura, tuttavia la società non può essere

Dettagli

Max Configurator v1.0

Max Configurator v1.0 NUMERO 41 SNC Max Configurator v1.0 Manuale Utente Numero 41 17/11/2009 Copyright Sommario Presentazione... 3 Descrizione Generale... 3 1 Installazione... 4 1.1 Requisiti minimi di sistema... 4 1.2 Procedura

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Server e Gateway VSoIP Pro

Server e Gateway VSoIP Pro IP video Server e Gateway VSoIP Pro Software VSoIP Server 3.2 14/12/2012- G215/2/I Caratteristiche principali VSoIP 3.2 Suite è il sistema di gestione video GANZ per reti Ethernet basato su una reale topologia

Dettagli

Manuale Utente Archivierete Novembre 2008 Pagina 2 di 17

Manuale Utente Archivierete Novembre 2008 Pagina 2 di 17 Manuale utente 1. Introduzione ad Archivierete... 3 1.1. Il salvataggio dei dati... 3 1.2. Come funziona Archivierete... 3 1.3. Primo salvataggio e salvataggi successivi... 5 1.4. Versioni dei salvataggi...

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Setup dell ambiente virtuale

Setup dell ambiente virtuale Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP

Dettagli

QUICK START GUIDE F640

QUICK START GUIDE F640 QUICK START GUIDE F640 Rev 1.0 PARAGRAFO ARGOMENTO PAGINA 1.1 Connessione dell apparato 3 1.2 Primo accesso all apparato 3 1.3 Configurazione parametri di rete 4 2 Gestioni condivisioni Windows 5 2.1 Impostazioni

Dettagli

Sistemi operativi e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

Dettagli

Installazione o aggiornamento del software di sistema di Fiery

Installazione o aggiornamento del software di sistema di Fiery Installazione o aggiornamento del software di sistema di Fiery Questo documento spiega come installare o aggiornare il software di sistema su Fiery Network Controller per DocuColor 240/250. NOTA: In questo

Dettagli

Software: di base ed applicativo

Software: di base ed applicativo Consulente del Lavoro A.A 2003/2004 I Semestre Software: di base ed applicativo prof. Monica Palmirani Hardware e Software Hardware: parte fisica del computer costituita da parti elettroniche e meccaniche

Dettagli

NOTE DI RILASCIO. Note di rilascio P/N 302-001-430 REV 01. EMC GeoDrive for Windows Versione 1.3. 17 ottobre 2014

NOTE DI RILASCIO. Note di rilascio P/N 302-001-430 REV 01. EMC GeoDrive for Windows Versione 1.3. 17 ottobre 2014 NOTE DI RILASCIO EMC GeoDrive for Windows Versione 1.3 Note di rilascio P/N 302-001-430 REV 01 17 ottobre 2014 Queste Note di rilascio contengono ulteriori informazioni su questa versione di GeoDrive.

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

Dettagli

STORAGE. 2015 Arka Service s.r.l.

STORAGE. 2015 Arka Service s.r.l. STORAGE STORAGE MEDIA indipendentemente dal modello di repository utilizzato i dati devono essere salvati su dei supporti (data storage media). I modelli utilizzati da Arka Service sono i comuni metodo

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

Dettagli

Informatica di Base. Il software

Informatica di Base. Il software di Base 1 Sistemi informatici Hardware Microprocessore Memoria Periferiche di input e output Software Software di sistema Programmi applicativi 2 Il sw applicativo Il sw applicativo è costituito dall insieme

Dettagli

PROGRAMMA DEL CORSO TECNICO SOFTWARE

PROGRAMMA DEL CORSO TECNICO SOFTWARE PROGRAMMA DEL CORSO TECNICO SOFTWARE Il corso ha lo scopo di formare la figura professionale del Tecnico Software, la cui mansione primaria consiste nell'operare con le componenti logiche del computer,

Dettagli

UBUNTU: gli strumenti di condivisione risorse

UBUNTU: gli strumenti di condivisione risorse UBUNTU: gli strumenti di condivisione risorse condivisione 1o1 a cura di Danio Campolunghi La condivisione di risorse Verranno qui proposti gli strumenti grafici di serie messi a disposizione da Ubuntu

Dettagli

Linux a Scuola e non solo...

Linux a Scuola e non solo... Linux Day 2011 Casorate Sempione (VA) Linux a Scuola e non solo... www.linuxvar.it Rete LTSP (Linux Terminal Server Project) Relatore: Ross Obiettivi Progetto Dotare ogni classe di 1 pc. Collegamento ad

Dettagli