Tesi su Xen: Analisi delle Prestazioni di Sistemi Cluster in ambienti Paravirtualizzati

Ogni sito che si rispetti deve per forza avere qualche pubblicazione semi-seria :P, non avendo nulla di questo genere… provo a pubblicare la mia Tesi Di Laurea che ho sviluppato per la Laurea Triennale in Ingegneria Informatica presso l’Università’ del Sannio in Benevento.

Il Titolo della tesi: Analisi delle Prestazioni di Sistemi Cluster in Ambienti Paravirtualizzati ( nello specifico Xen )

 

Indice:

Introduzione

1. Virtualizzazione

   1.1. Benefici della Virtualizzazione

   1.2. Problemi con l’architettura IA-32

   1.3. I requisiti di Popek e Goldberg

      1.3.1. L’architettura dei nuovi processori

   1.4. Tipi di virtualizzazione

      1.4.1. Virtualizzazione lato server

      1.4.2. Virtualizzazione della memoria

      1.4.3. Virtualizzazione della rete

      1.4.4. Virtualizzazione delle applicazioni

   1.5. Riepilogo

2. Xen e la sua architettura

   2.1. Le origini

   2.2. La filosofia di Xen

      2.2.1. Separazione della Politica e del Meccanismo

      2.2.2. Less is More

   2.3. Overview Architettura

      2.3.1. Il ruolo dei Domini

   2.4. Virtualizzazione della CPU

      2.4.1. Xen e l’approccio alla virtualizzazione di Intel

   2.5. Virtualizzazione della memoria

      2.5.1. Tabella delle pagine e segmentazione

      2.5.2. Traduzione dall’indirizzo virtuale a quello fisico

   2.6. Virtualizzazione I/O

      2.6.1. Anelli dei Device I/O

      2.6.2. Network I/O

   2.7. Networking in Xen

      2.7.1. Bridged Networking

      2.7.2. Routed Networking

   2.8. XenStore

      2.8.1. L’interfaccia di XenStore

      2.8.2. Lettura e scrittura di una chiave

   2.9. Hypercall

      2.9.1. Fast System Call

   2.10. Riepilogo

3. Sistemi Cluster

   3.1. Che cosa è un cluster ?

   3.2. Tipologie di Cluster

      3.2.1. Il modello generale

      3.2.2. Cluster per l’affidabilità dei servizi

      3.2.3. Cluster per l’alta disponibilità dei servizi

      3.2.4. Cluster per il bilanciamento del carico

      3.2.5. Cluster per il calcolo parallelo

   3.3. Problematiche inerenti ai cluster

      3.3.1. I processi nei sistemi cluster

      3.3.2. Middleware per la gestione dei processi

      3.3.3. Il middleware MPI

   3.4. Introduzione a Rocks

      3.4.1. Panoramica della distribuzione

      3.4.2. Roll

   3.5. Virtual Cluster

   3.6. Riepilogo

4. Analisi delle prestazioni

   4.1. Piattaforma Hardware

   4.2. Piattaforma Software

   4.3. Tool di analisi

      4.3.1. Netperf

      4.3.2. Pathrate

      4.3.3. Pathload

      4.3.4. OProfile

      4.3.5. Xenoprof

   4.4. Metodologia

   4.5. Risultati

5. Diagnosi delle performance dei Middleware MPI

   5.1. Testbed

   5.2. Metodologia

   5.3. Risultati

   5.4. Analisi tramite Xenoprof

Conclusioni

Sviluppi futuri

 

Spero sia di utilità’ a qualcuno e non resti solo nella mia libreria a prendere polvere 😛

P.s. La parte che mi e’ più’ a cuore sono i ringraziamenti… anche se sintetici, ci ho messo una settimana per redigerli

Google File System – Come funziona e la sua Architettura

Google Data Centers - File System Distributed

Ultimamente mi sono interessato ai File System Distribuiti, usati da una miriade di Sistemi di Calcoto Distribuiti ( HPC, Cluster, Sistemi GRID ), grazie alla peculiarita’ di poter immagazzinare enormi quantita’ di dati che altrimenti non potrebbero essere immagazzinate su un singolo disco rigido.

Immaginate un Sistema come quello di Google, con migliaia di cluster e centinaia di Terabyte di dati da gestire. Un Sistema in grado di visualizzare in pochi secondi e da qualsiasi parte del mondo tutte le vostre mail, tutti i vostri documenti, tutte le vostre immagini. Un Sistema che non ammette Failure o perdita di dati alcuna ( Spero almeno che i Crawlers di Google dopo questa premessa aumentino il SiteRank del blog 😛 ).

Google File System ( GFS o GoogleFS ) è il lavoro di anni di ricerca ed implementazione da parte del settore ricerca e sviluppo di Google, l’idea alla base dell’architettura deriva direttamente dai due fondatori di Google: Larry Page e Sergey Brin quando ancora studiavano a Stanford e pensavano ad un File System che soddisfacesse tale definizione:

“store data reliably even in the presence of unreliable machines”

che tradotto significa: “Immagazzinare dati in maniera affidabile anche in presenza di macchine inaffidabili”. Infatti la maggior parte dei computer utilizzati da Google sono formati da componenti economiche che molto spesso crashano o si rompono, per tale motovo il File System da usare doveva avere un alto grado di tollerenza ai guasti.

Leggi tutto “Google File System — Come funziona e la sua Architettura”

Amazon EC2: Uso Gratuito Servizi Cloud

Dai primi giorni di Novembre e’ possibile usare gratuitamente i servizi Cloud sulla piattaforma EC2 di Amazon.com. Basta semplicemente effettuare una nuova registrazione alla piattaforma per avere:

  1. 750 ore di uso di una Micro istanza Linux (613 MB di memoria con piattaforma a 32-bit o 64-bit )
  2. 5 GB of Amazon S3 storage, 20,000 Get Requests, e 2,000 Put Requests
  3. 30 GB (15 GB di dati in ingresso e 15 GB di dati in uscita attraverso tutti i servizi eccetto Amazon CloudFront)

Solo per citare alcuni..

In poche parole, e’ come avere una piccola Macchina Virtuale da 613 MB su cui possiamo giocarci sopra smanettare 😀

I servizi EC2 di Amazon sono ad oggigiorno uno dei servizi Cloud piu’ grandi del pianeta, ed avere la possibilita’ di iniziare ad usare e prendere dimestichezza con i suoi strumenti gratuitamente credo sia un bel passatempo 😀

Di seguito vi mostrero’ qualche Screenshot di come lanciare ed amministrare le vostre piccole istanze di Linux..

Leggi tutto “Amazon EC2: Uso Gratuito Servizi Cloud”