OpenMOSIX: High performance Linux farm Rosario Esposito INFN-Napoli.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
1 Introduzione ai calcolatori Parte II Software di base.
Unità D1 Architetture di rete.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
Giuseppe Fabio Fortugno.
NESSUS.
Silberschatz, Galvin and Gagne Operating System ConceptsIntroduzione Che cosè un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati.
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
I Thread.
Sistemi Operativi Distribuiti: indice
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi GESTIONE DEI PROCESSI.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Microsoft Windows Installazione, gestione ed utilizzo delle risorse Microsoft nella sezione INFN di BOLOGNA.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Installazione da rete Introduzione Configurazione del server NFS Cosa serve sul client Configurazione kickstart.
Benvenuti a Un incontro informativo di grande valore ed alto contenuto sulla Virtualizzazione e sistemi ad alta disponibiltà per le PMI.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Architettura di storage ad alta affidabilita e bilanciamento di carico per volumi centrali e di esperimento A.Brunengo, M.Corosu INFN Sezione di Genova.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
© Sediin e Achab 2007 MDaemon in Cluster: il cluster in azione Milano, 5 luglio 2007 Emiliano Biocchetti - SEDIIN S.p.A. &
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Threads.
Dischi in RAID  Redundant Array of Independent Disk Configurazione che permette di combinare più dischi secondo obiettivi di performance e ridondanza.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Gestione del processore (Scheduler)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
LTSP Linux Terminal Server Project INFN - Napoli 1 INFM - UDR Napoli 2 Workshop CCR 2003 – Paestum Rosario Esposito 1 Francesco Maria Taurino 1,2 Gennaro.
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Processi e Thread Processi e thread in Windows 2000.
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
GESTIONE RETI TCP/IP l troubleshooting è necessario per risolvere molti problemi che si possono verificare all'interno di una rete, una delle aspirazioni.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Riunione CCR 21/12/2005 Gruppo Storage Relazione sulla analisi di infrastrutture Fibre Channel e presentazione attivita’ per il 2006 Alessandro Brunengo.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Licensed under Creative Commons Attribution 3.0 License / ShareGrid Idee per prospettive future
Corso linux RiminiLUG presenta Rete a bassissimo budget per il piccolo ufficio architettura di rete LTSP in contesti professionali corso linux 2008.
CNAF 6 Novembre Layout del testbed  wn a OS SL5.0 8 GB RAM kernel xen_3.1.0 SMP  wn a OS SL5.0 8 GB RAM kernel.
Roberto Covati – Roberto Alfieri INFN di Parma. Incontri di lavoro CCR dicembre Sommario VmWare Server (in produzione dal 2004) VmWare ESX.
La Famiglia di Prodotti Network Analyzer. L’analizzatore J6801A DNA è un probe di cattura dati ultra leggero che comprende un sistema di acquisizione.
CCR - Frascati 29 settembre 2008 Gruppo storage CCR Status Report Alessandro Brunengo.
DA e controlli DAFNE Riccardo Gargana Frascati 13/12/ /12/13.
Presentazione WS del 23/10/2013 al CNAF: 0&resId=0&materialId=slides&confId=6920
Progetto iSCSI Report alla CCR 12-13/12/2006 Alessandro Tirel – Sezione di Trieste.
Martedi 8 novembre 2005 Consorzio COMETA Progetto PI2S2 FESR DReflect Middleware riflessivo per la distribuzione di applicazioni Java su cluster Grid Borsista.
Alessandro Tirel - Sezione di Trieste Storage servers & TCP Tuning Proposta di studio delle problematiche connesse alla fornitura di servizi di storage.
1 Le macchine di questo pool fanno parte di una lan privata (la 125 illustrata a pag.2), di cui t2cmcondor è il gateway. Sono presenti 3 macchine su rete.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

OpenMOSIX: High performance Linux farm Rosario Esposito INFN-Napoli

Rosario Esposito INFN-Napoli Cosa è OpenMOSIX ? OpenMOSIX è un è un'estensione (patch) del kernel di Linux che aggiunge funzionalità avanzate di clustering tra macchine di architettura x86. I processi in esecuzione vengono assegnati e riassegnati dinamicamente ai nodi del cluster in modo da ottenere in ogni momento il massimo vantaggio dalle risorse disponibili

Rosario Esposito INFN-Napoli Storia del progetto OpenMOSIX MOSIX ( Multicomputer OS for UnIX ) nasce nei primi anni 80 su PDP-11/70 all’università di Gerusalemme Prima implementazione su BSD/pdp Implementazione su VAX 11/780 Implementazione su Motorola / bus VME (contratto con la Israeli Defence Forces) 1994 versione per BSDi 1997 GNU + Linux Ha contribuito a dozzine di patch al kernel standard di Linux Novembre 2001 Split MOSIX / OpenMOSIX

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (1/9) Network transparency I nodi del cluster, che comunicano attraverso una LAN efficiente, si comportano come una singola macchina SMP.  Le applicazioni non devono essere modificate o linkate a una particolare libreria  L’utente ha l’impressione di interagire con un solo computer  La scalabilità è lineare rispetto al numero di nodi del cluster

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (2/9) Preemptive process migration Ogni processo utente, in qualsiasi momento e in maniera trasparente può migrare verso un nodo disponibile. I processi sono costituiti da 2 parti: system context (deputy) che è legato al nodo in cui è stato creato e non può migrare user context (remote) che può migrare su qualsiasi nodo del cluster

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (3/9) Preemptive process migration Home nodeRemote Node

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (4/9) Preemptive process migration: limiti Alcuni processi non possono essere divisi in deputy e remote. La loro esecuzione è confinata al nodo in cui sono stati creati. In particolare NON possono migrare i processi che fanno uso di:  Writeable Shared Memory  Sockets  Real-Time scheduling

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (5/9) Dynamic load balancing Viene realizzato con la migrazione dei processi verso i nodi più “scarichi” Tiene conto delle caratteristiche dei processi (CPU intensive, RAM intensive, I/O etc…) del numero di nodi disponibili e delle loro velocità La politica è asimmetrica e decentralizzata; Tutti i nodi usano lo stesso algoritmo di load-balancing e la riduzione del carico è effettuata indipendentemente da ogni coppia di nodi

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (6/9) Memory ushering I processi vengono migrati verso i nodi che hanno una maggiore memoria disponibile per prevenire il trashing dovuto a continue operazioni di swap su disco. L’algoritmo di memory ushering ha priorità rispetto a quello di load-balancing L’assegnazione di un processo ad un nodo viene effettuata sulla base di un modello matematico che minimizza i costi associati all’ultilizzo delle risorse (memoria, cpu, network-bandwidth…)

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (7/9) Efficient kernel communication L’overhead dovuto alle comunicazioni interne del kernel (tra un processo che è stato migrato e il suo nodo di origine) è ridotto al minimo grazie ad un protocollo efficiente, con bassa latenza di startup e un throughput elevato.

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (8/9) Algoritmi probabilistici di disseminazione delle informazioni Ad ogni intervallo di tempo (1 sec) ogni nodo colleziona e dissemina informazioni sul suo stato (CPU, memoria, n. di processi…) verso un subset di altri nodi scelti in modo casuale Ogni nodo ha un’elevata conoscenza delle risorse disponibili sugli altri nodi I nodi sono in grado di accorgersi di variazioni nella configurazione del cluster

Rosario Esposito INFN-Napoli Caratteristiche di OpenMOSIX (9/9) Controllo decentralizzato e autonomia dei nodi Ogni nodo è in grado di prendere autonomamente decisioni sul controllo dei processi Non esistono relazioni “master-slave” tra i nodi I nodi possono “entrare” o “uscire” dal cluster con la minima perdita di consistenza

Rosario Esposito INFN-Napoli OpenMOSIX & PVM/MPI PVM/MPI: L’allocazione dei processi è statica. Alcuni nodi possono rimanere idle mentre altri sono sovraccarichi OpenMOSIX: I processi migrano da un nodo all’altro garantendo una distribuzione uniforme del carico e una scalabilità lineare Applicazioni che utilizzano PVM/MPI possono girare su un cluster OpenMOSIX senza problemi, traendone i vantaggi dovuti alla migrazione dei processi.

Rosario Esposito INFN-Napoli MFS: MOSIX File System (1/4) OpenMOSIX è molto efficiente nell’eseguire in maniera distribuita processi CPU-bound Per gestire in maniera efficiente anche i casi di processi I/O-bound si possono utilizzare dei filesystem con supporto DFSA (Direct File System Access)

Rosario Esposito INFN-Napoli MFS: MOSIX File System (2/4) DFSA (Direct File System Access) Le operazioni di I/O vengono effettuate da un processo in locale, sul nodo in cui è in esecuzione e NON via rete, per evitare un overhead Il file system deve avere: Uno stesso mount point su tutti i nodi File consistency Time-stamp consistency Attualmente pochissimi file system supportano DFSA

Rosario Esposito INFN-Napoli MFS: MOSIX File System (3/4) OpenMOSIX è dotato di un proprio filesystem: MFS (MOSIX File System), conforme alle specifiche DFSA L’algoritmo di load-balancing di OpenMOSIX consente ai processi di migrare verso i nodi su cui devono fare operazioni di I/O Con NFS i dati seguono le applicazioni mentre con MFS le applicazioni migrano verso i dati !

Rosario Esposito INFN-Napoli MFS: MOSIX File System (4/4) MFS è un file system simile a /proc Fornisce ad ogni nodo una visione completa di tutti i file system montati fisicamente su tutti i nodi Garantisce una consistenza della cache su uno stesso file acceduto da più nodi (la cache è mantenuta sul nodo in cui risiede fisicamente il file)

Rosario Esposito INFN-Napoli API di OpenMOSIX Nessuna nuova system-call Tutte le informazioni vengono gestite attraverso il file system /proc /proc/hpc /proc/hpc/admin Amministrazione /proc/hpc/info Informazioni sul cluster /proc/hpc/nodes/nnnn/ Informazioni per nodo /proc/hpc/remote/pppp/ Informazioni sui processi migrati

Rosario Esposito INFN-Napoli OpenMOSIX: Installazione Step 1: Applicare la patch di OpenMOSIX al vanilla kernel di Linux Step 2: Compilare il nuovo kernel e installarlo sui nodi del cluster Step 3: Compilare e installare gli “userland-tools”, delle utility per il monitoraggio e il controllo manuale dei processi (mosmon, mosrun, mosctl…) In alternativa è possibile usare la versione RPM, sia del kernel che degli userland-tools

Rosario Esposito INFN-Napoli OpenMOSIX: Configurazione OpenMOSIX ha un unico file di configurazione (/etc/mosix.map) che deve essere uguale per tutti i nodi. In questo file ci sono scritti gli indirizzi IP dei nodi che compongono il cluster

Rosario Esposito INFN-Napoli OpenMOSIX: Monitoring Il monitoring dei processi su un cluster OpenMOSIX è realizzato con delle utility che leggono le informazioni disponibili sotto /proc/hpc/info (utilizzo di cpu, memoria, velocità…)  mosmon fa parte degli “userland-tools”  mosixview con interfaccia grafica X, distribuita gratuitamente all’ indirizzo:

Rosario Esposito INFN-Napoli OpenMOSIX diskless farm (1/5) Perché una farm con nodi diskless ? Diminuire i costi Centralizzare la gestione del software Minimizzare il tempo di installazione, configurazione e amministrazione dei nodi della farm

Rosario Esposito INFN-Napoli OpenMOSIX diskless farm (2/5) Setup della farm:  Uno dei nodi (dotato di disco rigido) viene scelto come server  Sul nodo server viene installata una distribuzione di Linux + OpenMOSIX  I nodi diskless ottengono un indirizzo IP dal server (via BOOTP o DHCP), scaricano il kernel OpenMOSIX (via TFTP) e montano dal server un root file system via NFS

Rosario Esposito INFN-Napoli OpenMOSIX diskless farm (3/5) Etherboot Soluzione efficiente per il boot da rete dei nodi diskless Gratuito Consente di creare e installare un piccolo bootstrap loader su un qualsiasi supporto di boot (floppy, hd, EPROM di una scheda di rete…)

Rosario Esposito INFN-Napoli OpenMOSIX diskless farm (4/5) Ogni nodo diskless deve montare dal server la root del proprio file system via NFS Problema: Sul server deve essere mantenuta una root directory per ogni nodo. Soluzione: ClusterNFS

Rosario Esposito INFN-Napoli OpenMOSIX diskless farm (5/5) ClusterNFS è una versione modificata di NFS server  Consente a tutti i nodi (compreso il server) di condividere lo stesso root file system  Tutti i file sono condivisi per default  Un file xxx comune a tutti i client (ma non al server) viene ridenominato xxx$$CLIENT$$  Un file yyy specifico per un certo client foo.domain.tld con indirizzo ip A.B.C.D viene ridenominato yyy$$HOST=foo.domain.tld$$ oppure yyy$$IP=A.B.C.D$$

Rosario Esposito INFN-Napoli OpenMOSIX: altri tipi di installazione  ClumpOS: Una mini-distribuzione di Linux con kernel OpenMOSIX che gira interamente in RAM e viene caricata al boot da CD  K12LTSP: soluzione OpenMOSIX per nodi diskless basata su Linux Terminal Server Project

Rosario Esposito INFN-Napoli Presente e Futuro di OpenMOSIX E’ in corso lo sviluppo di:  Migrating sockets  Network RAM  Distributed Shared Memory  CheckPoint / Restart  Queue Manager / Scheduler Si prevede in futuro:  Inclusione nel kernel 2.6 di Linux  Riscrivere e ottimizzare MFS

Rosario Esposito INFN-Napoli QlusterOS e OpenMOSIX (1/2) Caratteristiche di QlusterOS (  E’ un prodotto commerciale basato in parte su OpenMOSIX  Migrating sockets, Network RAM  Cluster Configurator  Qsense ( detection dei nodi autmatica, senza /etc/mosix.map )  Monitor (scritto in Flash)  Queue manager, Launcher, Scheduler  Job Description Language in XML

Rosario Esposito INFN-Napoli QlusterOS e OpenMOSIX (2/2) Nuovo Load Balancer Migrazione di applicazioni basate su thread Kernel Linux Più di 100 patch (RedHat Quality) Supporto alla migrazione su reti Myrinet e Dolphin Integrazione con GFS Supporto futuro per AFS …

Rosario Esposito INFN-Napoli Conclusioni OpenMOSIX è attualmente una delle opzioni più avanzate per clustering HPC Nel mondo più di nodi eseguono un kernel OpenMOSIX (tra cui INFN-Napoli, INFN-Lecce, Univ. di Pisa, SISSA…) OpenMOSIX produce un notevole aumento di performance in ambienti con processi paralleli e ottimizza l’uso delle risorse disponibili in un cluster OpenMOSIX non è al momento la scelta migliore in ambienti con applicazioni hardware-dependent e con forti requisiti di High Availability

Rosario Esposito INFN-Napoli Riferimenti  Home page di OpenMOSIX  Project Manager Dr. Moshe Bar