Sommario Introduzione al Grid Computing e al Globus Toolkit™ z Introduzione al Grid Computing z Alcune Definizioni z La Filosofia della Architettura di Griglia z Il Globus Toolkit (GT2) – Introduzione, Security, Resource Management, Information Services, Data Management z D. Talia - UNICAL Open Grid Services Architecture (GT4) Griglie e Sistemi di Elaborazione Ubiqui D. Talia - UNICAL Page 1 Griglie e Sistemi di Elaborazione Ubiqui 2 Il Problema della Griglia z Elementi del Problema Condivisione flessible, sicura, coordinata condivisione di risorse tra gruppi dinamici di individui, instituzioni e sistemi. z – Computer, memorie, sensori, reti, … – Condivisione condizionale: problemi di fiducia, politiche, negoziazione, pagamento, … Da “The Anatomy of the Grid: Enabling Scalable Virtual Organizations” z Condivisione di risorse Permettere a comunità reali o virtuali (“virtual organizations”) con obiettivi comuni di condividere risorse distribuite geograficamente - assumendo l’ assenza di… z Coordinated problem solving – Oltre il client-server: analisi distribuita di dati, elaborazione distribuita, collaborazione, … z – sito centrale, – controllo centrale, Organizzazioni dinamiche, multi-istituzionali e virtuali – completa conoscenza, – Comunità sovrapposte su strutture org. Classiche. – l’esistenza di relazioni affidabili. – Grandi o piccole, statiche o dinamiche. D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 3 D. Talia - UNICAL Page 2 Griglie e Sistemi di Elaborazione Ubiqui 4 Accesso Online a Strumenti Scientifici Perché usare le Griglie? z z z z z Advanced Photon Source Un biochimico usa 10.000 computer per analizzare 100.000 composti in un’ora. Distributione geografica 1.000 fisici nel mondo usano in maniera integrata alcuni petabytes di dati. Ingegnerici civili collaborano per progettare, realizzare e analizzare esperimenti di terremoti. Raccolta real-time Archivi di dati desktop & clienti VR con controlli condiv. Scienziati del clima visualizzano, annotano, e analizzano terabyte di dati di simulazioni. Un team di gestione di emergenze integra dati real time, modelli di previsione del tempo e dati sulla popolazione. D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui ricostruzione tomografica DOE X-ray grand challenge: ANL, USC/ISI, NIST, U.Chicago 5 D. Talia - UNICAL Page 3 Griglie e Sistemi di Elaborazione Ubiqui 6 Data Grid per la Fisica delle Alte Energie z ~PBytes/sec ~100 MBytes/sec Online System SpecInt95 equivalents ~20 TIPS ~100 MBytes/sec There are 100 “triggers” per second Each triggered event is ~1 MByte in size ~622 Mbits/sec or Air Freight (deprecated) France Regional Centre 1 TIPS is approximately 25,000 Offline Processor Farm There is a “bunch crossing” every 25 nsecs. Tier 1 Matematici Risolvono il NUG30 Tier 0 Germany Regional Centre z CERN Computer Centre Italy Regional Centre z FermiLab ~4 TIPS ~622 Mbits/sec Tier 2 ~622 Mbits/sec Institute Institute Institute Institute ~0.25TIPS Physics data cache ~1 MBytes/sec Physicist workstations Tier 4 Caltech ~1 TIPS Tier2 Centre Tier2 Centre Tier2 Centre Tier2 Centre ~1 TIPS ~1 TIPS ~1 TIPS ~1 TIPS Una collaborazione informale di matematici e informatici Condor-G ha gestito 3.46E8 secondi di CPU in 7 gg. (peak 1009 processors) in U.S.A. e in Italia (8 siti) Physicists work on analysis “channels”. Each institute will have ~10 physicists working on one or more channels; data for these channels should be cached by the institute server Griglie e Sistemi di Elaborazione Ubiqui 14,5,28,24,1,3,16,15, 10,9,21,2,4,29,25,22, 13,26,17,30,6,20,19, 8,18,7,27,12,11,23 MetaNEOS: Argonne, Iowa, Northwestern, Wisconsin Image courtesy Harvey Newman, Caltech D. Talia - UNICAL Ricerca della soluzione del problema dell’assegnamento quadratico NUG30 7 D. Talia - UNICAL Page 4 Griglie e Sistemi di Elaborazione Ubiqui 8 Home Computers Per l’Analisi di Farmaci per l’AIDS Rete per la Simulazione di Terremoti z z NEESgrid: infrastruttura nazionale per la collaborazione tra ingegneri civili e l’uso di dispositivi sperimentali, databases, computers, & altro Accesso on-demand ad esperimenti, dati, calcolo, archivi, e collaborazioni. z Comunità= – migliaia di utenti di PC – Philanthropic computing vendor (Entropia) – Gruppo di Ricerca (Scripps) z Obiettivo Comune= avanzamento nella Ricerca e nello studio dell’AIDS NEESgrid: Argonne, Michigan, NCSA, UIUC, USC D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 9 D. Talia - UNICAL Page 5 Griglie e Sistemi di Elaborazione Ubiqui 10 Contesto più Generale z Perchè Adesso? Il “Grid Computing” ha molto in comune con i maggiori trend industriali z – Business-to-business, Peer-to-peer, Application Service Providers, Storage Service Providers, Distributed Computing, Internet Computing… z z Problemi comuni non adeguatamente affrontati dalle tecnologie esistenti z – Requisiti Complicati: “eseguire il programma X sul sito Y conforme alla politica di Comunità P, fornendo l'accesso ai dati in Z secondo la politica Q” – High performance: richieste particolari di sistemi avanzati con alte prestazioni. D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui z 11 I miglioramenti di legge di Moore nei sistemi di elaborazione produce sistemi finali altamente funzionali. Internet e le diverse reti wired o wireless forniscono una connettività globale. I cambiamenti nel modo di lavorare in team e orientato alle soluzioni favoriscono questa soluzione. Le elevate prestazioni delle reti producono cambiamenti drammatici in termini geometrici e geografici. D. Talia - UNICAL Page 6 Griglie e Sistemi di Elaborazione Ubiqui 12 Il Globus Project™ Prestazioni Elevate delle Reti z Prestazioni delle reti e dei calcolatori z – La velocità dei calcolatori raddoppia ogni 18 mesi – La velocità delle reti raddoppia ogni 9 mesi z – Differenza = un ordine di grandezza ogni 5 anni z Dal 1986 al 2000 – Computers: x 500 z – Reti: x 340.000 z Dal 2001 al 2010 Stretta collaborazione con progetti “reali” di Griglia nella scienza e nell’industria Sviluppo e promozione dei protocolli standard e delle interfacce di griglia per permettere interoperabilità ed infrastruttura comune Il Globus Toolkit™: Open source, software di base di riferimento per la costruzione dell'infrastruttura e le applicazioni di griglia – GT2: – GT4: Nuova implementazione basata sui Grid Services (che estendono i Web Services) – Computers: x 60 – Reti: x 4000 z Moore’s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins. 13 D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui Global Grid Forum: Sviluppo di protocolli standard e API per Grid computing (www.ggf.org) D. Talia - UNICAL Page 7 Griglie e Sistemi di Elaborazione Ubiqui 14 Alcune Importanti Definizioni Alcune Definizioni D. Talia - UNICAL z Risorsa z Network protocol z Network enabled service z Application Programmer Interface (API) z Software Development Kit (SDK) z Sintassi z Non discusse, ma importanti: politiche Griglie e Sistemi di Elaborazione Ubiqui D. Talia - UNICAL Page 8 Griglie e Sistemi di Elaborazione Ubiqui 16 Risorsa z Network Protocol Una entità da condividere z – Es., computers, memorie, dati, software – Definita in termini di interfacce, non di dispositivi – Le regole possono definire sequenze di scambio di messaggi – Es. uno scheduler come LSF e PBS definisce una risorsa di calcolo come un cluster – Un protocollo può definire il cambio di stato nel punto finale, es., cambio di stato di un file system – Es., Open/close/read/write definiscono accessi ad un file system distribuito come NFS, AFS, DFS. D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui Una descrizione formale di formati di messaggi e un insieme di regole per lo scambio di messaggi. – I Protocolli possono prevedere più livelli. z Esempi di protocolli – IP, TCP, TLS (era SSL), HTTP, Kerberos 17 D. Talia - UNICAL Page 9 Griglie e Sistemi di Elaborazione Ubiqui 18 Network Enabled Services z Application Programming Interface Implementazione di un protocollo che definisce un insieme di capabilities z – Il protocollo definisce l’interazione con il servizio z Una specifica di un insieme di routine per facilitare lo sviluppo di applicazioni – Tutti i servizi di rete richiedono protocolli – Si riferiscono alla definizione, non all’implementazione – Non tutti i protocolli sono usati per fornire servizi (es. IP, TLS) – Es., vi sono implementazioni di MPI z Esempi: FTP e Web servers FTP Server FTP Telnet Protocol Protocol TCP Protocol TCP Protocol IP Protocol IP Protocol D. Talia - UNICAL – Nome della routine, numero, ordine e tipo degli argomenti; mapping a costrutti del linguaggio Web Server HTTP Protocol – Comportamento o funzione della routine TLS Protocol Griglie e Sistemi di Elaborazione Ubiqui Specifiche spesso legate ad un linguaggio z Esempi – GSS API (security), MPI (message passing) 19 D. Talia - UNICAL Page 10 Griglie e Sistemi di Elaborazione Ubiqui 20 Software Development Kit z Una particolare istanziazione di una API z Un SDK consiste di librerie e strumenti Sintassi z – XML, Condor ClassAds, Globus RSL – X.509 certificate format (RFC 2459) – Fornisce una implementazione di una specifica di una API z – Cryptographic Message Syntax (RFC 2630) z Possono esistere diversi SDK per una API – Importante capire la stratificazione quando si paragonano e valutano più sintassi. – MPICH, Motif Widgets Griglie e Sistemi di Elaborazione Ubiqui Si possono avere sintassi a più livelli – Es., Condor ClassAds -> XML -> ASCII Esempi di SDK D. Talia - UNICAL Distinta dai protocolli – Una sintassi puo’ essere usata da molti protocolli (e.g., XML) e utile per molti scopi. z z Regole per codificare l’informazione, es. 21 D. Talia - UNICAL Page 11 Griglie e Sistemi di Elaborazione Ubiqui 22 Un Protocollo può avere più API z z z Una API può avere più Protocolli z Le API TCP/IP includono i sockets BSD, Winsock, System V streams, … Il protocollo fornisce interoperability: programmi che fanno uso di API differenti possono scambiarsi informazioni. z Io non ho bisogno di conoscere quali API sta usando un utente remoto. MPI fornisce la portabilità: qualsiasi programma corretto compila e “gira” su una piattaforma. Non fornisce interoperabilità: tutti i processi devono comunicare tramite la stessa SDK – E.g., MPICH and LAM versions of MPI Applicazione Applicazione Applicazione WinSock API Berkeley Sockets API MPI API MPI API LAM SDK MPICH-P4 SDK LAM protocol TCP/IP Protocollo TCP/IP : byte stream affidabile D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 23 D. Talia - UNICAL Page 12 Applicazione Differenti formati dei messaggi, sequenze, ecc. MPICH-P4 protocol Griglie e Sistemi di Elaborazione Ubiqui TCP/IP 24 API e Protocolli sono Entrambi Importanti z API/SDK standard sono importanti – Permettono la portabilità delle applicazioni – Ma senza protocolli standard, interoperabilità è Architettura di Grid difficile (ogni SDK parla con ogni protocollo?) z Protocolli standard sono importanti – Permettono interoperabilità tra siti diversi – Permettono una struttura condivisa – Ma senza API/SDK standard, la portabilità delle applicazioni è difficile (macchine differenti fanno uso di un protocollo in maniera differente) D. Talia - UNICAL D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 25 Page 13 Griglie e Sistemi di Elaborazione Ubiqui Aspetti del Problema dei Sistemi Oggi: Focus sul Problema dei Sistemi z Il problema dei sistemi 1) Necessità di interoperabilità quando – Facilitare l’uso coordinato di risorse diverse differenti gruppi condividono risorse – Facilitare condivisione dell’infrastruttura : es., autorità di certificazione, info services – Diverse componenti, politiche, meccanismi – Es., notioni standard di identità, mezzi di comunicazione, descrizione di risorse – Richiede sistemi: protocolli, servizi – Es., porte/servizi/protocolli per accedere informazioni e allocare risorse z 2) Necessità servizi di infrastruttura condivisi per evitare sviluppi e configurazioni ripetute Il problema della programmazione – Facilitare lo sviluppo di applic. sofisticate. – Facilitare il code sharing – Richiede ambienti di programmazione: APIs, SDKs, tools D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui z 27 – Es., una porta/servizio/protocollo per accesso remoto all’elaborazione, non uno per tool/applicazione – Es., Autorità di Certificazione : costose Necessità comune per protocolli e servizi D. Talia - UNICAL Page 14 Griglie e Sistemi di Elaborazione Ubiqui 28 Architettura di Grid a Livelli Quindi, una Vista Protocol-Oriented dell’Architettura di Grid orientata a … z (per analogia con l’Architettura di Internet) Sviluppo di protocolli e servizi di Grid – Accesso “Protocol-mediated” a risorse remote “Coordinare risorse multiple”: servizidi infrastruttura ubiqui, servizi distribuiti application-specific – “On the Grid” = uso di protocolli Intergrid – Essenzialmente (estensioni di) protocolli esistenti z Sviluppo di Grid APIs & SDKs “Condividere risorse singole”: negoziare l’accesso, controllare l’uso – Interfacce a protocolli e servizi di Grid – Facilitare lo sviluppo di applicazioni attraverso astrazioni di più alto livello z Il modello (largamente vincente) è Internet. D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui “Parlare alle cose”: comunicazione (protocolli Internet) & security “Controllare le cose localmente”: Accesso a, e controllo di, risorse 29 D. Talia - UNICAL Page 15 Collective Applicazioni Resource Connectivity Transport Internet Fabric Griglie e Sistemi di Elaborazione Ubiqui Link 30 Internet Protocol Architecture Application – Nuovi servizi: es., brokering di risorse Protocolli, Servizi, e API ad Ogni Livello Aspetti Importanti Applicazioni z Linguaggi/Ambienti – Comunicazione, routing, risolutione dei nomi, ecc. z Collective Service APIs and SDKs Collective Service Protocols Collective Services “Stratificazione” qui è concettuale, non implica vincoli su chi può chiamare cosa – Protocolli/servizi/API/SDK sono, largamente autocontenuti Resource APIs and SDKs – Alcune cose sono fondamentali: es., comunicazione e sicurezza Resource Service Protocols Resource Services – E’ vantaggioso per funzioni di più alto livello usare funzioni comuni di più basso livello. Connectivity APIs Connectivity Protocols Costruita sui protocolli e i servizi di Internet Local Access APIs and Protocols Fabric Layer D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 31 D. Talia - UNICAL Page 16 Griglie e Sistemi di Elaborazione Ubiqui 32 Livello di Connettività Protocolli & Servizi Il Modello a Clessidra z Focus sui problemi architetturali A p p l i c a z i o n i – Un insieme di core services come infrastruttura di base – Costruzione di soluzioni di alto livello, domain-specific z Principi di progettazione z – protocolli Internet : IP, DNS, routing, ecc. Servizi globali diversi z Core Griglie e Sistemi di Elaborazione Ubiqui Sicurezza: Grid Security Infrastructure (GSI) – Autenticazione uniforme, autorizzazione, e meccanismi di protezione di messaggi in ambienti multi-istituzioni – Singola iscrizione, delega, mapping dell’identità – Mantenere basso il costo di services participazione – Permettere il controllo locale – Supportare l’adattamento – Modello “clessidra IP” Sistemi Oper. Locali D. Talia - UNICAL Comunicazione – Tecnologia a Chiave Pubblica, SSL, X.509, GSS-API – Infrastruttura di Supporto : Certificate Authorities, gestione di certificati & chiavi, … GSI: www.gridforum.org/security 33 D. Talia - UNICAL Page 17 Griglie e Sistemi di Elaborazione Ubiqui 34 Livello di Risorse Protocolli & Servizi z Livello Collective Protocolli & Servizi Grid Resource Allocation Mgmt (GRAM) z – Viste personalizzate su collezioni di risorse dinamiche assemblate da una comunità – Allocazione Remota, prenotazione, monitoraggio, controllo delle risorse di calcolo z Protocollo GridFTP (estenzioni FTP) z Grid Resource Information Service (GRIS) – Accesso a informazioni di struttura e di stato z z Resource brokers (e.g., Condor Matchmaker) – Scoperta e allocazione di risorse – Accesso a dati e trasporto ad alte prestazioni z Index server (es. Monitoring and Discovery Service) Network reservation, monitoring, controllo Tutto costruito sul livello di connettività: GSI & IP z Servizi di Replica Location e Management z Servizi di gestione di Metadati z Servizi di Co-reservation and co-allocation z Servizi di Gestione di Workflow z Ecc. GridFTP: www.gridforum.org GRAM, GRIS: www.globus.org D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 35 Condor: www.cs.wisc.edu/condor D. Talia - UNICAL Page 18 Griglie e Sistemi di Elaborazione Ubiqui 36 Esempio: Grid Services per Applicazioni Data-Intensive Esempio:High-Throughput Computing System API SDK Appl High Throughput Computing System Collective (Appl) checkpoint dinamico, failover, staging Collective (Generico) Brokering, certificate authorities job management, Chk-point Protocol Checkpoint Repository Resource Connectivity Comunicazione, service discovery (DNS), autenticazione, autorizzazione, delegation Fabric Sistemi di memorizzazione, schedulers D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui Applicazioni Data Grid Specifiche per Disciplina Collective Controllo di Coerenza, replica selection, task management, virtual data catalog, virtual data code (Appl) catalog, … Collective Replica catalog, replica management, co-allocazione, (Generic) certificate authorities, metadata catalogs, API Access to data, access to computers, access to network performance data Applicaz. SDK Resource Access Protocol Compute Resource Accesso ai dati, accesso ai computers, accesso a dati di performance di rete, … Comunicazione, service discovery (DNS), autenticazione, Connect autorizazione, delegation Fabric Sistemi di memorizzazione, clusters, reti, cache di rete, . 37 D. Talia - UNICAL Page 19 Griglie e Sistemi di Elaborazione Ubiqui 38 Architettura OGSA D. Talia - UNICAL Griglie e Sistemi di Elaborazione Ubiqui 39 Page 20