Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo:...

96
Virtualizzazione e PlanetLab Daniele Sgandurra Università di Pisa 29 Aprile 2008 Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 1 / 72

Transcript of Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo:...

Page 1: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Virtualizzazione e PlanetLab

Daniele Sgandurra

Università di Pisa

29 Aprile 2008

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 1 / 72

Page 2: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Sommario della Prima Parte

1 La VirtualizzazioneIntroduzionePlatform Virtualization

2 XenCaratteristicheArchitettura

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 2 / 72

Page 3: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Sommario della Seconda Parte

3 PlanetLabIntroduzioneArchitetturaComponentiConclusioni

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 3 / 72

Page 4: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Parte I

La Virtualizzazione

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 4 / 72

Page 5: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

La Virtualizzazione

Un livello di astrazione.1 Resource Virtualization:

F memoria virtualeF RAID, storage virtualizationF grid computing, overlay network

2 Platform Virtualization:F emulazione/simulazioneF a livello applicativo: Java VMF a livello di S.O.: FreeBSD Jails, Linux-Vservers, VirtuozzoF a livello “hardware”: VMWare, Xen

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 5 / 72

Page 6: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Alcuni Termini

Un emulatore duplica le funzioni di un sistema utilizzando un altrosistema che si comporta “esattamente” come il primo.

I es.: MAME (Multiple Arcade Machine Emulator)Un simulatore ha il compito di simulare un modello astratto di unsistema da analizzare.

I modelli di sistemi fisici, chimici, etcBinary translation richiede di emulare un set di istruzioni in unaltro set tramite traduzione del codice.

I es.: SPARC→ x86Dynamic recompilation eseguita da emulatori o macchine virtualiper ricompilare a tempo di esecuzione parti di un programma.

I codice più efficiente, etc.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 6 / 72

Page 7: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Resource Virtualization: Esempi

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 7 / 72

Page 8: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Resource Virtualization: Esempi

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 7 / 72

Page 9: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Platform Virtualization

Una metodologia per creare sulla stessa macchina fisica diversiambienti di esecuzione virtuali.

I fine anni ’60 (CP-40)

Le macchine virtuali emulano a software il comportamento dellamacchina reale sottostante.Possibilità di eseguire in concorrenza sulla stessa macchina fisicadiverse istanze di sistemi operativi.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 8 / 72

Page 10: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Macchine Virtuali

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 9 / 72

Page 11: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Macchine Virtuali

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 9 / 72

Page 12: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

IBM 360/67 e CP/CMS

Il CP-67 forniva agli utenti repliche virtuali di un IBM 360.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 10 / 72

Page 13: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Virtualizzazione a Livello Applicativo: Java VM

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 11 / 72

Page 14: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Virtualizzazione a Livello di S.O.: Virtuozzo

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 12 / 72

Page 15: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Virtualizzazione a Livello Hardware: Xen

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 13 / 72

Page 16: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Benefici della Virtualizzazione

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 14 / 72

Page 17: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Il Gestore delle Macchine Virtuali

Il gestore delle macchine virtuali (VMM = Virtual Machine Monitor) è ilsoftware che:

1 crea e gestisce le macchine virtuali,2 media l’accesso alle risorse fisiche,3 garantisce l’isolamento tra le MV,4 grazie alla proprietà dell’incapsulamento può:

I eseguire numerose MV simultaneamenteI migrare MV in esecuzione tra diversi host

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 15 / 72

Page 18: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Tipologie di Virtual Machine Monitor

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 16 / 72

Page 19: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Tipologie di Macchine Virtuali

A livello utente: User-Mode LinuxA livello kernel: Linux-VServer, FreeBSD Jail, OpenVZ.A livello “hardware”:

I paravirtualization: Xen, DenaliI full virtualization: VMWare ESX Server, QEMU

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 17 / 72

Page 20: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Full Virtualization e Paravirtualization

Full Virtualization: fornisce una replica esatta dell’interfacciasottostante.Paravirtualization: espone una interfaccia simile ma non identica aquella sottostante.

I Richiede che i sistemi operativi siano (in parte) modificati.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 18 / 72

Page 21: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Full Virtualization: VMWare ESX Server

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 19 / 72

Page 22: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Paravirtualization: Xen

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 20 / 72

Page 23: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Intel VT e AMD-V

Intel Virtualization Technology e AMD Virtualization hanno introdotto ilsupporto hardware/firmware alla virtualizzazione.

1 lo sviluppo di un VMM è semplificato2 è possibile eseguire sistemi operativi non modificati3 prestazioni più elevate

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 21 / 72

Page 24: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempio: Intel VT-x

Due nuove modalità di operazione:I meno privilegiata: VMX non-root, per i guest OSI più privilegiata: VMX root, per i VMM

Due nuove transizioni: VM entry / VM exit.Il controllo dell’esecuzione stabilisce quando le exit avvengono:

I accesso a stati privilegiati, eccezioni, etc

Struttura VM Control Structure per controllare operazioni VT-x.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 22 / 72

Page 25: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Xen

Xen è un software Open Source: licenza GNU GPL.Progetto dell’Università di Cambridge.Supporta IA-32, x86-64, IA-64 e PowerPC.Sistemi operativi supportati:

I LinuxI NetBSDI FreeBSDI SolarisI Windows (con VT)

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 23 / 72

Page 26: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Xen Supporters

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 24 / 72

Page 27: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Vantaggi di Xen

Prestazioni paragonabili a soluzioni non virtualizzate (∼ 8%overhead).Migrazione di una macchina virtuale in tempo reale (Quake 3server in 60 ms).Fino a 32 VCPU per macchina virtuale.Inclusa in molte distribuzioni Linux: Fedora, Debian, Ubuntu eopenSUSE.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 25 / 72

Page 28: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Architettura di Xen

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 26 / 72

Page 29: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Terminologia di Xen

In Xen una macchina virtuale è detta dominio.Xen Hypervisor è il VMM:

I implementa i meccanismiI esporta un’interfaccia di controllo al dominio 0

Il dominio 0 è una MV privilegiata:I definisce le politicheI crea, sospende, ripristina e migra i domini utente

I domini utente ospitano le MV non privilegiate.I ognuno di essi esegue il proprio S.O. e applicazioni

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 27 / 72

Page 30: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Livelli di Protezione della CPU

Xen utilizza il concetto di ring x86: livelli di privilegio.I domini devono invocare Xen per le operazioni privilegiate.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 28 / 72

Page 31: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Hypercall

I domini invocano Xen tramite hypercall.I Analogo delle system call in un sistema operativo.

Tipologie di hypercall:1 relative alla CPU: es., registrazione tabella interruzioni2 relative alla memoria: es., gestione tabella pagine3 relative all’I/O: es., event channel (notifica interruzioni)

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 29 / 72

Page 32: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Il Modello Split Device Driver

un dominio driver controlla un dispositivo tramite il driver originale,e accetta richieste tramite un backend driver.gli altri domini utilizzano un frontend driver.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 30 / 72

Page 33: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Passi per Creare un Dominio Utente

1 Installare Xen e il kernel del dominio 0.I sorgenti o pacchetti

2 Creare una partizione per ogni dominio utente.I partizione fisica/LVM/file

3 Creare un file system per il dominio utente nella partizione.I ad es.: debootstrap

4 Creare il kernel per il dominio utente.5 Creare il file di configurazione per il dominio utente.6 Avviare il dominio utente tramite il comando xm create.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 31 / 72

Page 34: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempio

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 32 / 72

Page 35: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempio

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 33 / 72

Page 36: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Parte II

PlanetLab

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 34 / 72

Page 37: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

PlanetLab

PlanetLab è una rete di ricerca a livello globale per lo sviluppo di nuoviservizi di rete.

Dal 2003, usata da più di 1000 ricercatori:I Distributed StorageI Network MappingI P2P SystemsI Distributed Hash TablesI Query Processing

Ogni servizio in esecuzione su uno slice:I una rete di macchine virtuali

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 35 / 72

Page 38: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Visione Generale

La maggior parte dei nodi situata in istituzioni di ricerca.I università

I nodi di PlanetLab:I sono connessi tramite InternetI piattaforme basate su Linux (VServer), dotate di software per

eseguire bootstrap, per gestire e monitorare il nodo, etc

Testbed per overlay network.Esperimenti sotto condizioni reali e su larga scala.Short-term experiments/long-running services.Un microcosmo per la nuova Internet.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 36 / 72

Page 39: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Breve Storia

Marzo 2002: primo meeting di ricercatori interessati in servizi direte planetari organizzato da Intel/Princeton/UC Berkeley.Intel dona 100 macchine per il primo prototipo.Ottobre 2002: prima versione del software PlanetLabGennaio 2004: nasce il PlanetLab Consortium, gestito dallaPrinceton University, University of California e University ofWashington.Luglio 2004: PlanetLab raggiunge 400 nodi.Settembre 2005: PlanetLab raggiunge 600 nodi.Giugno 2007: PlanetLab raggiunge 800 nodi.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 37 / 72

Page 40: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

I Nodi di PlanetLab

Attualmente, formata da 854 nodi su 428 siti.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 38 / 72

Page 41: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Requisiti di PlanetLab

Fornire una piattaforma globale per supportare:1 sperimentazioni di breve termine2 servizi di lunga durata

F i servizi devono essere isolati gli uni dagli altriF numerosi servizi devono poter essere eseguiti in concorrenzaF il carico di lavoro dei client deve essere reale

Convincere i siti ad ospitare servizi sviluppati da altri siti.I proteggere Internet dal traffico generato da PlanetLabI relazione di fiducia tra le parti (PLC=intermediario)

Controllo decentralizzato.I delegare la gestione dei nodi ai siti

Scalabilità.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 39 / 72

Page 42: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Requisiti: Relazione di Fiducia

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 40 / 72

Page 43: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Requisiti: Relazione di Fiducia

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 40 / 72

Page 44: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Principi Architetturali di PlanetLab

Distributed Virtualization:I ogni servizio viene eseguito all’interno di uno slice di PlanetLabI molteplici servizi eseguiti in concorrenzaI uno slice fa da contenitore per isolare i servizi

Unbundled Management:I gestione di PlanetLab decomposta in una collezione di servizi di

infrastruttura fortemente indipendentiI ognuno di questi servizi è sviluppato da terze parti ed è in

esecuzione su uno slice.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 41 / 72

Page 45: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Principi Architetturali di PlanetLab

Chain of Responsability:I deve essere sempre possibile mappare le attività visibili

dall’esterno (es., la trasmissione di un pacchetto) con l’utenteresponsabile di quell’attività

Decentralized Control:I componenti di varie organizzazione autonomeI minimizzazione degli aspetti che richiedono accordi globali

Efficient Resource Sharing:I disaccoppiamento tra creazione dello slice e allocazione delle

risorse: strategia best effortI overbooking

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 42 / 72

Page 46: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Principi Architetturali: Chain of Responsability

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 43 / 72

Page 47: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Terminologia di PlanetLab

Sito: locazione fisica che ospita nodi PlanetLab,I istituzione di ricerca

Principal Investigator (PI): responsabile di un sito.I crea e gestisce gli slice per sviluppare nuovi servizi

Nodo: un computer che esegue componenti per servizi PlanetLab.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 44 / 72

Page 48: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Terminologia di PlanetLab

Slice: insieme di risorse distribuite su PlanetLab, usato persviluppare un particolare servizio/esperimento. Un PI:

I crea uno sliceI aggiunge gli utentiI sceglie su quali nodi sviluppare il servizio

Infine, per ogni nodo dello slice, viene creata una macchinavirtuale associata allo slice.VServer: patch del kernel Linux per creare le macchine virtuali.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 45 / 72

Page 49: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Nodo

Ogni istituzione deve ospitare due nodi per unirsi a PlanetLab.Ogni nodo deve:

I avere un IP pubblico e non deve essere protetto da firewall/NATI dare accesso root a PlanetLabI essere in grado di creare macchine virtuali (VServer)

Ogni MV del nodo è rappresentata in maniera astratta tramite uninsieme di attributi, detti resource specification (RSpec):

I quante risorse del nodo sono associate alla macchina virtuale

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 46 / 72

Page 50: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Boot del Nodo

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 47 / 72

Page 51: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Macchine Virtuali

VServer: virtualizzazione a livello di chiamate di sistema.Ogni VServer è eseguito in un security context (secctx).

I ogni processo è associato ad un VServer tramite il secctx

UID/GUID appartenenti a un namespace privato.Utilizzo di capability per limitare root.

I determinare se operazioni privilegiate sono permesse al root

Utilizzo di chroot per confinare i file system.Scala a 1000 VServer per nodo (29MB ognuno).

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 48 / 72

Page 52: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Macchine Virtuali

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 49 / 72

Page 53: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Macchine Virtuali

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 49 / 72

Page 54: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Node Manager

Programma in esecuzione su ogni nodo che crea le macchinevirtuali e gestisce le risorse associate a ogni macchina virtuale.Fornisce un’interfaccia tramite cui i servizi su PlanetLab creanomacchine virtuali e ci associano risorse.

I rcap = CreatePool(rspec, slice name)I rcap[] = GetRcap()I rspec = GetRspec(rcap)I rcap = SplitPool(rcap, rspec)I Bind(rcap, slice name)

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 50 / 72

Page 55: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Slice

Ogni nodo PlanetLab esegue un insieme di macchine virtuali.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 51 / 72

Page 56: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Slice

Ogni nodo PlanetLab esegue un insieme di macchine virtuali.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 51 / 72

Page 57: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Slice

Un servizio sviluppato su PlanetLab è un insieme di programmidistribuiti e cooperanti che forniscono funzionalità di alto livello.Ogni servizio viene eseguito su uno slice:

I una rete di macchine virtuali.I ogni slice ha a disposizione un insieme di risorse (processore,

memoria, disco) su vari nodi PlanetLab distribuiti sulla reteI ogni progetto viene eseguito su uno slice distinto

Il nome dello slice identifica l’esperimento.Accesso allo slice tramite SSH.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 52 / 72

Page 58: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione del Sito

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 53 / 72

Page 59: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione del Sito

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 53 / 72

Page 60: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione del Sito

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 53 / 72

Page 61: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione del Sito

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 53 / 72

Page 62: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione Gloable

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 54 / 72

Page 63: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione Gloable

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 54 / 72

Page 64: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Slice: Visione Gloable

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 54 / 72

Page 65: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice: Interazioni

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 55 / 72

Page 66: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice: Node Manager

Il Node Manager è in esecuzione su ogni nodo.Riceve un insieme di ticket in input per creare MV.Controlla la policy locale, e determina se i ticket possono essereutilizzati.In caso positivo:

I riserva le risorse specificateI crea le macchine virtuali e le associa alle risorseI ritorna una lease

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 56 / 72

Page 67: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice: Resource Monitor e Agent

Il Resource Monitor è un servizio in esecuzione su ogni nodo.Monitorizza la disponibilità delle risorse sul nodo locale.Periodicamente esegue un report a uno o più agent.

Un Agent colleziona informazioni sulla disponibilità di risorse da uninsieme di resource monitor o altri agent.

Genera ticket che sono utilizzati per acquisire risorse.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 57 / 72

Page 68: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice: Resource Broker

Il Resource Broker risponde a query inviate da service manager checercano di acquisire uno slice.

Ogni query descrive le risorse necessarie per il servizio.Il broker contatta uno o più agent in cerca di ticket.Se è possibile soddisfare la specifica dello slice, richiede i ticketdagli agenti e li ritorna al service manager.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 58 / 72

Page 69: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice: Service Manager

Un Service Manager è associato con ogni servizio.Contatta un broker per acquisire uno slice e ottenere i ticketnecessari per istanziarlo.Ottenuti i ticket, li utilizza su i nodi associati ai ticket per crearemacchine virtuali.Create le macchine virtuali su ogni nodo, avvia il servizio, cioè unprogramma su ogni macchina virtuale.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 59 / 72

Page 70: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 71: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 72: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 73: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 74: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 75: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 76: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 77: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 78: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 79: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 80: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 81: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 82: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Creazione di uno Slice

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 60 / 72

Page 83: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Slice Authority

Database che registra lo stato persistente di ogni slice registrato.I principal = (name, email, org, addr, key, role)I org = (name, addr, admin)I slice = (state, rspec)

Per creare uno slice, bisogna prima inserire un record neldatabase:

I CreateSlice(auth, slice name)I SetSliceAttr(auth, slice name, attribute)I AddSlicePrincipal(auth, slice name, principals[])I AddSliceNode(auth, slice name, nodes[])

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 61 / 72

Page 84: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Management Authority

Mantiene un server che installa e aggiorna il software inesecuzione su i nodi di PlanetLab.Monitora i nodi e esegue azione appropriate in presenza dianomalie guasti.Database che contiene:

I principal = (name, email, org, addr, keys, role)I org = (name, address, admin, sites[])I site = (name, tech, subnets, lat long, nodes[])I node = (ipaddr, state, nodekey, nodeid)

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 62 / 72

Page 85: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Componenti Architetturali: Resource Specification

Oggetto astratto utilizzato da un node manager e da un slicecreation service.Rappresenta sia una macchina virtuale che un pool di risorse.Insieme di attributi (coppie nome/valore). Es., di RSpec per unamacchina virtuale:

I cpu share = 1I disk quota = 5 (GB)I mem limit = 256 (MB)I base rate = 1 (Kbps)I burst rate = 100 (Mbps)I sustained rate = 1.5 (Mbps)

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 63 / 72

Page 86: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Come usare PlanetLab

Appartenere ad un’istituzione che partecipa a PlanetLab.Creare un account in PLC e attendere la validazione.Generare e fare l’upload di una chiave SSH.Loggarsi attraverso il PlanetLab Central (web) or ssh.Creare uno slice: ucb_p2p (solo il responsabile del sito può farlo).Aggiungere nodi allo slice, es.planetlab1.berkeley.intel-research.net.Loggarsi in uno qualsiasi dei nodi tramite ssh:ssh [email protected] programmi, eseguire codice, creare account, etc.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 64 / 72

Page 87: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Tipologie di Servizi Sviluppati su PlanetLab

Content Distribution Networks: CoDeeN (Princeton), Coral (NYU),Coweb (Cornell)Distributed Hash Tables: OpenDHT (Berkeley), Chord (MIT)Large File Transfer: CoBlitz (Princeton), SplitStream (Rice), Bullet(UCSD)Routing Overlays: i3 (Berkeley), Pluto (Princeton)Network Measurement: ScriptRoute (Maryland, Washington)Anomaly Detection & Fault Diagnosis: NetBait (Intel), PlanetSeer(Princeton)Multicast, Mobility, Network Games, DNS, ...

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 65 / 72

Page 88: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempi

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 66 / 72

Page 89: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempi

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 66 / 72

Page 90: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Esempi

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 66 / 72

Page 91: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Sicurezza

Un numero ristretto di coppie di chiavi pubbliche e certificati sonocreati e distribuiti ai nodi che partecipano a PlanetLab.

I chiavi root: certificati top-levelI ogni istituzione che fornisce un servizio globale in PlanetLab deve

avere una coppia di chiavi pubbliche e un certificato firmato da unacertification authority

Boot del nodo tramite SSL e chiavi PGP.Confinamento degli slice.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 67 / 72

Page 92: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Sicurezza

Capability per limitare privilegi utenti root.Connessioni tramite SSH.Monitoraggio di ogni pacchetto per poter risalire all’utenteresponsabile di quel pacchetto.Acceptable User Policy definisce quali attività sono legali.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 68 / 72

Page 93: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Confluenza di Tecnologie

Cluster-based management.Overlay e reti P2P.Macchine virtuali e sandboxing.Framework per la composizione di servizi.Internet measurement.Web services....

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 69 / 72

Page 94: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Applicazioni Emergenti

Content distribution.Peer-to-Peer networks.Global storage.Mobility services....

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 70 / 72

Page 95: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Riassumendo...

Infrastruttura aperta per la nuova generazione di servizi a livelloglobale (“planetary-scale”).Nucleo da cui far emergere l’Internet di prossima generazione.Diverse tipologie di testbed per reti.Incoraggia i ricercatori a sviluppare nuovi servizi per Internet.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 71 / 72

Page 96: Virtualizzazione e PlanetLabricci/29-04-2008-PlanetLab.pdf2008/04/29  · F a livello applicativo: Java VM F a livello di S.O.: FreeBSD Jails, Linux-Vservers, Virtuozzo F a livello

Riferimenti

[Sito] http://planet-lab.org

[Paper] Larry Peterson, Tom Anderson, David Culler, TimothyRoscoeA Blueprint for Introducing Disruptive Technology Into the Internet.2002.

[Paper] Larry Peterson, Steve Muir, Timothy Roscoe, AaronKlingamanPlanetLab Architecture: An Overview.2006.

[Libro di Testo] Timothy RoscoePeer-to-Peer Systems and Applications (cap. 33: The PlanetLabPlatform).2005.

Daniele Sgandurra (Università di Pisa) Virtualizzazione e PlanetLab 29 Aprile 2008 72 / 72