“Problemi di schedulazione distribuita su GRID” Sistemi operativi 3 Andrea Clematis IMATI –CNR Genova Email: [email protected] Cos’è Grid • Un ambiente persistente in cui le applicazioni possono integrare ed utilizzare risorse computazionali, dati, device, e reti appartenenti a diverse organizzazioni ed in diverse locazioni • La condivisione di risorse è ottenuta attraverso accessi diretti da parte degli utenti e gli accessi alle risorse vengono strettamente controllati • Un gruppo di utenti o organizzazioni regolati da una politica di condivisione formano una virtual organization Virtual Organization • Una Virtual Organization (VO) è costituita da: – un insieme di individui o istituzioni – un insieme di risorse da condividere – un insieme di regole per la condivisione • Una VO è una collezione di utenti che condividono regole per l’accesso a risorse di calcolo e a dati distribuiti e perseguono obiettivi comuni • Concetto chiave : l’abilità di negoziare le modalità di condivisione delle risorse tra i componenti di una VO (providers and consumers) ed il successivo utilizzo per i propri scopi Virtual Organization • Le regole per la condivisione delle risorse specificano quando, dove e cosa può essere fatto. • Vengono quindi richieste: – Politiche e meccanismi per formalizzare tali regole – Autenticazione: stabilire l’identità degli utenti – Autorizzazione: determinare se una operazione è coerente con le regole di condivisione definite Accesso on-line di strumenti scientifici Advanced Photon Source wide-area dissemination real-time collection tomographic reconstruction archival storage desktop & VR clients with shared controls I problemi che il Grid vuole risolvere Il Grid ha una valenza molto pragmatica – Nasce dall’informatica applicata – Si focalizza sul permettere un nuovo tipo di applicazioni – Investire nel Grid trova motivazioni nella promessa di nuove capacità, non solo nell’informatica ma in altri settori e aree di lavoro • Contesto Applicativo – Finanza – Industria – Servizi Qual’è il tipo di applicazioni? • Compute intensive – Simulazioni interattive (climate modeling) – Simulazioni e analisi su larga scala (formazione di galassie, campi gravitazionali, previsione di terremoti) – Ingegneria (studi di parametri, linked component models) • Data intensive – Analisi di dati sperimentali (high-energy physics) – Analisi delle immagini (astronomia, climatologia, ecologia) Qual’è il tipo di applicazioni? • Collaborazioni distribuite – Strumenti online (microscopi, x-ray devices, etc.) – Remote visualization (studi climatologici, biologia) – Ingegneria (large-scale structural testing, ingegneria chimica) • E tutti problemi tali da richiedere la collaborazione di persone appartenenti a organizzazioni diverse e la condivisione di risorse di calcolo, dati, strumenti e conoscenze Temi richiesti Le problematiche correlate alle Griglie sono molteplici: • • • • • • Security Monitoring/Discovery Computing/Processing Power Moving and Managing Data Managing Systems System Packaging/Distribution Cosa c’è di nuovo… • Le tecnologie esistenti non risolvono adeguatamente le esigenze di sharing – Richieste complesse: “lanciare un programma X su un elemento Y soggetto alle politiche P, fornendo l’accesso ai dati Z rispettando le politiche di Q” – High performance: richieste per sistemi avanzati ed ad alte prestazioni – Risorse eterogenee: computer, dati, politiche, conoscenze... • Problem solving coordinati – Estensione della visione client-server: analisi ed elaborazione di dati distribuiti A Checklist for a GRID to be a GRID (I.Foster) • Il Grid coordina risorse che non sono soggette ad un controllo centralizzato e fornisce meccanismi per la sicurezza, policy, membership… • Usa protocolli ed interfacce standard, open e general-purpose. • Il Grid permette l’utilizzo delle sue risorse con differenti Qualities of Service ( tempo di risposta, throughput, disponibilità, sicurezza,…). • L’utilità del sistema (middle tier) è molto maggiore a quella della somma delle sue parti nel soddisfare le necessità dell’utente. Computational Grid • Il fine: sharing di risorse di calcolo flessibile, sicuro, coordinato attraverso collezioni dinamiche di individui, istituzioni e risorse • Permette a “gruppi di utenti VO” di condividere risorse geograficamente distribuite visto che perseguono fini comuni - assumendo l’assenza di – – – – Una locazione centralizzata Un controllo centralizzato Onniscienza Esistenza di relazioni di fiducia Risorse • Un’entità che viene condivisa… – Computer, dati, software, elementi di storage • …non necessariamente entità fisica… – File system distribuito, “persone” • …definita in termini di interfacce e non di strumenti – Uno scheduler come PBS definisce una risorsa computazionale – Open/close/read/write definiscono degli accessi a file system distribuiti, come NFS, DFS La tecnologia • Globus toolkit E’ un sistema open-source che si propone come lo standard de facto per il middleware per lo sviluppo di Grid – GT2 (1998) fornisce i protocolli, le API ed i servizi utilizzati per lo sviluppo di centinaia di Grid – GT2 fornisce strumenti per autenticazione, resource discovery, resource access, data movement ed altro – Lo sviluppo di GT non è comunque lineare, in molti casi non è formalmente definito e ben documentato – Una storia analoga accompagna altri sistemi quali ad esempio Condor – Attualmente GT è orientato ai servizi (Grid service) La tecnologia • Open Grid Services Architecture (OGSA) per mettere ordine nello sviluppo del middleware per Grid è stato creato (1998) il Global Grid Forum (GGF) • Nel 2002 il GGF ha proposto uno standard architetturale condiviso dalla comunità: OGSA • OGSA porta ad un allineamento del Grid computing con progetti di tipo industriale che propongono architetture service –oriented e Web services • OGSA prevede uno standard reale e più implementazioni una delle quali è GT nelle versioni GT3 (2003) e GT4 (2004) Orientamento ai servizi – Integrazione – Virtualizzazione • Esistono tre concetti chiave per la comprensione del Grid e delle sue tecnologie: – Orientamento ai servizi – Un servizio è accessibile attraverso uno scambio di messaggi che provocano l’effettuazione di un’operazione; la parte visibile e fissa è l’interfaccia, l’implementazione è isolata sia in termini di “modo” che di locazione; – Virtualizzazione – è una conseguenza del punto precedente – Integrazione – la distinzione tra implementazione ed interfaccia permette di utilizzare i servizi come building block con i quali sviluppare nuovi servizi.