Sun N1 Grid Engine l alternativa open al calcolo distribuito. Gian Luca Farina Perseu Responsabile Sviluppo Software admin Srl



Documenti analoghi
Linux nel calcolo distribuito

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

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

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

MODULO 02. Iniziamo a usare il computer

Architetture Applicative

Improve your management productivity

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

Presentazione di Cedac Software

Grid Tutorial Day Palermo, 13 Aprile 2011 Job Description Language Gestione job utente

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

Il Sistema Operativo (1)

Sistemi Operativi. Conclusioni e nuove frontiere

OmniAccessSuite. Plug-Ins. Ver. 1.3

Sommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Architettura di un sistema operativo

GESTIONE DEI PROCESSI

Firewall applicativo per la protezione di portali intranet/extranet

Sistemi informativi secondo prospettive combinate

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

Griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

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

Migliorare le prestazioni delle PMI collaborando con clienti e fornitori Sviluppo di nuove abilità e strumenti ICT di supporto

Corso di Informatica

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

P R O G E T T A Z I O N E E I M P L E M E N T A Z I O N E D E L L E I N T E R F A C C E U T E N T E

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

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

Infrastruttura di produzione INFN-GRID

MDaemon GroupWare Per offrire agli utenti le funzionalità di condivisione calendario, rubrica e gli altri oggetti di OutLook

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

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

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

Gaia Corbetta Convegno 3E - ATI/ANIMP 11 luglio 2013, Milano

Come UGF gestisce il Change con Endevor

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

Database e reti. Piero Gallo Pasquale Sirsi

Il clustering HA con Linux: Kimberlite

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Una rassegna dei sistemi operativi per il Cloud Computing

VMware. Gestione dello shutdown con UPS MetaSystem

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Concetti di base di ingegneria del software

CLUSTER COKA. Macchine e Risorse

Allegato 1 CIG FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Hardware delle reti LAN

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Laboratorio Virtuale NEPTUNIUS (Numerical. codes for computational fluid dynamics and. fluid structure interactions)

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

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

FONDAMENTI di INFORMATICA L. Mezzalira

ENEA GRID. CRESCO: Corso di introduzione. Autore: Alessandro Secco

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

Cluster per architetture a componenti

TERM TALK. software per la raccolta dati

MAGO CRESCO - SPI.2. Relazione finale sul Progetto MAGO. Consorzio Campano di Ricerca per l Informatica e l Automazione Industriale S.c.a.r.l.

Corso di Alfabetizzazione Informatica

Sistemi Operativi (modulo di Informatica II) I processi

La Gestione Documentale. Integrazione con Microsoft Dynamics NAV. Mario Pavese. Sales Manager Soluzioni EDP

Telematica II 17. Esercitazione/Laboratorio 6

System Center Virtual Machine Manager Library Management

Introduzione alla Virtualizzazione

TITLE Sistemi Operativi 1

CdL in Medicina Veterinaria - STPA AA

Il controllo della tua infrastruttura in palmo di mano, come anticipare i problemi prima che sia troppo tardi

Presentazione di virtual desktop client + LTSP server

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Reti di calcolatori. Reti di calcolatori

Titolo Perché scegliere Alfresco. Titolo1 ECM Alfresco

Introduzione ai sistemi operativi

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Informatica. Prof. A. Longheu. Introduzione a Java

Base di dati e sistemi informativi

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Spunti ed Elementi da Intel Cloud Forum

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

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

PARTE 4 La Macchina Software

Sistemi Informativi Distribuiti

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Applicazione: Servizio periferico per l'invio telematico delle domande di nulla osta al lavoro

INFORMATICA 1 L. Mezzalira

Laboratorio di Informatica

MDaemon GroupWare Per offrire agli utenti le funzionalità di condivisione calendario, rubrica e gli altri oggetti di MS Outlook

TYPO3 in azione con l infrastruttura ZEND: affidabilità e sicurezza. Mauro Lorenzutti CTO di Webformat srl mauro.lorenzutti@webformat.

SERVICE MANAGER. Architettura Client-Server e Web based di Servizi Specializzati per la Gestione di Periferiche e Connettività

Tecnologia.

Specifiche tecniche e funzionali del Sistema Orchestra

Componenti Web: client-side e server-side

Automazione Industriale (scheduling+mms) scheduling+mms.

Docebo: la tua piattaforma E-Learning Google Ready.

Indice generale. Gli autori...xiii. Prefazione...xv. Benvenuti nel cloud computing...1

Il sistema operativo TinyOS

Transcript:

Sun N1 Grid Engine l alternativa open al calcolo distribuito Gian Luca Farina Perseu Responsabile Sviluppo Software admin Srl

Agenda: Il mondo HPC Sun N1 Grid Engine DRMAA Demo GECO (Open Source)

admin System Solutions Srl

Chi è admin System Solutions Srl: Società di servizi informatici nata nel gennaio 2000 Progetti relativi all'organizzazione informatica in ambito Automotive Consulenze sistemistiche in ambito CAE/CAD Progetti in collaborazione con fornitori Software/Hardware Formazione sistemistica Unix/Linux

Chi è admin System Solutions Srl: Attività relative al supporto sistemistico: Gestione Posti di Lavoro Tecnici Gestione Storage/Backup Gestione Network Gestione Sicurezza Utilizzo privilegiato di software Open Source

Chi è admin System Solutions Srl: Attività relative all'hpc Esperienza 15 anni Installazione e configurazione cluster HPC Gestione e ottimizzazione di server di calcolo SMP (Symmetric Multi Processor) Metodologia raffinata nel tempo

Chi è admin System Solutions Srl: Partner Sun per N1 Grid Engine Partner MSC Software per SimManager (prodotto PLM per il CAE e la simulazione) Partner per attività di consulenza e installazioni/gestione di cluster basati su processori a 32bit e 64bit Linux o Unix:

Chi è admin System Solutions Srl: admin e Sun N1 Grid Engine: 4 anni di esperienza gestisce in modo continuativo per 6 clienti circa 250 CPU gestisce presso un cliente, per conto di Sun Microsystem, un cluster di +1000 CPU

Chi è admin System Solutions Srl: Principali clienti:

Chi è admin System Solutions Srl: Dal 2005 sviluppa progetti software nelle aree applicative tipiche dei suoi clienti: CAE CAD HPC Monlic: Software per il monitoraggio dei Licence Server (FlexLM, Lum, altri proprietari)

Il mondo HPC (High Performance Computing)

Un po' di terminologia: Cluster: insieme di nodi interconnessi Nodi: ogni computer facente parte del cluster Risorse di Sistema: i vari componenti Hw/Sw che compongono un nodo Job: esecuzione di un programma assegnato a uno o più nodi Scheduling dei Job: il criterio con il quale un dato job viene assegnato ad un certo nodo/nodi

Cos'è l'hpc? Per High Performance Computing si intende una tipologia di clustering Permette l'esecuzione distribuita di processi sui nodi del cluster I processi dialogano fra di loro implementando anche il parallelismo Realizza nel modo migliore la legge di Amdahl

Altre tipologie di cluster. Oltre ai cluster per l'hpc si possono identificare altre tipologie di cluster per : High Availability: Load Balancing: Grid Computing:

Altre tipologie di cluster High Availability: Garantisce una continuità dell'infrastruttura tramite una disponibilità dei servizi e dei sistemi Implementazione basata sia su software che su hardware Tende a garantire i servizi sempre di più al 100% Bastano minimo due nodi

Altre tipologie di cluster Load Balancing: Usato per bilanciare il carico su vari server Il bilanciamento avviene dinamicamente Include caratteristiche di High Availability

Cos'è l'hpc? Cosa differenzia un cluster HPC da uno Load Balancing? In un cluster HPC i nodi eseguono in maniera coordinata programmi paralleli che fanno un uso intenso della CPU In un cluster Load Balancing i processi non dialogano fra di loro

Altre tipologie di cluster Grid Computing: Usa le risorse di molti computer separati e collegati in rete fra di loro La rete può essere anche geografica (WAN) o Internet Uno degli esempi più famosi di Grid Computing è il progetto SETI@home

Cos'è l'hpc? Cosa differenzia un cluster HPC da uno Grid? La differenza concettuale è minima La differza maggiore è nella localizzazione dei sistemi: HPC: tipicamente i molteplici nodi sono interconnessi attraverso canali ad altissima velocità e bassissima latenza (es. InfiniBand, Myrinet, Quadrics) Grid: i nodi sono distanti fra loro e collegati attraverso Internet. Interconnessione lenta.

Cos'è l'hpc? Quello che rende particolare un cluster HPC è di possedere tutte le caratteristiche atte a permettere un'elaborazione nel più breve tempo possibile. Per tale obbiettivo si sono approntati accorgimenti atti a sfruttare il parallelismo di alcuni algoritmi, ovvero la possibilità di applicare contemporaneamente lo stesso algoritmo su dati differenti

Cos'è l'hpc? Come si realizza il parallelismo in un cluster HPC? Insieme di nodi Single System Image Il singolo job viene eseguito contemporaneamente su più nodi Librerie per il calcolo parallelo: MPI (Message Passing Interface) PVM (Parallel Virtual Machine)

Cos'è l'hpc? MPI: Usata dai maggior software vendor Due implementazioni principali: MPICH: http://www-unix.mcs.anl.gov/mpi/mpich1/ LAM: http://www.lam-mpi.org/ PVM: implementazione poco usata http://www.csm.ornl.gov/pvm/

Cos'è l'hpc? Meglio un cluster o un sistema multicpu SSI? Un cluster garantisce: Maggior rapporto prestazioni/prezzo Scalabilità Obsolescenza dell'hardware Disponibilità delle risorse Minor Down-Time per manutenzione

Sun N1 Grid Engine

Sun N1 Grid Engine Implementa un completo sistema DRM (Distribuited Resource Management) Completamente gratuito (con supporto a pagamento da parte di Sun) Disponibile su http://gridengine.sunsource.net Binari per i maggiori SO del mercato Utilizzato in più di 10.000 installazioni

Sun N1 Grid Engine Funzionalità DRM: Ottimizza l'allocazione delle risorse richieste dai job Gestisce un pool di risorse, garantendo un unico punto di accesso alle risorse distribuite del cluster Accetta la sottomissione dei job degli utenti e li schedula sui nodi del cluster

Sun N1 Grid Engine Come funziona: Access Tier Management Tier Server Farm Computer Tier

Sun N1 Grid Engine Come funziona: Sottomissione (Submit) Distribuzione (Scheduling) Server Farm Elaborazione (Execution)

Sun N1 Grid Engine Come funziona: Accetta le richieste dell'utente (submit job) Tiene in sospeso i job finchè le risorse necessarie all'esecuzione sono disponibili (pending) Invia il job al nodo per l'esecuzione (dispatching) Gestisce l'intero ciclo di vita del job (in run) Informa dello stato dei job e delle informazioni di esecuzione (accounting)

Sun N1 Grid Engine L'interazione con N1GE avviene attraverso linea di comando (shell) Comandi principali: qstat (lista job e dettaglio) qsub (submit di un job) qalter (modifica job) qhost (stato dei nodi del cluster)

Sun N1 Grid Engine Come funziona qstat: job-id prior name user state submit/start at queue slots ja-task-id ---------------------------------------------------------------------------------------647 1.09816 ppp.csh bianchi qw 06/16/2006 13:15:34 4 650 1.09328 ppp.csh bianchi qw 06/16/2006 15:21:08 4 651 1.02661 ppp.csh bianchi qw 06/16/2006 15:35:45 2 658 0.50500 Running rossi Eqw 06/16/2006 16:36:15 1 663 0.50500 N_input_20 rossi qw 06/16/2006 18:36:17 1 664 0.50500 N_input_22 rossi qw 06/16/2006 18:36:35 1

Sun N1 Grid Engine Come funziona qstat -j: job_number: exec_file: submission_time: owner: uid: group: gid: sge_o_home: sge_o_log_name: sge_o_path: sge_o_shell: sge_o_workdir: sge_o_host: account: stderr_path_list: hard resource_list: mail_list: notify: job_name: stdout_path_list: 664 job_scripts/664 Fri Jun 16 18:36:35 2006 rossi 5000 fem 1000 /home/col col /usr/x11r6/bin:/root/bin /bin/csh /home/spawnarea/f11/513 admin2 sge input.sge_22133_err naslic=1 col@admin2 FALSE N_input_22133.job input.sge_22133_out

Sun N1 Grid Engine Come funziona qhost: HOSTNAME ARCH NCPU LOAD MEMTOT MEMUSE SWAPTO SWAPUS ------------------------------------------------------------------------------global admin1 lx24-amd64 1 0.07 1001.6M 289.5M 2.0G 92.2M admin2 lx24-amd64 1 0.02 1001.6M 661.7M 2.0G 92.6M node1 lx24-x86 1-273.8M - 737.3M node2 lx24-x86 1-273.8M - 737.3M -

Sun N1 Grid Engine Feature precendemente a pagamento, ora gratuite: DB per accounting e analisi dettagliate ARCO, applicazione webbased per la visione dei dati di accounting e analisi Supporto ai nodi Windows

Sun N1 Grid Engine DEMO

DRMAA Distribuited Resource Management Application API

DRMAA Librerie in C o Java per la gestione dei job Working Group su www.drmaa.org Standard riconosciuto dal Global Grid Forum (www.ggf.org) Promosso da numerosi vendor, quali Sun, Intel, IBM, Altair, Condor Sun rilascia l'implementazione DRMAA per N1GE gratuitamente

DRMAA Queste librerie permettono lo sviluppo di applicazioni grid-aware Utili soprattutto in contesti applicativi misti Facile realizzare Web-Service che permettono un utilizzo, in modalità ASP, di servizi specifici (ad esempio Decision Support)

DRMAA Cosa permettono di fare? Il set di operazioni al momento è relativamente limitato Vengono supportate le maggiori operazioni: Sottomissione Job Monitoraggio e Controllo Job Recupero dello stato di un Job terminato

DRMAA Pro: Astrazione dei comandi da shell Ogni vendor rilascia la sua implementazione API veramente semplici da usare Contro: API solo Job oriented

DRMAA Come Funzionano? Le due classi principali: Session: Interfaccia unica per tutte le operazione sul sistema DRM JobTemplate: Classe per la creazione di un job con tutte le sue proprietà

DRMAA Come Funzionano? Esempio. public static void main (String[] args) { SessionFactory factory = SessionFactory.getFactory (); Session session = factory.getsession (); try { session.init (null); JobTemplate jt = session.createjobtemplate (); jt.setremotecommand ("sleeper.sh"); jt.setworkingdirectory (HOME_DIRECTORY + "/jobs"); jt.setargs (new String[] {"5"}); String id = session.runjob (jt); (continua)

DRMAA } Come Funzionano? Esempio (continua). session.deletejobtemplate (jt); session.exit (); } catch (DrmaaException e) { System.out.println ("Error: " + e.getmessage ()); }

DRMAA Come Funzionano? Un'altra importante classe: JobInfo: Informazioni sullo stato e l'uso di un job terminato.

DRMAA Come Funzionano? Esempio: JobInfo info = session.wait (id, Session.TIMEOUT_WAIT_FOREVER); if (info.wasaborted ()) { System.out.println("Job "+info.getjobid()+"never ran"); } else if (info.hasexited ()){ System.out.println("Job "+info.getjobid()+"finished regularly with exit status"+info.getexitstatus()); } else if (......... }

Software per la GEstione delle COde

Cos'è GECO? Interfaccia Web-Based per il monitoraggio e la gestione dei Job e dei cluster. Versione Open Edition per il monitoraggio delle code di un sistema DRM Versione Enterprise Edition per la gestione dei progetti e del ciclo di vita dei Job (sottomissione, controllo, cambio stato, gestione working dir) e il monitoraggio dei cluster

Architettura Sistema completamente J2EE compatibile Interfaccia Web-Based Mozilla/FireFox e Internet Explorer compatibile Interfaccia grafica dinamica (AJAX powered) Sistema pluggabile per compatibilità con i maggiori sistemi DRM (N1GE, LSF, PBS)

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

GECO - Architettura Logica

Architettura di Scripting Il cuore del sistema di integrazione con i DRM

Architettura di Scripting (que_submit) Gestisce il trasferimento degli input sul nodo di calcolo e la restituzione dei risultati Attualmente integrato e testato con le seguenti applicazioni: CFX Fluent Poweflow - Star-CD MSC Nastran, Marc, Adams Abaqus LS-Dyna Pam-Crash - Radioss

DEMO

Grazie! Per info: minelli@adminsrl.it farinaperseu@adminsrl.it http://www.adminsrl.it