Porting di applicativi Scientici Paralleli in INFN GRID. Università degli studi di Parma. Facoltà di Scienze Matematiche, Fisiche e Naturali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Porting di applicativi Scientici Paralleli in INFN GRID. Università degli studi di Parma. Facoltà di Scienze Matematiche, Fisiche e Naturali"

Transcript

1 Università degli studi di Parma Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Fisica Porting di applicativi Scientici Paralleli in INFN GRID Relatore: Dott. ROBERTO ALFIERI Candidato: CORNIA FABRIZIO Anno Accademico Aprile 2008

2 A Tiziano e Cristina 1

3 Ringraziamenti Un amico mi ha detto: i ringraziamenti si fanno alla ne, la tesi triennale non è la ne... Io i ringraziamenti li faccio lo stesso, anche perchè è probabile che questa sia davvero la ne della mia carriera universitaria, anche se il futuro non ci è mai noto. In primis sono obbligato a ringraziare la mia famiglia. Ha tanti limiti, si, ma quali famiglie non li hanno?? E allora ringrazio per tutte le volte che mi avete sostenuto, Tiziano e Cristina, vi ringrazio per ogni momento in cui non l'ho fatto e vi chiedo scusa per ogni momento in cui ho pensato a prendere per me, senza donare la gratitudine verso la famiglia che un glio dovrebbe esprimere sempre. Se sono arrivato a questo traguardo, una buona parte del merito è vostro, perchè io da solo forse non ce l'avrei fatta. In casa mia, poi, non si può dire famiglia senza dire nonna. Il mio 'sponsor' principale in questi anni universitari è una persona magnica e incredibile; ha uno spirito che sembra proprio inattaccabile da qualsiasi evento e tantomeno dallo scorrere del tempo. Vorrei tanto capire che ne hanno fatto oggi quei geni nel mio patrimonio, e nella speranza che prima o poi rispuntino fuori ti ringrazio per tutte le volte che mi hai ricordato l'esistenza del mestiere del benzinaio quando arrivavo a casa tua (non troppo frequentemente... ) distrutto dai miei problemi (però le volte che venivo ero sempre così... ). E ti ringrazio per tutte le volte che hai detto che sono il nipote più bello del mondo (anche alle nonne degli altri) e che assomiglio a Manuel, con la solita modestia e pacatezza che ti contraddistingue (ma mia mamma è davvero tua glia?). Chiusa la dovuta parentesi famigliare (Birillo lo ringrazio dopo... ) ringrazio... eh, tutti! Giulia, perche mi hai sempre sostenuto, e mi hai sopportato per lunghi anni di sottile inquietudine senza mai vedermi troppo contento o sucientemente sereno, sempre restio nel concederti riposo o un meritato spuntino penso che si, tu ti sia meritata la santità. Poi ci mettiamo il Dott. Roberto Aleri, che sospetto abbia scoperto che la pianicazione non è la mia dote principale; ha 'soerto' con me il parto (prematuro) di questa tesi e veramente mi ha donato molto, in termini professionali e umani; la sua gura resterà sempre nel mio cuore come uno dei lati migliori di questa università. Ringrazio i miei compagni di corso, che per lungo tempo sono stati il vero motore della mia avventura universitaria; ringrazio proprio tutti: Nicolò, Rocco, Alberto, Carlo, Mirco, Marco, Murco (ops...), Matteo, Daniele, Paolo, Nicola, Alice, Rita, Giulia, Davide. La distribuzione di importanza di questi 2

4 ce è una Gaussiana, si, altrimenti starei mentendo, ma molto molto poco piccata. E' stato bello condividere con voi questi anni preziosi; per me sono stati colmi di momenti fantastici, e non li scorderò mai. E'impossibile scrivere una riga per ciascuno, scriverei un libro. Perdonatemi, ma rendetevi conto... Come è possibile dimenticare i primi giorni, i primi laboratori, gli anni passano, il periodo dei 'Nerz', quando ridevamo in continuazione sempre e comunque; come è possibile elencare la vagonata di cose belle che abbiamo vissuto insieme, quando eravamo giovani di belle speranze e spensierati? Gli scherzi con l'acqua a Carlo, la celebre birra Amoretti fatta con Marco, i soprannomi idioti tipo Bottleneck, il feeling con Rocco, i discorsi politici con Paolo, la serietà di Nicola, l'angelo custode della Giulia, gli abbracci dell'alice, i racconti di Mel, la disponibilità del Bronz, la vicinanza di Nicolò, la bontà innita di Alberto, la forza di Daniele, la err... 'inumanità' di Carlo. Mi sono reso conto che alla ne... sto scrivendo un commiato (malinconico per giunta, come è nel mio stile). Volevo ringraziare un sacco di altra gente, i povigliesi, i reggiani, le fans di puianello, gli scienziati dei materiali, Marco Ana che, Cristo Santo, andavo a casa sua a giocare con il 286, e 18 anni dopo siamo più amici di prima. Volevo ringraziare tanta gente, ma quello che mi stringe il cuore adesso siete Voi, i miei amici universitari. Mi sto rendendo conto che il tempo della vita sta volando e di quanto siete stati importanti per me, per la mia felicità e per la mia serenità; ormai è giunta l'ora in cui la Compagnia dei Nerds si deve sciogliere, e in realtà dentro di me si è già sciolta da qualche mese, perchè non sono più riuscito a vivere l'università con la positività che mi ha sempre avvolto, forse pagando molto salato il prezzo della mia indolenza. Molte cose sono cambiate, non sorrido più svelto come prima, ma porto nel cuore ogni singola goccia del ruscello di felicità che mi avete fatto sgorgare dentro, e per questo non riuscirò a ringraziarvi mai abbastanza, è impossibile. Non voglio scrivere frasi di convenienza; le strade della vita ci portano lontano, e stare vicini sarà dura. Ma come dicono i Nani, tra un buon amico e uno cattivo ci sono trent'anni di dierenza. farò del mio meglio per esserlo un buon amico, e per portare a voi sempre il meglio di me. Si può fare. 3

5 Indice 1 Introduzione 6 2 L'architettura GRID WLCG/EGEE Panoramica glite Struttura di un sito User Interface Computing Element Storage Element Information Service Data Management Workload Management System il Job Description Language Request e Job Types Job Attributes Resource Attributes Utilizzo generale dell'architettura GRID Porting di applicazioni parallele Analisi delle performances di algoritmi paralleli Speedup Ecienza Isoecienza e scalabilità Dimensione massima del problema Valutazione dell'ambiente GRID Interrogazione del BDII riguardo all'hardware Interrogazione del BDII riguardo al Software Cenni di analisi delle architetture di rete Benchmarking architetture di rete Hardware delle architetture di rete Esempi di utilizzo Sintesi per l'utente

6 4 MPI su GRID Overview Funzionalità Implementazioni OpenMPI Supporto attuale di MPI su Grid Sviluppo La situazione su INFN GRID La soluzione attuale: Mpi-Start Test MPI-START Cactus Introduzione Thorns struttura di un Thorn Congurazione e produzione dell'eseguibile Creare una congurazione Componenti aggiuntivi Esecuzione di Cactus Test locale WaveToy Porting di Cactus su GRID Sviluppi futuri Conclusioni 63.1 INFN GRID Architetture hardware

7 Capitolo 1 Introduzione Negli ultimi decenni si è assistito a una sempre maggiore crescita del fabbisogno di risorse di calcolo per la risoluzione di problemi scientici, simulazioni teoriche ed elaborazione di dati sperimentali. A questa crescita la comunità scientica (da sempre nota per la capacità di ottenere grandi risultati con pochi fondi) e l'industria informatica hanno fatto fronte con la nascita e lo sviluppo del Calcolo Parallelo. Il Calcolo Parallelo si riferisce alla possibilità di velocizzare l'esecuzione di un codice per mezzo di elaboratori che sfruttano l'utilizzo simultaneo di un numero (anche) elevato di processori. Tutto ciò è ottenuto attraverso tecniche di programmazione che permettono di suddividere un codice sequenziale in sottoprogrammi o sottoprocessi, che sono in grado di essere eseguiti simultaneamente su più processori. Questa tecnica di programmazione è detta Programmazione Parallela. Seguire questo tipo di approccio ha portato negli anni alla nascita di dierenti architetture e a dierenti modi di programmare le architetture parallele, a dierenti implementazioni delle librerie di comunicazione stesse, creando un universo ricco ed eterogeneo. Questa tecnologia ha avuto come motore di sviluppo il grande interesse della scienza: al giorno d'oggi è praticamente impossibile fare ricerca scientica senza calcolatori. Gli scienziati di tutto il mondo stanno arontando problemi con un grado di complessità sempre più elevato, e questi problemi richiedono molto più di una lavagna per essere risolti. Quando un cluster o addirittura un supercalcolatore custom non sono più bastati a soddisfare le necessità che si sono incontrate approcciando problemi complessi, si è iniziato a pensare a una rete di supercalcolatori che fornisse la potenza adeguata per portare avanti progetti ambiziosi. 6

8 Grazie alla crescenti performances delle tecnologie di interconnessione, si è assistito allora alla nascita delle Griglie Computazionali. Ma cos'è una griglia computazionale? Cos'è GRID? E' possibile spiegarlo utilizzando un paragone con Internet: mentre il web è un servizio per condividere informazioni sulla rete, GRID è un servizio per condividere risorse di calcolo e di memoria sulla rete. GRID va ben oltre la semplice comunicazione e interconnessione tra computers: mira a commutare le reti globali di computers in una grande risorsa computazionale. Questo obiettivo è una speranza, un sogno; come vedremo GRID al momento è un work in progress, e la tecnolgia che ne sta alla base, la sua architettura, è studiata da centinaia di ricercatori in tutto il mondo. GRID è quindi capace di fornire all'utente un notevole pool di risorse che altrimenti non avrebbe a disposizione, ma queste, tornando al discorso precedente,sono disomogenee. Ad oggi, i siti di calcolo mettono a disposizione per l'esecuzione via GRID architetture dierenti, calcolatori e strati di comunicazione più o meno performanti, code più o meno utilizzate e, non ultimo, strato software dierente. Se questa eterogeneità rappresenta un problema marginale per quanto riguarda l'esecuzione di job sequenziali, nel caso si stia parlando di Calcolo Parallelo assume una rilevanza di primo piano. L'assenza di uniformità hardware/software ha reso di fatto molto complessa la creazione di una rete unicata di calcolo parallelo distribuito. La grande sda delle persone che stanno lavorando a questo progetto è cercare di integrare in GRID il maggior numero di risorse, nascondendo all'utente la complessità e la varietà dell'architettura sottostante, e mettendolo in grado di sfruttare velocemente e semplicemente la potenza della computazione parallela. 7

9 Questa tesi vuole essere un punto sulla situazione attuale, un'analisi sulle problematiche da arontare oggi quando si intende portare un codice o un'applicazione scientica parallela sull'architettura GRID. Il punto di vista utilizzato è quello di un'utente che inizia da zero il suo 'viaggio' e progressivamente, aronta le problematiche che gli si presentano, a causa dell'immaturità dell'architettura. Per questo motivo, in prima battuta è stato redatto un capitolo sulla struttura di GRID, per comprenderne il funzionamento, punti di forza e debolezze. Il cuore del lavoro è stato, una volta conosciuta l'architettura, cercare di capire come ottenere i massimi beneci da una esecuzione GRID di un applicativo parallelo. Arontare questa parte del lavoro ci ha portato a scontrarci con le limitazioni e la relativa giovinezza di questa architettura, che rendono al momento, in Italia, sconveniente l'utilizzo di codici paralleli su GRID. Successivamente siamo stati 'costretti' a parlare di MPI e del suo supporto in GRID, dato che ad oggi, dire 'calcolo parallelo' equivale a dire 'MPI'; ossia il protocollo standard de facto per quanto riguarda la comunicazioni tra processi. Come ultima parte, è stato testato l'utilizzo di un applicativo parallelo di comune utilizzo tra i sici, quale CACTUS, che sfrutta MPI per implementare il parallelismo, e ci ha impegnato nel tentativo di renderne possibile l'esecuzione via GRID. 8

10 Capitolo 2 L'architettura GRID WLCG/EGEE 2.1 Panoramica glite Il middleware glite è sviluppato dal progetto EGEE che ha il principale obiettivo di fornire ai ricercatori l'accesso 24 ore su 24 a risorse di calcolo geogracamente distribuite su una rete GRID. Il principale fruitore dei servizi di glite è al momento LHC ossia il large hadron collider sviluppato al laboratorio europeo per la sica delle particelle, comunemente conosciuto come CERN. Il progetto per fornire l'infrastruttura di calcolo necessaria a sostenere LHC è chiamato Worldwide LHC Computing Grid Project o più brevemente (WLCG) ed opera in stretta congiunzione con l'egee. Attualmente l'infrastruttura production grid di WLCG/EGEE conta 200 siti distribuiti in tutto il mondo, ma primariamente in Europa, con più di CPU e 20 PB di data storage. L'LHC e gli esperimenti ad esso collegati sono il tipico esempio delle motivazioni che spingono a sviluppare la tecnologia GRID: generando un'enorme mole di dati, l'analisi di questi ultimi richiederebbe colossali risorse di calcolo e di storage, con il conseguente fabbisogno di risorse umane che questo comporta. 9

11 L'approccio scelto prevede, invece di una localizzazione massiva, che il servizio di calcolo dell'lhc sia implementato su una Griglia computazionale geogra- camente distribuita; questo prevede che il servizio utilizzerà risorse di calcolo e storage installate su un grande numero di siti, in molti stati dierenti, connessi da reti veloci. Il middleware glite nasconde agli utenti la gran parte della complessità di questa struttura, dando l'impressione che le risorse di calcolo siano disponibili in un unico centro di calcolo. Gli utenti di un'infrastruttura GRID sono divisi in Organizzazioni Virtuali: entità separate che raggruppano utenti, istituzioni e risorse, nello stesso dominio amministrativo; questa infrastruttura consente una più agile gestione delle risorse e del personale collegato, con una complessità allo stesso livello delle realtà locali, e non limita contemporaneamente l'accesso alle sole risorse locali relative a una VO o un sito. security Prima di poter utilizzare i servizi della griglia computazionale WLCG/EGEE l'utente dev'essere iscritto a una VO, e per fare questo deve aderire, oltre che alla policy della relativa VO, alle regole di utilizzo di WLCG/EGEE. Per autenticarsi alle risorse di GRID, è necessario utilizzare la Grid Security Infrastructure (GSI) che è basata sulla crittograa a chiave pubblica, sui certicati X.509, e sul protocollo di comunicazione Secure Socket Layer (SSL). L'utente deve disporre di un certicato X.509 rilasciato da una Certication Authority (CA) riconosciuta da WLCG/EGEE; le risorse di GRID stesse sono generalmente dotate di un certicato che permette loro di autenticarsi a loro volta all'utente. Il certicato dell'utente, con chiave privata protetta da password è usato per generare e rmare un certicato temporaneo (ordinariamente ha un lifetime di 12 ore) chiamato Proxy, che è a sua volta utilizzato per eettuare l'autenticazione alle risorse di GRID senza l'utilizzo di una password; il possesso del Proxy è 10

12 automaticamente considerato una prova d'identità dell'utente. Un utente per sottomettere un job necessita quindi di un Proxy valido; il job trasporterà una propria copia del Proxy per potersi autenticare sui servizi di GRID sui quali andrà in esecuzione. 2.2 Struttura di un sito User Interface Il punto di accesso di un utente alle risorse di GRID è chiamato User Interface (UI). Può essere un qualsiasi sistema dove è stato installato il middleware glite nella versione UI, dove l'utente possiede un account personale, e ha installato il suo certicato utente. Nella UI è presente una CLI (command line interface) che consente di accedere ai seguenti servizi. elencare le risorse disponibili per eseguire un determinato job conoscere lo stato delle risorse sottomettere un job per l'esecuzione cancellare un job recuperare l'output di un job completato conoscere lo stato di un job in esecuzione copiare e cancellare les da GRID Computing Element Un Computing Element nella terminologia di GRID è un insieme di risorse di calcolo localizzate in un sito, ed è composto da vari componenti: Grid Gate (GG) o interfaccia al cluster Local Resource Management System (LRMS) o semplicemente gestore delle code Worker Nodes (WN) ossia le risorse computazionali vere e proprie Nell'attuale WLCG/EGEE GRID è possibile implementare due dierenti Grid Gate, ai quali corrispondono CLI dierenti: l'lcg CE e il glite CE. Il GG ha il compito di accettare i job e di smistarli per l'esecuzione tramite il gestore di code, che a sua volta presenta varie implementazioni disponibili; glite supporta OpenPBS / PBSPro, LSF, Maui/Torque, BQS e Condor. Generalmente i WN di un sito sono installati con il medesimo sofware e le medesime librerie; spesso software dedicati per applicazioni speciche di una 11

13 VO possono essere installati in un'area dedicata come un le system condiviso da tutti i nodi. Code diverse su uno stesso cluster sono considerati dierenti CE Storage Element Lo Storage Element fornisce un accesso uniforme alle risorse di data storage, e può controllare qualsiasi tipo di risorsa; supporta dierenti protocolli di accesso ai dati, il cui principale, per il trasferimento di les è GSIFTP. Le risorse di storage spesso sono gestite da un servizio Middleware detto Storage Resource Manager (SRM) che, a seconda delle implementazioni è in grado di gestire la totalità delle problematiche di storage che si possono incontrare, come la migrazione dei dati da disco a nastro, l' accesso trasparente ai dati, il le pinning, l' allocazione preventiva dello spazio, la notica dello stato dei le, ecc... Il Middleware di GRID consente l'integrazione con i principali SRM utilizzati, per permettere di coprire la maggior parte delle necessità Information Service l' information Service (IS) fornisce informazioni sulle risorse della rete GRID WLCG/EGEE e sul loro stato. I dati Pubblicati dall'is sono conformi al GLUE Schema che denisce un modello concettuale comune, utilizzato per monitorare e scoprire le risorse di GRID; in glite sono utilizzati due sistemi IS: il globus Monitoring and Discovery Service (MDS) oppure il Relational Grid Monitoring Architecture (R-GMA) Il Monitoring and Discovery System implementa il GLUE Schema utilizzando OpenLDAP, un implementazione Open Source del LightWeight Directory Access Protocol (LDAP) ; un database specializzato nella lettura, ricerca, e indicizzazione delle informazioni. Il modello informativo di LDAP è basato su voci (persone, computer...), ognuna con uno o più attributi. Ogni voce ha un nome distinto (DN) che la identica, e ciascun attributo ha un tipo e uno o più valori. Un DN è formato da una sequenza di coppie attributo-valore e può essere organizzato secondo una struttura gerarchica ad albero, chaiamata Directory Infornation Tree (DIT) Lo Schema LDAP descrive le informazioni che possono essere immagazzinate in ciascuna voce del DIT, e denisce classi di oggetti, che sono raccolte di nomi di attributo e tipi di valore. Mentre una voce descrive qualche caratteristica, una classe di oggetti può essere vista come una descrizione generale di un oggetto. 12

14 Architettura dell' MDS Le risorse di calcolo e storage di un sito eseguono un software chiamato Information Provider, che genera le informazioni rilevanti riguardo una risorsa, statiche e dinamiche ( come le Risorse Hardware esistenti e quelle disponibili in quel particolare momento ). Queste informazioni sono pubblicate da un Server LDAP chiamato Grid Resource Information Server (GRIS) che generalmente è in esecuzione sulla risorsa stessa. In ogni sito esiste un'altro server LDAP chiamato site Grid Index Information Server (GIIS), che raccoglie le informazioni pubblicate dai GRIS di ogni elemento del sito, e le ripubblica. Per Immagazzinare e indicizzare i dati si utilizza il Berkeley Database Information Index (BDII). Un BDII è utilizzato anche al livello più alto della gerarchia, in modo da raccogliere e pubblicare le informazioni relative a tutti i siti WLCG/EGEE GRID di sua competenza. Questo servizio interrogherà i GIIS di ogni sito, e farà le veci di una cache, immagazzinando le informazioni sullo stato di Grid nel suo database, e conterrà tutte le informazioni disponibili riguardo ai siti di sua competenza Data Management L'unità primaria per la gestione dei dati, in Grid come nei normali calcolatori è il le. Chiaramente Grid è un architettura distribuita, quindi i les possono essere replicati su diversi siti. Un le può essere identicato senza ambiguità grazie al suo Grid Unique IDentier (GUID); questo gli viene assegnato la prima volta che viene registrato sulla rete Grid e la sua unicità è garantita dall'utilizzo di una combinazione nella generazione di MAC adress e orologio di sistema. Per localizzare un le, l'utente non utilizza però il GUID, bensì il Logical File Name (LFN) che è impostato dall'utente stesso. La posizione sica del le è invece identicata dallo Storage URL (SURL), mentre il Transport URL (TURL) fornisce le informazioni necessarie per scrivere o cercare una replica sica, includendo l'hostname, il percorso, il protocollo e la porta come un URL convenzionale. L'associazione tra LFN, SURL e TURL avviene tramite un servizio chiamato File Catalogue, mentre i le stessi sono immagazinati negli Storage Elements. Il servizio utilizzato per compiere i servizi di File Catalogue è il LCG File Catalogue (LFC) Workload Management System Il Workload Management System (WMS) è un sistema importantissimo ed è una parte centrale nell'architettura di grid; lo scopo del WMS è la distribuzione dei job (scheduling) tra le risorse di calcolo disponibili. 13

15 Le funzionalità che ore comprendono il raccogliere i job sottomessi dagli utenti, assegnarli al Computing Element più appropriato, monitorare e registrare il loro stato e inne recuperare il loro Output. Il sistema sul quale sono in esecuzione i servizi WMS è detto Resource Broker (RB). I Job che vengono sottomessi sono descritti utilizzando il Job Description Language (JDL) che specica tra i tanti parametri, quale eseguibile eseguire e i suoi parametri, i les che devono essere trasferiti e copiati da e verso i Worker Nodes sui quali è in esecuzione il Job e le condizioni imposte dall'utente che devono essere soddisfatte dai CE (risorse hardware, ambiente software, tempo di esecuzione del job). La scelta del CE sul quale viene inviato il Job è un processo chiamato matchmaking che seleziona, tra tutti i CE disponibili, quelli che soddisfano i requisiti espressi dall'utente, e tra questi, quelli più vicin a dove risiedono i dati e i les dell'utente. Quando questa prima parte del processo di selezione è completata, il WMS seleziona il CE con il più alto rank o grado; una quantità derivata dalle informazioni di status che trasmette il CE, che esprime la bontà di questo CE. Il modo con cui il WMS valuta il rank è anch'esso impostabile dall'utente (può essere il rapporto tra job in esecuzione e job accodati, oppure una discriminante sulle prestazioni, ecc... ). Il Logging and Bookkeeping service (LB) inne segue i jobs gestiti dal WMS; raccoglie i messaggi da tutti i componenti del WMS e registra lo status e la cronologia del job. 2.3 il Job Description Language Il Job Description Language è un linguaggio di alto livello user-oriented e nasce con la necessità di fornire un linguaggio descrittivo per esprimere le richieste di un utente che ha la necessità di compiere un lavoro su un'architettura GRID di calcolo distribuito. Il JDL è utilizzato in glite per specicare le caratteristiche del job e i relativi vincoli che sono utilizzati durante il processo di match-making per selezionare le risorse che il job può utilizzare. Gli attributi JDL rappresentano informazioni di richieste speciche e identicano le azioni che devono essere eseguite dal Workload Management System per compiere lo scheduling del Job. Le informazioni da specicare per l'esecuzione di un job Grid sono: requisiti sici del job (spazio disco, memoria...) requisiti logici del job (Sistema operativo, librerie, software...) Dati di Imput e Output (LFN) La sintassi dei le jdl è basata sul Condor ClassAD (CLASSied ADvertisement language) e consiste di coppie attributo / valore 14

16 E' necessario sottolineare, che essendo il JDL un linguaggio estensibile, all' utente è permesso utilizzare qualsiasi attributo per la descrizione del job, senza incorrere in errori; tuttavia quelli realmente presi in considerazione dal WMS sono solamente un certo set. le categorie di attributi disponibili si suddividono in Job Attribute (deniscono le caratteristiche del job) e Resource attribute, che deniscono le principali richieste per l'esecuzione del job. Alcuni dei parametri da inserire sono necessari, per altri invece il sistema può trovare un valore di default nel caso in cui non sia inserito dell' utente Request e Job Types La sintassi del tipo di richiesta selezionabile è: Type = Job; Il linguaggio JDL permette la descrizione dei seguenti tipi di richiesta: Job un semplice job DAG Direct Acyclic Graph: set di Job dipendenti Collection set di job indipendenti come si può notare il linguaggio Jdl permette l'esecuzione di gruppi di job in un sol colpo; il WMS fornirà all'utente un identicativo collettivo che permetterà all'utente di controllare il gruppo di Job con una singola richiesta. La sintassi per identicare il tipo di Job in esecuzione è: JobType = Normal; I tipi di Job correntemente supportati sono: Normal un semplice job interactive un job i cui streams standard sono indirizzati al client che l'ha lanciato. MPICH un job parallelo che usa l'implementazione MPICH-P4 di MPI, ma non solo, come vedremo in seguito. Il futuro è l'utilizzo di OpenMPI, ma, ad oggi, il tag utilizzato per identicare il tipo di Job MPI resta MPICH. Partitionable un Job che può essere composto da un set di iterazioni/passi indipendenti, come un set di sotto-job indipendenti. 15

17 Checkpointable un job capace si salvare il suo stato, così che l'esecuzione del job possa essere sospesa e ripresa più tardi, partendo dallo stesso punto in cui è stato fermato. Parametric un Job i cui attributi JDL contengono dei parametri come attributi, i quali valori possono essere variati, per permettere la sottomissione di varie istanze di Job simili, dierenti solo per il valore degli attributi parametrizzati. I Job partizionabili e parametrici sono logicamente simili ai DAG e alle Collection di Jobs; per questo motivo allo stesso modo, il WMS utilizzerà un identicativo collettivo per il monitoring e, al momento, i Job che compongono DAG o Collection non possono essere di tipo partizionabile e parametrico per le limitazioni del WMS Job Attributes Il JobType fa parte dei Job attributes; oltre a questo è possibile specicare: Executable nome del le che contiene il codice eseguibile Arguments argomenti da fornire all' eseguibile Stdimput, Stdoutput, Stderr nome dei le che conterranno standard input/output/error del job Environment lista di attributi relativi all'environment. ImputSandbox lista di le locali (rispetto alla UI) necessari all'esecuzione del Job (come l'eseguibile, le di dati, ecc... ). I les presenti nelle caselle ImputSandbox verranno trasferiti dalla UI utilizzata per l'accesso a grid al nodo WMS, e successivamente saranno trasferiti sui WN del CE dove il Job sarà eseguito tramite il WMS Job Wrapper Script. OutputSandbox lista di le generati dal Job da recuperare dopo l'esecuzione del Job: prima verranno salvati dal WMS per poi essere recuperati dall'utente. 16

18 VirtualOrganisation l'organizzazione virtuale che ha rilasciato il certicato proxy grazie al quale l'utente sta lavorando. RetryCount l'attributo è un numero intero che rappresenta il numero di volte che il Job sarà risottomesso in caso di un fallimento dello stesso. La risottomissione del Job si può denire Deep (fallimento mentre il job è in esecuzione sui WN) o Shallow (fallimento del WMS Job Wrapper prima dell'esecuzione). RetryCount imposta il massimo numero di Deep Resubmission. Generalmente il massimo numero di RetryCount permesso dal WMS è 10. ShallowRetryCount Come il campo precedente ma considerando una risottomissione Shallow MyProxyServer Identica l'hostname del Proxy Server nel caso l'utente stia utilizzando questo servizio per permettere l'esecuzione di Job di lunga durata. NodeNumber Parametro importante per l'esecuzione di Job paralleli, specica il numero di processori richiesto per un job di tipo MPICH, in esecuzione quindi con MPI. Il Resource Broker durante la selezione, sceglierà un CE con un numero di processori pari o superiore al valore del parametro Resource Attributes Il campo Requirements contiene argomenti che descrivono le richieste del Job riguardo alle risorse appartenenti al CE. E' composto da una serie di stringhe che inizia con la solita sintassi attributo-valore: Requirements = <...> In queste stringhe vengono valutate delle espressioni Booleane con operatori uguali agli operatori logici utilizzati nel linguaggio C; i parametri valutati vengono specicati tramite i nomi degli attributi deniti nel GlueSchema dell'information Service. Ad esempio, se volessimo richiedere un determinato software: Requirements = Member("DaVinci-v17r6",other.GlueHostApplicationSoftwareRunTimeEnvironment); La notazione prevede che al momento del match-making l'espressione venga valutata dal Resource Broker; per permettere l'esecuzione del Job sul CE considerato, tutti i campi inseriti nell'attributo requirements devono essere valutati veri. 17

19 Il campo Rank invece specica qual'è il parametro prescelto per esprimere (durante il Match Making) la preferenza sul CE da selezionare tra quelli che soddisfano i requisiti richiesti (ossia quelli che soddisfano le condizioni del campo Requirements). Anch'esso viene specicato utilizzando i nomi degli attributi utilizzati dall'is. Per esempio Rank = other.gluecepolicymaxrunningjobs - other.gluecestaterunningjobs classicherà i CE secondo il numero di slot a disposizione per eseguire il Job. Questo è un esempio di un semplice.jdl che esegue lo script di shell test.sh: # campo dei Job attributes Executable = "/bin/sh"; Arguments = "test.sh"; StdOutput = "hnam.out"; StdError = "hnam.err"; InputSandbox = {"test.sh"}; OutputSandbox = {"hnam.out","hnam.err"}; # campo dei requirements requirements = Member("MPICH",other.GlueHostApplicationSoftwareRunTimeEnvironment) && (other.gluecestatefreecpus>=4) && (other.gluehostoperatingsystemrelease == "LINUX") && (other.gluehostmainmemoryramsize >= 128) && (other.gluehostnetworkadapteroutboundip) && (other.glueceinfolrmstype == "torque" other.glueceinfolrmstype == "LSF") $$ Member("PARMA",other.GlueHostApplicationSoftwareRunTimeEnvironment) && TRUE ; 2.4 Utilizzo generale dell'architettura GRID 1. Dopo aver ottenuto un certicato digitale da una Cerication Authority riconosciuta, essersi registrato a una VO e aver ottenuto un account su una UI, l'utente è in grado di ottenere un certicato Proxy per autenticarsi sulla rete di calcolo distribuito. Se il certicato è correttamente installato, il comando grid-cert-info ci restituirà informazioni sul certicato stesso. 18

20 Certificate: Data: Version: 3 (0x2) Serial Number: 7685 (0x1e05) Signature Algorithm: sha1withrsaencryption Issuer: C=IT, O=INFN, CN=INFN CA Validity Not Before: Jul 25 13:02: GMT Not After : Jul 24 13:02: GMT Subject: C=IT, O=INFN, OU=Personal Certificate, L=Parma, CN=Fabrizio Cornia Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (2048 bit) Modulus (2048 bit): ecc... Mentre il comando voms-proxy-init -voms theophys Genererà il proxy per l'esecuzione. Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Parma/CN=Fabrizio Cornia Creating temporary proxy... Done Contacting voms-01.pd.infn.it:15006 [/C=IT/O=INFN/OU=Host/L=Padova/CN=voms-01.pd.infn.it] "theophys" Done Creating proxy... Done Your proxy is valid until Sat Apr 12 05:03: E' possibile vericare quali sono i CE che soddisfano alle Request del le.jdl sottomesso.: edg-job-list-match test.jdl 2. Per sottomettere un Job dalla UI e scrivere il jobid su un le: edg-job-submit -o jobid test.jdl 19

21 Selected Virtual Organisation name from proxy certificate extension): theophys Connecting to host egee-rb-01.cnaf.infn.it, port 7772 Logging to host egee-rb-01.cnaf.infn.it, port 9002 ========================== edg-job-submit Success ============== The job has been successfully submitted to the Network Server. Use edg-job-status command to check job current status. Your job identifier (edg_jobid) is: - The edg_jobid has been saved in the following file: /home/local/fabrizio.cornia/jobid ================================================================= l'imput Sandbox indica quali les devono essere copiati dalla UI; Questi les vengono inizialmente copiati sul Resource Broker. Lo stato del Job è registrato dal LB come inviato (SUBMITTED) In qualsiasi momento, per conoscere lo stato del job, è possibile interrogare il Logging & Bookkeeping Service: edg-job-status -i jobid ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Status Reason: Destination: Scheduled Job successfully submitted to Globus grid-ce.pr.infn.it:2119/jobmanager-lcgpbs-theophys reached on: Fri Apr 18 11:27: ************************************************************* 3. il WMS cerca il miglior CE per eseguire il Job, secondo i parametri scelti dall'utente, interrogando una cache del BDII tenuta nell'rb. Il sistema determina lo stato delle risorse computazionali e di storage; lo stato del Job è registrato dal LB come in attesa (WAITING) 4. A questo punto l'rb prepara il Job per la sottomissione al CE, creando uno script wrapper che sarà passato assieme agli altri le e parametri al CE di destinazione. Lo stato del Job è registrato dal LB come pronto (READY) 20

22 5. Il CE riceve la richiesta, e passa il job al gestore di code locale per gestire l'esecuzione. Lo stato del job è accodato (SCHEDULED) 6. A seconda del carico di lavoro e dei parametri del gestore di code, il job viene eseguito in un certo lasso di tempo (RUNNING). Se il job termina senza errori, l'output ed eventuali le prodotti dal programma vengono inseriti nell'output Sandbox e inviati all'rb; lo stato del job è descritto come eseguito (DONE). L'utente potrà recuperarli con: edg-job-get-output -i fileid *************************************************************** JOB GET OUTPUT OUTCOME Output sandbox files for the job: - have been successfully retrieved and stored in the directory: /tmp/joboutput/fabrizio.cornia_mlhzqiifktyhezupohmeha *************************************************************** Una volta che l'output è stato recuperato, il job diventa CLEARED. Come buon accorgimento è necessario ricordarsi di scaricare l'output del job entro una settimana dal completamento dello stesso, in quanto i risultati vengono rimossi dal WMS in un breve periodo di tempo. 21

23 Capitolo 3 Porting di applicazioni parallele Il nostro obiettivo è eseguire un codice parallelo su GRID nel modo più eciente possibile. Purtroppo GRID non ha un meccanismo di selezione che permette di instradare i Job paralleli sulle architetture più adeguate, ossia quelle ad alta prestazione di Networking. In linea di massima quindi, i problemi incontrati da un utente nell'eseguire in ambito GRID un codice parallelo si possono dividere in due grandi aree aree: Valutare a monte la scalabilità, la performance del codice, la dimensione massima del problema arontabile sull'architettura, per comprendere i beneci di una possibile esecuzione GRID. Permettere all'utente di valutare con esaustività le risorse hardware GRID a disposizione; in particolare le capacità di networking che sono centrali per ottenere il massimo benecio dalla computazione parallela. Verrà eettuata un'analisi delle problematiche con esempi di utilizzo dell'architettura. 3.1 Analisi delle performances di algoritmi paralleli L'analisi delle prestazioni di un algoritmo è il problema che trattiamo in questa sezione, ma non è nelle intenzioni di questo lavoro eettuare un'analisi approfondita di questo campo della problematica. In questa sezione, pertanto, si richiamano brevemente i concetti comunemente utilizzati per analizzare le performances di algoritmi paralleli, che verranno sfruttati nella fase di testing, utilizzando Cactus come caso d'esempio. 22

24 3.1.1 Speedup Si denisce lo speedup come il rapporto tra il tempo di esecuzione sequenziale e quello parallelo; ovviamente è dipendente dal numero di processori utilizzato, quindi, eseguendo il codice con un dierente numero di processori, si otterrà una curva di speedup T empo di esecuzione sequenziale Speedup = T empo di esecuzione parallelo Si può produrre un modello semplicato per valutare l'andamento dello speedup considerando il codice composto da: σ(n) - tempo di esecuzione della parte interamente sequenziale ϕ(n) - tempo di esecuzione della parte interamente parallela k(n, p) - tempo di comunicazione tra i processi dove con n e p intendiamo una dipendenza rispettivamente dalle dimensioni del prolema e dal numero di processi. L'espressione per lo speedup in funzione delle dimensioni del problema e del numero di processi potrà quindi essere scritta come: σ(n) + ϕ(n) ψ(n, p) σ(n) + ϕ(n) p + k(n, p) La Legge di Amdahl, chiamato f il rapporto tra il tempo di calcolo parallelizzabile rispetto a quello totale pone un limite superiore allo speedup raggiungibile impiegando p processori ossia: (1 f) ε(n, p) frac1f + p In generale lo speedup è una funzione crescente con le dimensioni del problema; invece aggiungere processori diminuisce il tempo di esecuzione della parte sequenziale ma aumenta il tempo di comunicazione riducendo l'ecienza del codice. Ma cos'è l'ecienza? Ecienza L'ecienza di un programma parallelo è la misura dell'utilizzo di un processore, ed è funzione del numero di processori e della dimensione del problema: Efficienza = T empo di esecuzione sequenziale Numero di processori usati T empo di esecuzione parallelo L'espressione per l'ecienza di un codice in funzione della dimensione del problema e del numero dei processi potrà essere scritta come: 23

25 σ(n) + ϕ(n) ε(n, p) pσ(n) + ϕ(n) + pk(n, p) con 0 ε(n, p) 1; ε(n, p) = 1 rappresenta il caso limite dell'ecienza massima, ossia il perfetto utilizzo di tutti i processori a disposizione, realizzabile nel caso limite di parallelizzabilità perfetta del codice. Si può notare che al denominatore dell'espressione dell'ecienza è presente il termine di overhead k(n, p): ciò signica che l'ecienza del codice parallelo è inuenzata da fattori hardware, ossia dalla rete utilizzata per eettuare le comunicazioni. Per ottenere un'alta ecienza del codice è necessario che una consistente parte dell'algoritmo sia parallelizzabile e che l'overhead di comunicazione venga ridotto al minimo. In generale, algoritmi che scambiano un elevato numero di pacchetti necessiteranno di un architettura di rete a bassa latenza, mentre algoritmi che scambiano pochi pacchetti molto grandi beneceranno di reti ad elevata bandwidth anche se, in generale, le soluzioni di interconnessioni dedicate ad alte prestazioni abbracciano le due caratteristiche come vedremo Isoecienza e scalabilità La scalabilità di un codice parallelo è la misura della sua abilità ad aumentare la performance al crescere del numero di processori. In generale, a causa del sempre maggiore overhead di comunicazione, per mantenere lo stesso livello di ecienza al crescere del numero di processori si è costretti ad aumentare le dimensioni del problema. La relazione di isoecienza informa del fatto che se un algoritmo presenta ecienza ε(n, p), per mantenere la stessa ecienza aumentando il numero di processori deve essere aumentata la dimensione del problema n no a soddisfare la relazione T (n, 1) CT 0 (n, p) dove C è una costante, T (n, 1) è il tempo speso per l'esecuzione sequenziale e T 0 (n, p) = (p 1)σ(n) + pk(n, p) è il tempo totale speso da tutti i processi per operazioni non legate al calcolo. Aumentando il numero dei processi il termine T 0 (p, n) aumenta in quanto aumenta l'overhead (secondo termine), e il tempo di cpu speso attendendo l'esecuzione di parti di codice sequenziale (primo termine); quindi si deve aumentare la dimensione del problema per aumentare anche il tempo di esecuzione sequenziale T (n, 1). 24

26 Figura 3.1: Scalabilità di un algoritmo Purtroppo non è possibile innalzare la dimensione del problema a piacimento in quanto ci si trova di fronte a limiti sici di memoria. La funzione scalabilità relativa a un codice rappresenta come la memoria deve crescere in funzione di p per mantenere lo stesso livello di ecienza; più la crescita è marcata, meno l'algoritmo è scalabile. Se la funzione scalabilità è una costante, l'algoritmo è perfettamente scalabile, perchè aumentando il numero di processori l'ecienza resta costante. Il problema della scalabilità mostra qual è la variabile a cui è necessario prestare attenzione nel portare un applicativo su di un'architettura parallela: la dicoltà consiste nel capire n quando è ragionevole, ssata la dimensione del problema, richiedere un maggior numero di risorse per incrementare le prestazioni e ridurre il tempo di comunicazione Dimensione massima del problema Problema inverso a quello arontato nel paragrafo precedente è determinare la dimensione del problema arontabile con determinate risorse a disposizione. L'utilità di accedere via GRID ad ulteriori risorse di calcolo per arontare dimensioni del problema che non potrebbero essere arontate altimenti è evidente: basti pensare a una griglia che viene scomposta; incrementare il numero di nodi utilizzati in computazione signica avere accesso a più RAM, e consente di ottenere risoluzioni di griglia superiori.tuttavia è necessario prestare attenzione alle limitazioni siche. Non è purtroppo ancora possibile modicare dinamicamente la dimensione del problema arontato da un job in base alle risorse 25

27 disponibili,anche se per certi scopi sarebbe molto utile; questo richiederebbe un'interazione dell'applicativo in esecuzione con il gestore di code e una diversa denizione del le.jdl che al momento governa l'esecuzione dei job paralleli (per i job sequenziali chiaramente il problema non si pone). Allo stato attuale, l'utente deve impostare manualmente la dimensione del problema prestando attenzione ai limiti sici posti dall'architettura sul quale esegue il Job. Memoria Un applicativo parallelo necessita di un ammontare di memoria per CPU utilizzata e di questo è forzatamente necessario tener conto al momento dell'impostazione delle dimensioni del problema arontato e della scelta del sito che eseguirà il job. Come regola generale a tale scopo, si raccomanda di non utilizzare più del 60% della memoria sica a disposizione di ogni processore, per non rischiare di utilizzare lo spazio di Swap; tale eventualità causerebbe il fallimento dei Job. CPU Anche il numero di CPU richieste è un parametro da valutare, in quanto richiedere molti processori su un sito carico di lavoro comporterà tempi di attesa molto lunghi. Spesso i gestori di code prediligono l'esecuzione di job brevi che utilizzino poche CPU per non lasciare processori inattivi nell' attesa che si liberino le ulteriori risorse necessarie per avviare un job di dimensione superiore. E'altresì vero che job di grandi dimensioni consentono di arontare problemi che altrimenti non si riuscirebbero a valutare; in questo caso la scelta spetta all'utente. 3.2 Valutazione dell'ambiente GRID All'interno di una VO saranno presenti numerosi CE dotati di: dierenti software e librerie installati dierente numero di processori dierente prestazioni dei processori, quantità di memoria e spazio di storage dierenti interconnessioni e prestazioni di Networking. dierente Policy di gestione code 26

28 E' stato visto nella sezione precedente che la prestazione della rete è fondamentale per ottenere il massimo benecio nel calcolo parallelo. Le interconnessioni dedicate ad alte prestazioni sono le architetture che permettono di ottenere i massimi beneci dall'approccio parallelo; hanno però costi superiori ai processori di fascia alta, e sono utilizzate solo ove ce ne sia la necessità. Questo fatto fa si che l'esecuzione di un particolare algoritmo su un CE qualsiasi non rappresenti la scelta migliore. In poche parole richiedere a GRID n processori per un job parallelo non rappresenta una richiesta eciente: il problema centrale è richiedere determinate prestazioni di Networking Interrogazione del BDII riguardo all'hardware Sicuramente un primo modo di eettuare una scelta delle risorse è eettuare una richiesta al BDII riguardo alle risorse dei sistemi; è possibile capire come possiamo interrogare il database attraverso il comando: lcg-info --list-attrs Che ci mostra la lista dei parametri contenuti nel GLUE Schema disponibili per la ricerca. Attribute name Glue object class Glue attribute name WorstRespTime GlueCE GlueCEStateWorstResponseTime CEAppDir GlueCE GlueCEInfoApplicationDir TotalCPUs GlueCE GlueCEInfoTotalCPUs MaxRunningJobs GlueCE GlueCEPolicyMaxRunningJobs CE GlueCE GlueCEUniqueID WaitingJobs GlueCE GlueCEStateWaitingJobs MaxCPUTime GlueCE GlueCEPolicyMaxCPUTime LRMSVersion GlueCE GlueCEInfoLRMSVersion MaxTotalJobs GlueCE GlueCEPolicyMaxTotalJobs... La ricerca è personalizzabile, in modo tale da essere informati soltanto dei parametri di nostro interesse, all'interno di una determinata VO. Per capire grossolanamente quali sono le risorse a nostra disposizione: lcg-infosites --vo theophys ce In questo caso si stanno osservando le risorse appartenenti alla VO theophys di INFN GRID valor del bdii: egee-bdii.cnaf.infn.it:2170 #CPU Free Total Jobs Running Waiting ComputingElement 27

29 gridce.ilc.cnr.it gridba2.ba.infn.it gridba2.ba.infn.it gridba2.ba.infn.it grid002.ca.infn.it grid012.ct.infn.it grid012.ct.infn.it grid012.ct.infn.it grid0.fe.infn.it grid-ce.lns.infn.it grid-ce.lns.infn.it grid-ce.lns.infn.it pamelace01.na.infn.it griditce01.na.infn.it prod-ce-01.pd.infn.it grid-ce.pr.infn.it gridce.pg.infn.it gridce.pi.infn.it gridce2.pi.infn.it grid003.roma2.infn.it grid001.ts.infn.it gridce.sns.it Come si può notare, in questo modo è possibile capire quanto sia carico un particolare sito, a livello di numero di CPU disponibili e di job accodati. Per ricercare CE che soddisfano determinate condizioni è possibile utilizzare una query che interroga il BDII della relativa VO, e ci elenca soltanto i siti che soddisfanno tale richiesta con gli argomenti desiderati; per esempio se volessimo conoscere il tipo di nodi utilizzati da un determinato CE: lcg-info --list-ce --query "Tag=PARMA" --attrs=processor,clockspeed,memory,totalcpus -vo=theophys - CE: grid-ce.pr.infn.it:2119/jobmanager-lcgpbs-theophys - Processor XEON - ClockSpeed Memory TotalCPUs 70 Nella lista degli attributi del GLUE schema non è tuttavia possibile trovare alcunchè riguardo la topologia dell'architettura e sulle performance di rete. 28

30 Quindi interrogando il BDII non è possibile classicare adeguatamente le architetture di calcolo. Questa è una delle più grandi limitazioni di GRID nella sua declinazione attuale, e rivela la natura prettamente sequenziale dei job con i quali la rete viene al momento sfruttata. Tra un paio di paragra vedremo come è possibile risolvere il problema Interrogazione del BDII riguardo al Software Per l'esecuzione su grid di un particolare job, è inoltre necessario che sul sito sul quale il lavoro verrà instradato, sia installata una congurazione in grado di permettere l'esecuzione del job considerato. In GRID il software è ordinato e catalogato per VO (in quanto VO dierenti necessitano di software dierente); le informazioni sul software sono raccolte dal BDII tramite un elenco di Tag, che presentano una sintassi propria: VO-<VO name>-<software name> L'installazione di software è permessa solamente agli amministratori del sito; di conseguenza, un utente o meglio un gruppo di utenti dovrà rivolgersi alla VO per ottenere una particolare congurazione. Dal lato utente possiamo esprimere nel campo request del.jdl la richiesta di un particolare software, conoscendo il Tag con il quale tale software viene indicato nel GLUE Schema. Per vedere i Tag dei CE di una particolare VO possiamo utilizzare lcg-info --list-ce -vo theophys --attrs "Tag" less che mostrerà una lista di questo tipo: - CE: grid0.fe.infn.it:2119/jobmanager-lcgpbs-grid... - Tag... GLITE-3_0_0 R-GMA AFS FERRARA SI00MeanPerCPU_1136 SF00MeanPerCPU_1257 VO-atlas-cloud-IT VO-atlas-production VO-atlas-production VO-atlas-production VO-atlas-tier-T4 VO-babar-services VO-babar-Moose e 29

Workload Management Service (1/2)

Workload Management Service (1/2) Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno LEZIONE N. 9 WMS (Workload Management Service) (Job Description Language) Matchmaking

Dettagli

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

Grid Tutorial Day Palermo, 13 Aprile 2011 Job Description Language Gestione job utente Grid Tutorial Day Palermo, 13 Aprile 2011 Marco Cipolla Job Description Language Gestione job utente Jobs e Applicazioni Utente I job permettono l esecuzione di programmi utente sulla GRID Per sottomettere

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

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

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Ambienti di calcolo a griglia Parte 2 Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Docente: Marcello CASTELLANO La vera rivoluzione non è più la capacità

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Service Level Agreement Management Framework

Service Level Agreement Management Framework Facoltà di Ingegneria Università degli studi di Catania Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Workshop su QoS e SLA Service Level Agreement Management Framework Giovanni Morana

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Diventa Personal Fundraiser di UNA Onlus con

Diventa Personal Fundraiser di UNA Onlus con Il nostro Personal Fundraiser sei tu! Hai a cuore la missione di, ne condividi gli obiettivi e sei fortemente motivato a condividerne la bontà con la sua cerchia sociale Non hai timore di metterti in gioco

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Infrastruttura di produzione INFN-GRID

Infrastruttura di produzione INFN-GRID Infrastruttura di produzione INFN-GRID Introduzione Infrastruttura condivisa Multi-VO Modello Organizzativo Conclusioni 1 Introduzione Dopo circa tre anni dall inizio dei progetti GRID, lo stato del middleware

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

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

WNoD: Virtualizzazione, Grid e Cloud nel Calcolo Scientifico per l INFN WNoD: Virtualizzazione, Grid e Cloud nel Calcolo Scientifico per l INFN D. Salomoni Davide.Salomoni@cnaf.infn.it INFN-CNAF CdC CNAF, 16/11/2009 D. Salomoni (INFN-CNAF) WNoD: Virtualizzazione, Grid e Cloud

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

La felicità per me è un sinonimo del divertimento quindi io non ho un obiettivo vero e proprio. Spero in futuro di averlo.

La felicità per me è un sinonimo del divertimento quindi io non ho un obiettivo vero e proprio. Spero in futuro di averlo. Riflessioni sulla felicità.. Non so se sto raggiungendo la felicità, di certo stanno accadendo cose che mi rendono molto più felice degli anni passati. Per me la felicità consiste nel stare bene con se

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Nina Cinque. Guida pratica per organizzarla perfettamente in una sola settimana! Edizioni Lefestevere

Nina Cinque. Guida pratica per organizzarla perfettamente in una sola settimana! Edizioni Lefestevere Nina Cinque Guida pratica per organizzarla perfettamente in una sola settimana! Edizioni Lefestevere TITOLO: FESTA DI COMPLEANNO PER BAMBINI: Guida pratica per organizzarla perfettamente in una sola settimana!

Dettagli

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

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Il Sito web professionale dedicato al settore Trasportatori e spedizionieri. Provalo subito all indirizzo web: www.soluzionicreative.

Il Sito web professionale dedicato al settore Trasportatori e spedizionieri. Provalo subito all indirizzo web: www.soluzionicreative. Il Sito web professionale dedicato al settore Trasportatori e spedizionieri GlobeAround è il sito web studiato e sviluppato per soddisfare le esigenze di visibilità e comunicazione delle aziende che operano

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

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

Griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno LEZIONE N. 10 Tecnologie di Storage; DAS, NAS, SAN Esempio di SRM: StoRM 1 Introduzione

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE V01 REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA PRATESI STATO DELLE VARIAZIONI VERSIONE PARAGRAFO O DESCRIZIONE

Dettagli

Alla c.a. Sindaco/Presidente Segretario Generale Dirigente competente

Alla c.a. Sindaco/Presidente Segretario Generale Dirigente competente Alla c.a. Sindaco/Presidente Segretario Generale Dirigente competente Controllo di Gestione e Misurazione delle Performance: l integrazione delle competenze, la valorizzazione delle differenze e la tecnologia

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

Informatica Generale

Informatica Generale Insegnamento di Informatica Generale Corso di Laurea in Economia delle banche, delle assicurazioni e degli intermediari finanziari (aa 2010-2011) Guido Fiorino (guido.fiorino@unimib.it) 1 informazioni.tex:

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Più processori uguale più velocità?

Più processori uguale più velocità? Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

GUIDA ALLA RILEVANZA

GUIDA ALLA RILEVANZA GUIDA ALLA RILEVANZA Posizionamento per Rilevanza Suggerimenti per una migliore visibilità su ebay www.egolden.it Vers. 1.1 Questa guida puo essere ridistribuita con l obbligo di non modificarne contenuto

Dettagli

REGISTRAZIONE. Che applicativi devo scegliere per la registrazione all Osservatorio?...2

REGISTRAZIONE. Che applicativi devo scegliere per la registrazione all Osservatorio?...2 REGISTRAZIONE Domande e risposte frequenti per la registrazione e l accesso agli applicativi Sommario Accedendo al sito https://osservatorio.oopp.regione.lombardia.it compare il messaggio sito non disponibile

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Introduzione... 2 Riconoscimento del soggetto richiedente da parte del sistema... 2 Elenco dei servizi

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1). Speedup Vediamo come e' possibile caratterizzare e studiare le performance di un algoritmo parallelo: S n = T 1 T p n Dove T 1 e' il tempo impegato dal miglior algoritmo seriale conosciuto, mentre T p

Dettagli

COSTER. Import/Export su SWC701. SwcImportExport

COSTER. Import/Export su SWC701. SwcImportExport SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

RECUPERO DATI LIFO DA ARCHIVI ESTERNI RECUPERO DATI LIFO DA ARCHIVI ESTERNI È possibile importare i dati relativi ai LIFO di esercizi non gestiti con Arca2000? La risposta è Sì. Esistono tre strade per recuperare i dati LIFO per gli articoli

Dettagli

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti Potete immaginare un ufficio senza archivio? Sarebbe un inferno. Dover rintracciare

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1 G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O A T I C _W E B Rev. 2.1 1 1. ISCRIZIONE Le modalità di iscrizione sono due: Iscrizione volontaria Iscrizione su invito del Moderatore

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

Manuale Utente. Gestione Richieste supporto BDAP. Versione 1.0

Manuale Utente. Gestione Richieste supporto BDAP. Versione 1.0 Manuale Utente Gestione Richieste supporto BDAP Versione 1.0 Roma, Settembre 2015 1 Indice 1 Generalità... 3 1.1 Scopo del documento... 3 1.2 Versioni del documento... 3 1.3 Documenti di Riferimento...

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Mentore. Presentazione

Mentore. Presentazione Mentore Presentazione Chi è Mentore? Il Mio nome è Pasquale, ho 41 anni dai primi mesi del 2014 ho scoperto, che ESISTE UN MONDO DIVERSO da quello che oltre il 95% delle persone conosce. Mi sono messo

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com

Manuale LiveBox WEB ADMIN. http://www.liveboxcloud.com 2014 Manuale LiveBox WEB ADMIN http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa

Dettagli

Identificazione documento. Approvazioni. Variazioni DEGLI STUDI DI NAPOLI FEDERICO II. Centro di Ateneo per i Servizi Informativi

Identificazione documento. Approvazioni. Variazioni DEGLI STUDI DI NAPOLI FEDERICO II. Centro di Ateneo per i Servizi Informativi Identificazione documento Titolo Tipo Nome file Livelli di servizio Documentazione SIS_sla_v2 Approvazioni Nome Data Firma Redatto da Pollio 25/11/2010 Revisionato da Barone 14/01/2011 Approvato da Barone

Dettagli

Microsoft Application Virtualization APP-V Streaming over HTTPS. di Nicola Ferrini

Microsoft Application Virtualization APP-V Streaming over HTTPS. di Nicola Ferrini Microsoft Application Virtualization APP-V Streaming over HTTPS di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione Una delle principali novità di Microsoft Application Virtualization 4.5 è la possibilità

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere Procedura per creare un archivio storico remoto nelle 24 ore giornaliere La seguente procedura ha lo scopo di illustrare il metodo di creazione di un archivio storico fotografico nell arco delle 24 ore

Dettagli

COME RIOTTENERE L ACCESSO ALLA CASELLA PEC DI ARUBA

COME RIOTTENERE L ACCESSO ALLA CASELLA PEC DI ARUBA COME RIOTTENERE L ACCESSO ALLA CASELLA PEC DI ARUBA Gentile Iscritto/a, Se stai leggendo queste righe vuol dire che hai perso la password di accesso al servizio di posta elettronica certificata (PEC).

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Reti di Calcolatori 18-06-2013

Reti di Calcolatori 18-06-2013 1. Applicazioni di rete [3 pts] Si descrivano, relativamente al sistema DNS: Compito di Reti di Calcolatori 18-06-2013 a) i motivi per i quali viene usato; b) l architettura generale; c) le modalità di

Dettagli

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password. INTRODUZIONE ALLA VPN (Rete virtuale privata - Virtual Private Network) Un modo sicuro di condividere il lavoro tra diverse aziende creando una rete virtuale privata Recensito da Paolo Latella paolo.latella@alice.it

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli