520 likes | 590 Views
Architetture Parallele e Distribuite 2008-09 1. ASSIST: cenno 2. Grid Computing 3. Adattività. Livelli e moduli. indipendente dal concetto di processo. Applicazione sviluppata con strumenti user-friendly. Applicazioni. compilata / interpretata in. indipendente dall’architettura.
E N D
Architetture Parallele e Distribuite2008-091. ASSIST: cenno2. GridComputing3. Adattività
Livelli e moduli indipendente dal concetto di processo Applicazione sviluppata con strumenti user-friendly Applicazioni compilata / interpretata in indipendente dall’architettura Programma parallelo (processi comunicanti e/o oggetti condivisi) Processi compilato / interpretato in un programma parallelo eseguibile su Assembler Firmware Uniprocessor di vari tipi Multiprocessor di vari tipi e con vari processori Cluster di vari tipi e con vari processori Firmware Architettura 1 supporto diverso per ogni architettura Architettura 2 Architettura 3 Architettura X Hardware
Departmentof Computer Science, Universityof Pisa ASSISTA ProgrammingEnvironment for High-performancePortableApplications on Clusters, Large-scalePlatforms, and Grids Un ambiente di programmazione per macchine parallele e Next Generation Grid • Projects: • ASI-PQE2000 • CNR Agenzia 2000 • MIUR-CNRStrategicProgrammes • MIUR-FIRB Grid.it • SFIDA-PMI • BEInGRID • In.Sy.Eme • Implementations: • HeterogeneousCluster/Beowulf • CORBA, WS interoperability • Grid version(on top ofGlobus 4) • Component-basedGrid-awareversion • CELL version, on top of LC • ASSISTANT for Mobile Grid
Multiple input and output typed data streams Set of Virtual Processors (VP) executing user code The parmod construct VPs have assigned topology for naming (one, none, arrays)
distribution and collection strategies multicast, scatter, on-demand, scheduled; gatherfromall, fromany, reduce input and output sections can alsohostarbitraryuser code The parmod construct
Partitioning rules, replication VPs host several user functions, activation can be data-driven (CSP-like nondeterministic execution, guarded channels) VPs share data structures (run-time provides consistency) The parmod construct
Architetture Parallele e Distribuite 2008-09 GridComputing: Stato e Prospettive
2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 Dominio amministrativo Dom. amm. Dom. amm. Linux / Intel Power PC / MacOS Middleware SUN / Solaris Le piattaforme abilitanti distribuite • Cluster omogenei,in generale con nodi paralleli SMP / NUMA • Cluster eterogenei • Virtual Private Networks,su scala LAN, MAN, WAN • Grid
Data Storage Cluster 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 Grid locale su Rete Fotonica Mainframe 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 Data Source Data Source Grid locale • Esempi di scenari di applicazioni su Grid: • Singoli job lanciati su singoli nodi • Job paralleli lanciati su più nodi, con co-allocazione statica • Job paralleli su più nodi con esecuzione e co-allocazione dinamica e adattiva Dalla tecnologia Grid corrente a Next Generation Grid
Esecuzione di un singolo job (sequenziale o parallelo) su un singolo nodo Risorse di esecuzione candidate e selezione dati codice, locale o remoto 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 • Scheduling statico • Spesso, esecuzione Batch (code) • Trasferimento dati via File Transfer • Possibilità di pianificare più fasi sequenziali utilizzando risorse diverse e File Transfer
Esecuzione di un job parallelo su più nodi, con co-allocazione statica Risorse di esecuzione candidate e selezione dati codice, locale o remoto 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 • Scheduling statico e co-allocazione • Esecuzione on demand, interattiva, (batch),… • Parallelismo intra- e inter-nodo: non solo task indipendenti • Dati comunicati via files, virtualizzazione storage, e data-streaming • Forme di parallelismo sensibili alla banda, latency-hiding
Esecuzione di un job parallelo su più nodi, con co-allocazione ed esecuzione dinamica e adattiva 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 2100 Fase iniziale di co-allocazione statica, ed esecuzione sulla configurazione iniziale In seguito ad eventi legati a emergenze, malfunzionamenti, esigenze di più elevata performance (Qos): riallocazione e ristrutturazione dinamica di codici e dati (replicazione, partizionamento, bilanciamento) in modo da rispettare un determinato “contratto di performance”
Grid Computing Piattaforma Grid: • “ Distributed computing infrastructure for • coordinated resource sharing • coordinated problem solving • in dynamic, multi-institutional Virtual Organizations (VO), • able to guarantee planned level of performances ”
Distributed/Web Computing: Objects / Component Software Technology High-performance Computing, Cluster Computing Knowledge Management and Data Intensive Computing Mobile Device Technology, Pervasive & Ubiquitous Computing Grid Computing: una nuova tecnologia nata dalla convergenza di tecnologie
Applicazioni Grid-aware • Gestione rischi ed emergenze • Telecomunicazioni • Wearable computing • e-business, Filiere e distretti industriali (PMI), Digital Business Ecosystems • Beni culturali • Progettazione cooperativa • Sanità, medicina • Biotecnologie • Robotica • Tutte le scienze computazionali • ecc.
“Non solo calcolatori”: tecnologia pervasiva e “ubiqua”, dispositivi mobili • Dispositivi mobili, PDA • Miniaturizzazione, embedding • Wearable Computing Fonte: EuroTeCH Group, Udine
Tecnologia Grid: “person-centric” • Piattaforme facili da usare • “People are nodes” • Paradigma “Anytime - Anyhow - Anywhere” • Esempi: e-Work, e-Health, … • Nuovi supporti a Risk Management • Grid = Milioni di nodi di elaborazione eterogenei, interconnessi e cooperanti dinamicamente • Applicazioni naturalmente distribuite, eterogenee, dinamiche e adattive
Middleware minimale: servizi base(ricerca di risorse, prenotazione, trasferimento dati, lancio esecuzione, ecc.) • Grid Middleware “base”: standard • Globus 2.x, 4.x, …, UNICORE, … • Global Grid Forum (GGF): standardizzazione • Open Grid Service Architecture (OGSA) • dai Web Services ai GridServices • ….. • Non sono strumenti di sviluppo applicazioni. • Non sono adatti ad applicazioni caratterizzate da alta eterogeneità, dinamicità, mobilità.
Grid nella loro interezza: NEXT GENERATION GRID Per applicazioni industriali • in molti casi, anche per il calcolo scientifico le caratteristiche di • Eterogeneità, • Dinamicità e adattività (“autonomicità”), • Capacità di usare in parallelo un numero qualsiasi, e variabile, di risorse, • Security consistente con la tecnologia Grid, • Gestione conoscenza Grid-wide, sono irrinunciabili per un deciso miglioramento rispetto alle attuali tecnologie IT e Web.
Evolution of computation ADATTIVITÁ della configurazione alle prestazioni: esempio (ASSIST) Perturbation : new applications are created 800000 5 processors 700000 600000 8 processors 4 processors 500000 Maximum Service Time 400000 Comp. time (msec.) specified in the contract 300000 Current Service Time 200000 Average Service Time 100000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Stream elements
Esecuzione con modalità MAP e 5 worker Esecuzione con modalità FARM e 5 worker Modalità MAP 10 worker Migrazione su nodi diversi Riconfigurazione delle prestazioni Adattività in ASSIST:stesso modulo autoriconfigurante (farm / map) per il controllo dell’occupazione di memoria • Dimensione di N = 5000 interi • Occupazione N² = 25M interi ~ 95 MB
Caso iniziale con modalità FARM e 1 worker Modalità FARM e 5 worker 140 Modalità MAP e 5 worker 120 Modalità MAP e 10 worker 100 Riconfigurazione delle funzioni 80 Tempo Medio di Servizio Tempo medio di servizio di Presenta (sec) Riconfigurazione delle prestazioni di Presenta 60 40 Contratto di QoS: variato dinamicamente il massimo Tempo di Servizio consentito 20 0 1 3 5 7 9 11 13 Trascorrere dell'elaborazione complessiva (min) Adattività in ASSIST:stesso modulo autoriconfigurante (farm / map) per il controllo del tempo di servizio • Dimensione di N = 5000 interi • Occupazione N² = 25M interi ~ 95 MB
Progetto In.Sy.Eme(Integrated Systems for Emergency) Mobile Grid Concetto di Grid Computing applicato in contesti pervasivi, mobili ed estremamente dinamici (WorkPackage 3)
Cluster Cluster Data & Knowledge Server Workstation Workstation Workstation Workstation Piattaforma distribuita In.Sy.Eme Sistema UNICO di risorse hw e sw, centrali e decentrate, generali ed embedded, fisse e mobili, … Integrazione ELABORAZIONE + COMUNICAZIONE per Modelli di Previsione, Supporto alle Decisioni, Gestione della Conoscenza, … MOBILE (PERVASIVE) GRID: gestione globale, adattiva e context-aware, per il controllo dinamico della Qualità del Servizio (QoS) delle applicazioni PDA PDA PDA PDA PDA PDA PDA vari tipi di reti fisse, mobili, ad hoc
Esempio: gestione delle inondazioni fluviali livello acqua, morfologia terreno, … Modello previsionale idrologico, idrodinamico Data Mining sul percorso del fiume, … Post-elaborazione (non banale) precipitazioni nel tempo e nello spazio, … da satellite, da radar meteo, da rilevatori pluviometrici, … (es: ALADIN) soccorritori, sovraintendenti, autorità, …, altri sistemi, …
Flood Forecasting Model Modello idrologico Esempio: MIKE 21 Equazioni differenziali della massa e momento Sistemi tridiagonali di grandi dimensioni Data- & compute- intensive
Modelli di previsione: quando e come eseguirli? • Nella struttura piramidale dell’organizzazione per la gestione delle emergenze, ogni soggetto (“utente”) ha propri interessi ed esigenze. • Diverse modalità per utilizzare, e interagire con, il sistema di gestione delle emergenze. • Modelli a medio-lungo termine • offline • Modelli a breve termine e in real-time • on demand
PDA PDA PDA PDA PDA PDA PDA PDA Cluster Cluster Data & Knowledge Server Workstation Workstation Workstation Workstation Elaborazioni a medio-lungo termine, offline • Elaborazione “di routine” e operatività normale visualizzazione elaborazione modelli visualizzazione
Elaborazioni offline vs on demand • Offline: • Definizione di strategie (GIS, Meteo, modelli, DSS, Data Mining), alte prestazioni (data, computation) • Problematica tecnologicamente avanzata, ma con alcuni risultati scientifico-tecnici noti in letteratura • On demand: Adattività e Context-Awareness • Problematica sostanzialmente nuova • Il sistema deve essere capace di adattare dinamicamente le applicazioni alle caratteristiche ed ai requisiti degli utenti e del contesto (QoS)
PDA PDA PDA PDA PDA PDA PDA PDA Cluster Cluster Data & Knowledge Server Workstation Workstation Workstation Workstation Applicazioni Adattive e Context-Aware • (Potenziale) emergenza e operatività normale visualizzazione elaborazione modelli elaborazione modelli visualizzazione
PDA PDA PDA PDA PDA PDA PDA PDA Cluster Cluster Data & Knowledge Server Workstation Workstation Workstation Applicazioni Adattive e Context-Aware • Emergenza e operatività ridotta Gestione dinamica QoS-aware di risorse molto eterogenee di calcolo + comunicazione: uso ottimale delle risorse disponibili. Recovery delle informazioni. elaborazione modelli Workstation Modifica dinamica di programmi (modelli) e di dati (informazioni disponibili / da inferire): modelli predittivi. elaborazione modelli e visualizzazione visualizzazione
PDA PDA PDA PDA PDA PDA PDA Applicazioni Adattive e Context-Aware • Emergenza e operatività ridotta Gestione dinamica QoS-aware di risorse molto eterogenee di calcolo + comunicazione: uso ottimale delle risorse disponibili. Recovery delle informazioni. Modifica dinamica di programmi (modelli) e di dati (informazioni disponibili / da inferire): modelli predittivi. elaborazione modelli e visualizzazione elaborazione modelli e visualizzazione
L2 cache L1 cache L1 cache P P P P P P P P High-Performance Computing (HPC) • Diverse elaborazioni hanno caratteristiche DATA-& COMPUTE-INTENSIVE • Modelli previsionali, DSS, GIS, METEO, modelli predittivi, strategie di networking, … • Vari tipi di risorse per HPC, con tecnologie sia tradizionali cheinnovative: • Diverse elaborazioni hanno caratteristiche DATA-& COMPUTE-INTENSIVE • Modelli previsionali, DSS, GIS, METEO, modelli predittivi, strategie di networking, … • Vari tipi di risorse per HPC, con tecnologie sia tradizionali che innovative: Programmabilità + Portabilità ? PDA Embedding in dispositivi mobili / indossabili PDA PDA PDA Data & Knowledge Server Cluster On-chip Multicore Technology PDA
First experiment input data stream: tuple of scalar parameters output data stream: solutionmatrix Flood Forecasting module Generator module Client module input data interface (fromsensors, services, etc.) visualization (tooperator’s PDA, services, etc.)
Experiment: flood forecasting From sensors and monitoring, for each point: position(x,y) water depth (H) water surf. Elevation (ξ) depth av. Velocity (u,v) Mass and momentumpartialdifferentialequations Large tridiagonal systems Data- & compute- intensive Fx and Fy tridiagonal system solving We can obtain different qualities with different samplings in space and time
Features of a pervasive distributed platform Central Servers Monitoring areas: decentralized Interface Nodes connecting wireless networks for sensors and mobile devices (PDA) to fixed networks and servers
. . . . . . Adaptivity and Context-Awareness PDA PDA PDA PDA PDA PDA PDA PDA Data & Knowledge Server Cluster HPC application, suitable for central servers (performance, data size, precision, …) Dynamicrestructuring,suitable for decentralized / embedded / mobile nodes (trade-off: performance, memory, precision, fault-tolerance, energysaving, …), and dynamic deployment
Experiment: adaptivity and context-awareness Dynamictransitionsbetween alternative versions: RECONFIGURATION and DEPLOYMENT communication network 1 communication network 2 Forecasting model: version 1 data streaming control and network interfaces interface node Forecasting model: version 0 Forecasting model: version 2 C lient - visualization Contextevents Contextevents Contextevents central server PDAs
Experiment: configuration PDAs Forecasting model: version 1 Forecasting model: version 2 data streaming control and network interfaces Multicore-based (CELL) C lient - visualization Forecasting model: version 0
Operations: adaptive versions of the same module PDA net Interf. node Central server • Central server is no more available and/or network has low QoS: • switch to OP1, • deployment ofapplication state onto Interface Node OP0 OP1 • Central Server isagainavailable and network isabletoguarantee the requested QoS : • switch to OP0again, • deployment ofapplication stateontoCentral Server • Client achieves low QoS for visualization, PDA resources are available : • switch to OP2, • deployment ofapplication state onto PDA network OP2 + othertransitionsbetweenversions accordingtocontexevents and system state
Events, adaptivity, and targets Events related to: Adaptivity actions: Increase QoS of currentoperation parallelism degree data size Switch to a different operation with the required QoS or the best possible QoS algorithm parallelism paradigm memory management power consumption Different resources • Network and monitoring • Availability • Connectivity • Bandwidth, Performance • Load, … • Energy consumption • Requests for better QoS • Response/completion time • Precision • Client load balancing / priority, …
Reconfiguration and deployment LOGICALLY SHARED REPOSITORY (modules, operations, state, channels, run-time support, managerscooperation) Working set of OP1 Cache0 Cachen-1 Start deployment P0 Pn-1 Central Server (OP0) Interface Node (OP1) . . . OP1: processors and other resources allocation (parallelism construct) • State consistency • Checkpointing • Activeredundancyofoperations
da ASSIST … ExternalObjects In_Sect VP Out_Sect parmod
… a ASSISTANT Context Rete di Manager Stream: anche da/verso sensori, attuatori MANAGER In_Sect VP Out_Sect • Manager come parte integrante (elemento primitivo) del Parmod • Programmabile: formalismo opportuno facente parte di ASSISTANT • Politiche di adattività e context-awareness • Rete di Manager
InSyEme Programming Model (ASSISTANT) Computationalviewof information flows: parallel and distributedcompositionofapplicationmodules P P P P RED Management information • Managers: • adaptivity, context-awareness • dynamicreconfiguration and deployment • QoS control M M M M BLUE Context information C C C Contextinterfaces: devices , nodes and networksmonitoring C GREEN
Experiment: module structure RED: Information flows FloodForecastingModule GeneratorModule Client Module Functional Logic Functional Logic Functional Logic ControlLogic ControlLogic ControlLogic BLUE: Manager Context interface Context interface Network monitoring Context interface Performance profiling GREEN: Context
ASSISTANT application RED BLUE GREEN