Clustering for Everyone. Matteo Cicuttin

Documenti analoghi
Mac Application Manager 1.3 (SOLO PER TIGER)

Procedura di installazione di Xubuntu 8.10 su un PC

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Gestione della memoria centrale

Progetto Virtualizzazione

Creazione e installazione di un NAS utilizzando FreeNAS

Considerazioni sui server

Guida all uso di Java Diagrammi ER

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Installazione LINUX 10.0

MANUALE PARCELLA FACILE PLUS INDICE

Linux e gli Scanner. Tux. Paolo Faeti Linux Day PLUG PARMA 23 Ottobre Mascotte Ufficiale del Kernel Linux

Contribuire alla ricerca con il software Open Source: BOINC Berkeley Open Infrastructure for Network Computing

Sistema operativo: Gestione della memoria

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

File system II. Sistemi Operativi Lez. 20

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

Approccio stratificato

Corso di PHP. Prerequisiti. 1 - Introduzione

risulta (x) = 1 se x < 0.

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

Pacchettizzazione e distribuzione del software

Il Software. Il software del PC. Il BIOS

LA SOLUZIONE. EVOLUTION, con la E LA TECNOLOGIA TRASPARENTE IL SOFTWARE INVISIBILE INVISIBILE ANCHE NEL PREZZO R.O.I. IMMEDIATO OFFERTA IN PROVA

1. opzione 1, ubuntu accanto a windows

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

Il web server Apache Lezione n. 3. Introduzione

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Dispensa di Informatica I.1

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Sistemi Operativi. Conclusioni e nuove frontiere

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

VINCERE AL BLACKJACK

MASTERIZZAZIONE DI CD E DVD

System Center Virtual Machine Manager Library Management

L impatto del software libero nella didattica universitaria

Il Linux che verrà... Francesco Crippa

Installare Ubuntu su macchina virtuale

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Linux lo installo a 32 o 64 bit? (teoria e pratica)

Gestione Manutenzioni Immobiliari.

GESTIONE INCASSI SAGRA. Ver. 2.21

ARCHIVIA PLUS VERSIONE SQL SERVER

Software per Helpdesk

Dal menù a discesa scegliere <proprietà> apparirà finestra <proprietà disco locale C:>

bmooble INFOMOBILITY demo environment

01/05/2013 Istruzioni per l installazione

Zeroshell su vmware ESXi 4.1

Dal software al CloudWare

Sicurezza dei dati in EGRID

Poi clichiamo su sistema

Registratori di Cassa

SquashFS, AuFS ed i segreti delle distribuzioni live

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Pro e contro delle RNA

Facoltà di Farmacia - Corso di Informatica

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

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

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Progetto di Sistemi Web-based

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

Tutorial. Raspberry Pi. Montare un immagine di Raspbian su scheda SD per Raspberry Pi. Raspberry Pi Montare un immagine di Raspbian su scheda SD

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

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Strutturazione logica dei dati: i file

Terza lezione: Directory e File system di Linux

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

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Una architettura peer-topeer per la visualizzazione 3D distribuita

Progetto scelto per il confronto:

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

VMware. Gestione dello shutdown con UPS MetaSystem

Sistemi informativi secondo prospettive combinate

FoLUG Forlì Linux User Group. Partizionamento

INVIO SMS

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

CVserver. CVserver. Micky Del Favero BLUG - Belluno Linux User Group Linux Day Feltre 25 ottobre Un cluster di VServer

Capitolo 13. Interrogare una base di dati

13. Campi vettoriali

Acronis Universal Restore

e-dva - eni-depth Velocity Analysis

Guida Joomla. di: Alessandro Rossi, Flavio Copes

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Linux nel calcolo distribuito

Calcolatori Elettronici A a.a. 2008/2009

EXCEL FUNZIONI PRINCIPALI

Altre misure di sicurezza

GestVetrine 1.1 versione novembre 2014

IL MODELLO CICLICO BATTLEPLAN

Concetti di base di ingegneria del software

Presentazione Data Base

MFD2-DVD Firmware UpGrade

Amministrazione dominio

Note di rilascio. Aggiornamento disponibile tramite Live Update a partire dal. Il supporto per Windows XP e Office 2003 è terminato

Transcript:

Clustering for Everyone Matteo Cicuttin

Presentazioni Mi sono laureato in informatica qui a Udine Attualmente frequento il corso di laurea specialistica Per qualche tempo ho lavorato nel campo dell HPC

I miei interessi Sistemi operativi Supercomputing Sicurezza Compilatori ed internals dei linguaggi di programmazione

Agenda Il supercalcolo e i cluster di PC I cluster e le loro problematiche Cos è e come nasce CfE? I dettagli di CfE Conclusioni

Il supercalcolo Spesso è necessario affrontare problemi gravosi dal punto di vista computazionale. Problemi molto difficili appaiono in svariate discipline

Un esempio - N-Corpi Serve a simulare più corpi che interagiscono gravitazionalmente Dati N corpi, è necessario calcolare N(N-1) forze - in realtà N(N-1)/2 - ma è sempre O(N 2 ) Corpi Interazioni 2 2 3 6 4 12 5 20 6 30...... 16.384 268.419.072

Altre discipline Biologia: Dinamica molecolare Ricerca operativa: Logistica, pianificazione Ingegneria: fluidodinamica, termodinamica Grafica 3D: raytracing [...]

Il supercalcolo I paradigmi del supercalcolo sono svariati - Grid computing (Seti@Home, FightAIDS@Home oppure EGEE) - Macchine basate su FPGA (Janus) - Hardware specializzato (GPU, APE Mille) - Cluster di PC (La stragrande maggioranza di supercomputer: RoadRunner, BlueGene, MareNostrum) Ogni paradigma presenta numerose problematiche

I cluster Schiere PC standard schiavizzati ed obbligati a far conti Poco costosi e parecchio veloci Per le problematiche che presentano, È come prendere 50 motori di Vespa, legarli insieme e pretendere di avere un motore da camion Tutto sommato però funzionano

Le problematiche dei cluster Scaldano tantissimo Consumano un sacco di elettricità Le parti meccaniche tendono a rompersi molto spesso Amministrare un cluster da 500 nodi potrebbe risultare difficoltoso E moooooooolto moooooooolto altro...

Rotture hardware Un disco ha una vita media stimata di 100.000 ore Se avete 200 dischi, è come se ne rompeste uno ogni 500 ore (21 giorni) Le ventole sono sensibili alla polvere: se se ne rompe qualcuna i danni ad altre componenti seguono a cascata

Sistema operativo Se togliamo i dischi, dobbiamo trovare un altro modo di avviare i nodi. PXE ci corre in aiuto...ma... Ogni nodo deve avere il sistema operativo, che facciamo, replichiamo 200 volte il root file system? Ne serviamo uno comune ma in sola lettura? Carichiamo in RAM un immagine completa del S.O. sprecando memoria? Dobbiamo installare l ultima versione del nostro software number crunching preferito (JtR), lo installiamo 200 volte? Lo installiamo da sorgente in una posizione non standard, ma condivisa, con tutti i problemi che ne seguono? Poi ci sono tutte le problematiche standard di gestione degli utenti, dei log...

Domande: Possiamo, costruendo opportunamente il software consumare di meno? E, di conseguenza, scaldare di meno? E semplificare l amministrazione? Si! In altre parole, possiamo ridurre i costi, sia quelli di acquisizione che quelli di mantenimento (TCO)

Come nasce CfE? CfE nasce dalle ceneri di Hopeless, implementato da C. Pellegrin. Alcune idee di Hopeless appaiono in CfE. Ho deciso che mi serviva qualcosa di più nuovo e flessibile di Hopeless, per cui ho messo in piedi CfE. Prima Hopeless, e ora CfE, vengono utilizzati nei supercalcolatori prodotti da EuroTech S.p.A.

Cos è CfE? CfE è un approccio perché (1) è adattabile a diverse distro e addirittura a diversi S.O. e (2) perché è applicabile in contesti diversi dai supercalcolatori CfE è una distro in quanto tutte le idee che vi presenterò sono state implementate, prendendo una CentOS e rigirandola un po

CfE come distribuzione Autenticazione centralizzata (LDAP) Tool di monitoraggio e reporting (ad es. Ganglia) Sistema di scheduling (PBS, SGE,...) Librerie di message passing (OpenMPI) Storage ad alte prestazioni (Lustre) Supporto al networking ad alte prestazioni (InfiniBand) Librerie per il calcolo scientifico

Cosa vorremmo Che ogni nodo di calcolo funzioni esattamente come una macchina dotata di disco Che si possa installare il software una volta per tutte, magari anche solo su un sottoinsieme delle macchine, lo stesso vale per l update e l eliminazione Che si possa fare le configurazioni una volta sola per tutte le macchine, o di nuovo, per un sottoinsieme Che ci sia un area di storage condivisa Che se si sfascia qualcosa a livello software si possa tornare in tempi brevi ad una configurazione ok

Idea chiave: Unification FS Ci permette di prendere più directory, montarle insieme (impilarle) e vedere la loro unione L idea nasce a metà anni novanta in 4.4BSD con il nome di unionfs Se scrivo, viene modificato solo il layer più in alto Unione in senso (più o meno) insiemistico di /bottom, /middle e /top /top /middle /bottom

Struttura di base del FS / Nodo 1 Nodo 2 Nodo 3 Nodo 4 Root file system standard Abbiamo uno strato che contiene la consueta root Abbiamo un secondo strato che contiene le differenze specifiche di ogni nodo Ancora non ci piace: troppo poco flessibile

Nuova struttura del FS / Nodo 1 Nodo 2 Nodo 3 Nodo 4 Partizione 1 Partizione 2 Root file system standard Abbiamo aggiunto la possibilità di partizionare la macchina fisica in più macchine logiche Questo ci permette di assegnare parti di macchina a diversi utenti......oppure di tenere una sezione per il testing

La struttura definitiva / Node layer Partition layer Root layer Factory layer Nodo 1 Nodo 2 Nodo 3 Nodo 4 Partizione 1 Partizione 2 Modifiche rispetto al root file system Root file system standard (sola lettura) È possibile tornare alla configurazione di fabbrica cancellando i layer superiori a factory È possibile mantenere il layer factory in RAM per servirlo alla massima velocità

Il backend Il boot server mantiene la root di CfE, ad esempio /cfe/ In /cfe/nodes/<ip nodo>/ mantengo i vari layer per i nodi In /cfe/partitions/<nome partizione>/ mantengo i layer delle partizioni In /cfe/root/ mantengo le differenze rispetto al root filesystem originario In /cfe/factory/ mantengo un root FS standard della distribuzione/sistema operativo che voglio usare Faccio l unione, la monto in / su ogni nodo ed il gioco è fatto

Riepilogando Abbiamo preso un root file system assolutamente standard Andiamo a memorizzare soltanto le differenze rispetto ad esso Abbiamo tutti i vantaggi di avere il disco su ogni macchina e tutti i vantaggi di avere un unico root FS condiviso Il footprint di un installazione su una macchina da 100 nodi è di circa 4 GB

Domande: Come fai a far partire Linux da un root file system di tipo unionfs? Quando fai il boot via rete, nel 160% dei casi si usa NFS... OK, bello, ma come installi il software in modo che l installazione sia propagata su tutte le macchine?

Boot da UnionFS Tutto il gioco è fatto nell initrd L initrd è un Linux ridotto all osso: il kernel parte, monta l initrd e lancia /sbin/init Init è uno script: è a lui che facciamo fare l union mount Una volta fatta l unione facciamo switchroot e parte la distro vera

Installazione del software Supponiamo di voler installare nmap sulla partizione denominata default Faccio l union mount di /cfe/factory + /cfe/root/ + /cfe/ partitions/default/ in ad es. /cfemnt/ yum --installroot=/cfemnt/ install nmap Oppure posso chrootare in /cfemnt/

L approccio CfE in contesti diversi dal supercalcolo Laboratorio informatico di una scuola Uffici/aziende in cui vi sono molte postazioni

Conclusioni CfE nasce con gli obiettivi di ridurre l harware e della semplicità d uso e di amministrazione, da qui il nome CfE è semplice da installare quasi quanto una qualsiasi distro Linux (appena avrò finito tutti gli script!) CfE abbatte la complessità amministrativa tipica di grandi insiemi di macchine

Le alternative a CfE Esistono varie distribuzioni orientate all HPC Esempi sono Rocks ed xcat CfE è nata principalmente dalle esigenze di EuroTech. Essa colma alcune mancanze delle distro HPC più comuni, ma sicuramente anche CfE ha delle mancanze rispetto a loro

Ultime note CfE attualmente è stabile e maturo ma le possibilità di miglioramento sono davvero ampie (leggi: sviluppatori cercasi) A breve pubblicherò tutto su http://iglu.cc.uniud.it/ Per gli interessati, durante l install fest sarò a disposizione per una demo di tutte le funzionalità di CfE

Domande?

Grazie! Feedback: matteo.cicuttin@gmail.com