Linux nel calcolo distribuito



Documenti analoghi
Linux nel calcolo distribuito

MODULO 02. Iniziamo a usare il computer

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

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Corso di Sistemi di Elaborazione delle informazioni

Sistemi operativi e reti A.A Lezione 2

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

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Il Software. Il software del PC. Il BIOS

Linux Virtuale Linux Virtuale

La Gestione delle risorse Renato Agati

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

Introduzione alla Virtualizzazione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il Sistema Operativo (1)

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Calcolatori Elettronici A a.a. 2008/2009

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Struttura del calcolatore

Varie tipologie di memoria

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Laboratorio di Informatica

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Sistemi operativi. Esempi di sistemi operativi

Architetture Applicative

Architetture software. Virtualizzazione

VMware. Gestione dello shutdown con UPS MetaSystem

I sistemi distribuiti

Approccio stratificato

Sistemi Operativi Kernel

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistemi Operativi. 5 Gestione della memoria

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il sistema operativo TinyOS

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

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

Sistemi Operativi. Conclusioni e nuove frontiere

Il clustering. Sistemi Distribuiti 2002/2003

SISTEMI OPERATIVI DISTRIBUITI

Virtualizzazione e Macchine Virtuali

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Dispensa di Informatica I.1

Firewall applicativo per la protezione di portali intranet/extranet

Receptionist 2.0. La soluzione semplice ed affidabile per il contact center

STRUTTURE DEI SISTEMI DI CALCOLO

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

Hardware di un Computer

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

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

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

e-dva - eni-depth Velocity Analysis

Sistemi Operativi (modulo di Informatica II) I processi

Esame di INFORMATICA

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

PARTE 4 La Macchina Software

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Laboratorio di Informatica

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Il Sistema Operativo

Architettura di un sistema operativo

Installare MDaemon su un cluster Microsoft

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Corso di Informatica

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

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

Architettura hardware

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

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Le Infrastrutture Software ed il Sistema Operativo

ARCHITETTURA DI RETE FOLEGNANI ANDREA

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

File system II. Sistemi Operativi Lez. 20

WNoD: Virtualizzazione, Grid e Cloud nel Calcolo Scientifico per l INFN

IT Cloud Service. Semplice - accessibile - sicuro - economico

Protezione. Protezione. Protezione. Obiettivi della protezione

Come funziona un sistema di elaborazione

Architettura del calcolatore

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

In estrema sintesi, NEMO VirtualFarm vuol dire:

Progetto M.A.Y.H.E.M.

memoria virtuale protezione

Appunti di Sistemi Distribuiti

System Center Virtual Machine Manager Library Management

Progetto Virtualizzazione

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

Ottimizzazione delle interrogazioni (parte I)

Architettura dei computer

Transcript:

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 è openmosix openmosix è una patch per il kernel di Linux per trasformare un gruppo di computer in un cluster. Un cluster è un gruppo di computer interconnessi al fine di permettere l esecuzione di uno o più processi migliorando le prestazioni ottenibili facendo girare gli stessi processi sui singoli nodi componenti il cluster. openmosix p. 2

Tipi di cluster Fail Over (HA): due o più macchine connesse tra di loro con più link hearbeat, se una macchina si guasta l altra ne prende automaticamente il posto garantendo la continuità del servizio. Load Balancing: due o più macchine connesse ad un apparato che dirige le richieste in modo da rendere il carico uniforme su tutte le macchine del cluster. High Performance Computing (HPC): due o più macchine connesse tra di loro al fine di ottenere una singola unità logica ottimizzata per il calcolo, a questa categoria appartengono Beowulf e openmosix. openmosix p. 3

openmosix vs Beowulf (1) openmosix Nodi anche di potenze diverse Software standard Scalabilità Un processo, un processore Solo Linux/x86 openmosix p. 4

openmosix vs Beowulf (2) Beowulf Nodi della stessa potenza Software sviluppato ad hoc Un processo tutti i processori Non limitato a x86 openmosix p. 5

Caratteristiche principali di openmosix Economico Non è necessario hardware dedicato; normali PC connessi in rete possono essere trasformati in cluster. Scalabile Per migliorare le prestazioni è, spesso, sufficiente aggiungere nodi al cluster. Trasparente Una volta in esecuzione sarà il sistema operativo stesso a bilanciare il carico sui vari nodi. Adattabile Non sono necessari nodi identici. L unico limite imposto da openmosix, attualmente, è openmosix p. 6 che ogni macchina appartenga all architettura x86.

Come funziona openmosix (1) openmosix rende possibile far migrare i processi in esecuzione tra i nodi componenti il cluster. La tecnologia openmosix è costituita da due parti: 1. Un meccanismo di Preempitive Process Migration (PPM). 2. Un insieme di algoritmi per la condivisione adattativa delle risorse. Gli algoritmi di condivisione forniscono al PPM le informazioni necessarie per decidere quale processo deve essere migrato verso quale dei nodi componenti il cluster. openmosix p. 7

Come funziona openmosix (2) Ogni processo ha un Unique Home-Node (UHN): il nodo su cui il processo è stato generato. Il modello SSI (Single System Image) di openmosix è un Cache Coerent Cluster in cui ogni processo sembra girare sul proprio UHN e dove ogni processo di una singola sessione utente condivide l ambiente di esecuzione dell UHN. I processi migrati verso nodi remoti useranno le risorse locali (del nodo remoto) fintantoché ciò è possibile, ma interagiranno con l ambiente utente attaverso l UHN. openmosix p. 8

Quando migrano i processi Un processo migra quando il carico del nodo (cpu, ram, ecc.) che esegue il processo supera una certa soglia. I processi in esecuzione vengono quindi assegnati dinamicamente ai nodi del cluster in modo da massimizzare lo sfruttamento delle risorse disponibili mantenendo il carico medio di ogni singolo nodo sotto una certa soglia critica. openmosix p. 9

Come migrano i processi (1) Per implementare la PPM il processo da migrare è diviso in due contesti: user context che può migrare e system context che è dipendente dall UHN. Lo user context, detto remote, contiene text, data, stack, memory maps, register del processo. Il remote incaplusa il processo quando questo gira a livello user. Il system context, detto deputy, contiene una descrizione delle risorse a cui il processo è attaccato e un kernel-stack per l esecuzione del codice a livello kernel. Il deputy incapsula il processo quando questo gira nel kernel, a lui appartiene la parte dipendente dal nodo del processo e quindi non può migrare. openmosix p. 10

Come migrano i processi (2) L interfaccia di comunicazione fra user e system context è ben definita e può essere intercettata, ogni interazione fra i due contesti e inviata attraverso la rete a nodi diversi. Il tempo necessario alla migrazione ha una componente fissa necessaria ad istanziare un nuovo process frame nel nodo remoto e una lineare al numero di pagine di memoria che devono essere trasferite. Per minimizzare l overhead solo la tabella delle pagine e le pagine usate sono trasferite. Durante l esecuzione di un processo la trasparenza al nodo viene garantita inviando le chiamate a sistema dipendenti dal nodo al deputy presso l UHN, mentre quelle indipendenti dal nodo vengono eseguite localmente. openmosix p. 11

Il nostro cluster (1) Il cluster dimostrativo che abbiamo portato è composto da 4 macchine di cui 2 diskless, su tutte le macchine gira Debian GNU/Linux Sarge e in particolare sono stati installati: bysybox initscripts net-tools debianutils bash coreutils modutils ifupdown sysvinit findutils udhcpc openmosix-tools openmosix p. 12

Il nostro cluster (2) Sul cluster gireranno più istanze dello script di test tratto dall openmosix HOWTO reperibile presso http://howto.ipng.be/openmosix-howto/ for i in $(seq 1 10); do awk BEGIN { for(i=0;i<10000;i++) for(j=0;j<10000;j++); } & done openmosix p. 13

openmosix Una demo. Domande? Grazie per l attenzione. openmosix p. 14