ASSIST e Programmazione Grid Marco Vanneschi Dipartimento di Informatica Università di Pisa.

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

Centro Internazionale per gli Antiparassitari e la Prevenzione Sanitaria Azienda Ospedaliera Luigi Sacco - Milano WP4: Cumulative Assessment Group refinement.
L’esperienza di un valutatore nell’ambito del VII FP Valter Sergo
Cache Memory Prof. G. Nicosia University of Catania
Teoria e Tecniche del Riconoscimento
Progettazione dettagliata delle Componenti
Interfacce Java.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
A. Oppio, S. Mattia, A. Pandolfi, M. Ghellere ERES Conference 2010 Università Commerciale Luigi Bocconi Milan, june 2010 A Multidimensional and Participatory.
EBRCN General Meeting, Paris, 28-29/11/20021 WP4 Analysis of non-EBRCN databases and network services of interest to BRCs Current status Paolo Romano Questa.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
La stenosi carotidea a rischio: evoluzione dell’inquadramento US
HBEFA - Handbook Emission Factors for Road Transport
1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Cancer Pain Management Guidelines
SOCIOLOGIA DEI PROCESSI CULTURALI E COMUNICATIVI Prof.ssa Donatella Padua A.A. 2011/12 A.A. 2011/12.
1 A neural approach to the analysis of CHIMERA experimental data CHIMERA Collaboration S.Aiello 1, M. Alderighi 2,3, A.Anzalone 4, M.Bartolucci 5, G.Cardella.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
J0 1 Marco Ronchetti - Corso di Formazione Sodalia – Febbraio 2001 – Modulo Web Programming Tomcat configuration.
C Consiglio Nazionale delle Ricerche - Pisa Iit Istituto per lInformatica e la Telematica Reasoning about Secure Interoperation using Soft Constraints.
Biometry to enhance smart card security (MOC using TOC protocol)
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
Introduzione alle griglie computazionali - a.a LEZIONE LEZIONE N. 12 Grid Monitoring modello GMA GridICE GridICE demo Introduzione alle griglie.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Infrastruttura & Competenze ICT ENEA
Fanno ormai parte della nostra vita di tutti i giorni….
PLANCK LFI N. Mandolesi Consorzio PLANCK-LFI Incontro con Prof. P. Benvenuti IASF/CNR - Sez. di Bologna, Gennaio 2004.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Magnetochimica AA Marco Ruzzi Marina Brustolon
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Introduzione Grid1 Introduzione ai Sistemi Grid. Introduzione Grid2 Generalità Un sistema Grid permette allutente di richiedere lesecuzione di un servizio.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
WP 10 – Applicazioni Astrofisica – stato Leopoldo Benacchio INAF Osservatorio Astronomico di Padova Pisa maggio 03.
ATE / 31 Lezione 3 i sistemi automatici di misurazione - gli ATE.
Compito desame del Svolgimento della Sezione 5: CONTROLLORI Esempio preparato da Michele MICCIO.
1 Attivita di ricerca Carlo Batini. 2 Aree Come costruire ed esprimere il contenuto informativo integrato di sistemi informativi complessi basati.
SOURCE TERM ON NPP SAFETY ANALYSES Marino Mazzini Professore Ordinario nel s.s.d. Impianti Nucleari Università di Pisa Facoltà di Ingegneria Dipartimento.
Concord A tool for the analysis and concordances of the terminological constituents P. Plini, N. Mastidoro* * - Èulogos, Rome Institute for Atmospheric.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
PASTIS CNRSM, Brindisi – Italy Area Materiali e Processi per lAgroindustria Università degli Studi di Foggia, Italy Istituto di Produzioni e Preparazioni.
Ischia, giugno 2006Riunione Annuale GE 2006 Exploiting the Body Effect to Improve Analog CMOS Circuit Performances *P. Monsurrò, **S. Pennisi, *G.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Scuola Superiore SantAnna Simulazione di protocolli RT per Reti di Sensori Wireless in ambiente NS-2 Giuseppe Lipari, Paolo Pagano.
Motor Sizing.
Area Di Progetto I.T.I.S G.Marconi Dalmine Classe 5°AET
Rosemarie Truglio By, Giulia Abad. Questo è Rosemarie Truglio Rosemarie ha cinquantatre anni Rosemarie ha cinquantatre anni Rosemarie è da Hoboken, Nuovo.
ISTITUTO DI SCIENZE E TECNOLOGIE DELLA COGNIZIONE Piero Cosi SEZIONE DI PADOVA - FONETICA E DIALETTOLOGIA Via Martiri della libertà, 2 – adova (Italy)
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Architettura software La scelta architetturale: MVA (Model – View – Adapter/Control) The view is completely decoupled from the model such that view and.
Federazione Nazionale Commercio Macchine Cantiermacchine Cogena Intemac Unicea Unimot ASSOCIAZIONE ITALIANA PER LA PROMOZIONE DELLA COGENERAZIONE.
Riccardo Mazza, AICA 2001, 20 sett Scuola universitaria professionale della Svizzera italiana Formazione continua e classe virtuale lapprendimento.
20 maggio 2002 NETCODE Set up a thematic network for development of competence within the Information Society.
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
Competitività 2.0 – La leva della «Modellazione e Prototipazione Virtuale dei Prodotti e Processi» 1 Modellazione e Prototipazione Virtuale dei Prodotti.
Collection & Generics in Java
EMPOWERMENT OF VULNERABLE PEOPLE An integrated project.
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
LA WEB RADIO: UN NUOVO MODO DI ESSERE IN ONDA.
UITA Genève ottobre Comitè du Groupe Professionnel UITA Genève octobre 2003 Trade Union and Tour.
A PEACEFUL BRIDGE BETWEEN THE CULTURES TROUGH OLYMPICS OLYMPIC CREED: the most significant thing in the olympic games is not to win but to take part OLYMPIC.
Guida alla compilazione del Piano di Studi Curricula Sistemi per l’Automazione Automation Engineering.
Lezione n°27 Università degli Studi Roma Tre – Dipartimento di Ingegneria Corso di Teoria e Progetto di Ponti – A/A Dott. Ing. Fabrizio Paolacci.
Italian 1 -- Capitolo 2 -- Strutture
Prof. G.PassianteCorso di Economia dell’innovazione - A.A. 2012/13 The Process Handbook: A Tool for Business Process Redesign.
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
Human machine interaction
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Transcript della presentazione:

ASSIST e Programmazione Grid Marco Vanneschi Dipartimento di Informatica Università di Pisa

Gruppo Assist, gennaio 2003 Marco Aldinucci Sonia Campa Pierpaolo Ciullo Massimo Coppola Marco Danelutto Silvia Magini Paolo Pesciullesi Alessandro Petrocelli Edoardo Pistoletti Laura Potiti Roberto Ravazzolo Massimo Torquati Marco Vanneschi Corrado Zoccolo Segretaria del Gruppo: Simona Moi

Obiettivo Caratteristiche base di ASSIST e possibili evoluzioni Relazione con le esigenze della programmazione di griglie computazionali Componenti e oggetti Applicazioni ASSIST + CORBA

High-performance Grids: high-speed networks of … of clusters of … SMP/MPP …. Uniform approach to distribution + parallelism Distributed Supercomputing,Distributed Supercomputing, On demand HPC,On demand HPC, Data Intensive Computing,Data Intensive Computing, Collaborative ComputingCollaborative Computing Grid aware ComputingGrid aware Computing … Parallel Programming as the basic methodology to understand and to realize development tools to be characterized wrt the specific features of Grids to be rendered consistent with the programmability, compositionality and reuse standards

Uniform approach to distribution + parallelism: why ? Not so obvious that distinct parallel components / objects can be efficiently allocated to distinct nodes –Optimization of computational and data resources –Evolution of networking and communication technology Different versions of the same applications can be produced acting on parallelism degree, parallelism forms, multiplicity of components / objects Not necessarily parallelism inside a component / object is fine grain; e.g. coarse grain farms Adaptive applications Data intensive applications –Interfacing data management to computations

Component-structured application Abstraction of Memory Hierarchy Data intensive applications Abstraction of Shared Objects Scheduling and configuration of complex, high- volume data flows through multiple levels of hierarchy.

ASSIST Structured Parallel Programming + High-performance Components + Objects

Results of ASI-PQE project and Agenzia 2000 ASSIST version 1.0 for homogeneous and heterogeneous clusters (DI-UniPi, Synapsis) –A subset of ASSIST-CL –Support based on ACE + Distributed Shared Memory –Object-based design of compiler and support –Task-code and AssistLib: lower levels of programmability Integration of scientific libraries in ASSIST support (CPS-CNR, Na) AssistConf: a first tool for Grid configuration on top of Globus (ISTI-CNR, Pi) Demonstration on computational chemistry applications (UniPg)and benchmarking (PoliMi)

ASSIST Coordination Language ( ASSIST-CL ) Programs as general graphs whose nodes are parallel modules and/or sequential modules Compositionality through streams Data-flow behaviour + state + nondeterminism Programs reusable as nodes of other programs Programs could also be expressed as SkIE graphs (pipeline, farm, loop skeletons), where the composed modules are ASSIST -modules

External Objects Application structuring through Parallel Components and Objects M3M3 Component: Parallel (or sequential) module Input streams Output stream M5M5 s 34 M4M4 s 25 s 45 s 54 M1M1 s 13 M2M2 s 23 Global variables Shared memory Files and I/O Web CORBA ASSIST modules... Some abstractions are present in ASSIST 1.0, others will be realized in Grid projects

Graphs and streams ASSIST networks of components operate on streams DAG as particular case (stream length = 1) –co-scheduling is expressed by program or implemented at the support level –in ASSIST DAGs could also be executed in pipeline Importance of multiple streams –data intensive computations, –interactive computations, –calculation / communication overlapping, – …

Formalisms for ASSIST programs as a graph M1M1 M2M2 M3M3 M4M4 M5M5 s 13 s 23 s 34 s 25 generic main (...) stream int s13; stream int [N][N] s23; stream int [N][N] s34; stream int s25; M1 (ouput_stream s13); M2 (output_stream s23, s25); M3 (input_stream s13, s23; output_stream s34); M4 (input_stream s34); M5 (input_stream s25); Graphs with general structure Compositionality through streams (i.e. sequences of typed data) Current, experimental syntax/semantics; the FIRB GRID.IT project will consider IDL-compliant CCA-compliant scripting languages...

Parallel Module (parmod): parallel component in ASSIST Set of Virtual Processors with names VP External Objects Output streams... Input streams... Other Modules Other Modules Several distribution and collection strategies, nondeterminism Distributed internal state

Parallel components + objects Not only a classical approach to software reuse Often, external objects are simpler and/or more performant solutions to programming problems –e.g. data distribution, load balancing, memory capacity, … –dynamic data structures (shape and size not known until run-time) In turn, parallel ASSIST programs may be used as objects C1C1 C2C2 CiCi CnCn S1S1 S2S2 SjSj SmSm... Components and streams External Objects...

An example of complex application: data mining C4.5 expressed as a parallel Divide & Conquer T Client Test Divide Conquer training set TS, decision tree P1P1 PNPN For load balancing reasons, during some phases the same parmod (Divide) works in a data-parallel manner, in other phases in a farm-like manner, in other phases … An example of adaptive strategy expressed at the programming level.

Data intensive computations in ASSIST Object (possibly high-bandwidth) Abstraction of high- performance objects can be implemented by ASSIST parmod(s) with proper interface (expressed in ASSIST or another formalism) VP Input Section Output Section ASSIST module (parallel component) External Object Interface (possibly parallel)

Data intensive computations in ASSIST 1.High-performance abstaction of objects (e.g. complex memory hierarchies) can be implemented by parallelism (see previuos slide). 2.In some cases, it could be more efficient to interface external objects through the Input/Output sections of parallel components: an ASSIST extension to be studied. 3.The combination of techniques 1 and 2 might be very powerful.

Input Section, Virtual Processors, Output Section of parmod I Input Section s 13 s 23 O Output Section s 34 VP Virtual Processors Management of input streams according to the proper strategy (data-flow, nondeterministic) Possible pre-elaborations (filter) and operations Distribution of received values to VPs For each output stream: Output strategies of values computed by VPs Possible post-elaborations and operations External Objects internal pipelining

Input Section: data distributions On demand Broadcast Scatter Multicast Input/Output sections could be optimized for external objects interfacing data management, memory hierarchies minimizing bottlenecks (pre/post-processing) in addition to VP parallel access to objects security and fault tolerance + nondeterminism and on the fly processing of stream data

Optimizations, scheduling, mapping, … (FIRB GRID.IT project) New research issues [e.g.: GrADS] are to be dealt with: –challanges in static + dynamic compiler design –importance of a constraint-based programming model New impacts on middleware –new light-weight middleware –exploiting Knowledge Discovery in Grid databases More that one level of programmability? Expressive power for dynamic behaviours.

ASSIST and CORBA

ASSIST e CORBA Un programma ASSIST può importare ed esportare servizi tramite lo standard CORBA. ASSIST vede CORBA come un oggetto esterno Limportazione/esportazione avviene allinterno delle procedure ( proc ) di un qualsiasi modulo sequenziale o parallelo. Lutilizzo di CORBA allinterno di un programma ASSIST non richiede particolari accorgimenti sintattici.

Cliente in ASSIST Il Server CORBA esporta un servizio che si può utilizzare in un programma ASSIST. Il Cliente è un modulo ASSIST (sequenziale o parallelo) che: inizializza un ORB si procura un object Reference invoca il metodo del server. Server CORBA Client ASSIST

Cliente parallelo Il programma ASSIST ottiene i dati di input dal server CORBA - GUI Il programma ASSIST esegue N-body e visualizza i dati tramite il server CORBA. Linterazione avviene quindi contemporaneamente con il calcolo GUI Server CORBA clientloop N-body Programma ASSIST

Esportazione di servizi Ogni applicazione F scritta in ASSIST, con un INPUT (A) ed un OUTPUT (B), puo essere esportata come servizio attraverso CORBA, aggiungendo allapplicazione un modulo che svolga le funzioni del Server. Il Server esporta il metodo do_F con lINPUT e lOUTPUT dellapplicazione F. server F Programma ASSIST A B Programma ASSIST disponibile come servizio CORBA

Esempio di esportazione di servizi SPT: parmod ASSIST Server: modulo ASSIST che si interfaccia con il mondo esterno mediante CORBA. Il server puo essere generato in modo automatico a partire dal codice ASSIST. Client: programma scritto in un qualsiasi linguaggio supportato da CORBA ; invoca il metodo do_spt esportato dal server. server spt Programma ASSIST A B Client con interfaccia CORBA parmod one parmod array B = do_SPT(A)

The e nd