UNIVERSITA DEGLI STUDI DI TRIESTE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Elettronica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA DEGLI STUDI DI TRIESTE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Elettronica"

Transcript

1 UNIVERSITA DEGLI STUDI DI TRIESTE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica Relazione sul Calcolo Parallelo realizzata per il Corso di Sistemi Operativi (Prof. Enzo Mumolo) da Lorenzo Sabbatini

2 1. Introduzione al calcolo parallelo Negli ultimi dieci anni il calcolo ad alta performance (HPC - High Performance Computing) è diventato uno strumento essenziale in numerose discipline scientifiche e tecnologiche come la climatologia, la ricerca della fisica del plasma, studi dei materiali, elettromagnetismo, biomedica, fluidodinamica e robotica. Strutture teoriche in grado di predire risultati accurati richiedono un enorme potenza computazionale per produrre progressi rilevanti in questi campi in tempi ragionevoli. La fisica computazionale ha, in certi casi, fornito informazioni rilevanti che si potevano ottenere solo tramite esperimenti molto costosi; infatti, le simulazioni di sistemi complessi su piattaforme ad alta performance sono chiamate esperimenti computazionali. Il calcolo ad alte prestazioni non dipende solo dall uso di piattaforme computazionali sempre più veloci, ma anche dalla realizzazione di modelli, algoritmi, codici. Questi due obiettivi si possono ottenere solo tramite la congiunzione di diverse discipline e capacità dove le tecniche di sviluppo di modelli e gli algoritmi da una parte, e i metodi computazionali dall altra, contribuiscono in egual misura all esecuzione di esperimenti simulati. Come esempio si può citare la CFD (Computational Fluid Dynamics) il cui scopo principale è lo studio della turbolenza. Il termine turbolenza indica lo stato dinamico di un fluido. Le quantità fisiche associate a questo stato, come le velocità locali, la temperatura e la pressione, esibiscono fluttuazioni caotiche nel tempo e nello spazio. L interesse per i flussi turbolenti non è solo derivato dal desiderio di capirne la fisica, ma anche dal fatto che molte applicazioni tecnologiche necessitano di predire il loro comportamento. La combustione turbolenta è uno di quei campi che presentano maggiori sfide. Questo fenomeno è attualmente oggetto di un sempre maggior interesse in ambito sia industriale che ambientale. Infatti, la gran parte degli studi fatti é mirata ad aumentare l efficienza della combustione e allo stesso tempo a ridurre il livello di emissioni dannose. Perciò, qualsiasi passo in avanti compiuto in questo campo potrà aiutare a risolvere molti dei problemi pratici di tutti i giorni. Per quanto riguarda la fluidodinamica, si rivolge l attenzione alla conoscenza della struttura spaziale della turbolenza e al suo sviluppo temporale. Tali informazioni sono difficili da ottenere in un esperimento di laboratorio perché bisogna eseguire misure simultanee in istanti e posizioni diverse. Poiché le equazioni del moto del fluido sono ben note, sono risolte con tecniche numeriche tipiche della CFD. Il principale vantaggio di questo approccio è che fornisce informazioni dettagliate sulle strutture tridimensionali del flusso, che sono praticamente impossibili da ottenere tramite misure di laboratorio. La messa a punto di queste simulazioni numeriche è stata consentita dal rapido incremento della potenza computazionale disponibile. Quando tutti i dettagli della turbolenza sono simulati numericamente si parla di DNS (Direct Numerical Simulation).Al presente, DNS è l unico strumento che può fornire informazioni molto importanti sulla distribuzione dei vortici in flussi turbolenti, tramite dati tridimensionali della velocità. Sfortunatamente, DNS è molto costosa dal punto di vista computazionale, limitando il suo uso a bassi numeri di Reynolds (quantità che caratterizza il moto del fluido), non comparabili ai numeri di Re che caratterizzano i problemi industriali. Questo perché all aumentare di questo numero aumenta il divario tra le grandi e le piccole scale della turbolenza; le prime hanno dimensioni comparabili con le lunghezze che caratterizzano la geometria del problema. Ne segue che per catturare le piccole scale della turbolenza, al crescere del numero di Re saranno necessarie griglie di calcolo sempre più spinte. Parallelamente deve raffinarsi anche la discretizzazione temporale, sia per problemi di stabilità dei metodi numerici utilizzati sia per catturare le sempre più rapide fluttuazioni delle grandezze turbolente su piccola scala. Valgono i seguenti legami (stime) tra il numero di Reynolds e le caratteristiche della simulazione: N p Re 9/4 N t Re 7/8 dove N p rappresenta il numero complessivo di celle dove N t rappresenta il numero totale di passi di tempo Esempio 1: Nel caso di una simulazione eseguita con un codice commerciale (FLOW3D), supponendo Re = 5000 sono necessari circa 3.84 * 10 6 nodi e passi di tempo. La memoria richiesta è pari a 307 Mwords ed il tempo di calcolo su un super calcolatore CRAY 2 (inizio anni 80) è stimato approssimativamente in 3 anni. Esempio 2: Simulazione eseguita da Eggels e altri (Tratta da Journal of Fluid Mechanics): Re = 5300 con una griglia pari a [256 x 96 x 128] per un totale di 3.15 * 10 6 nodi. La memoria richiesta è pari a 29.7 Mwords. Per portare a termine la simulazione sono necessarie 152 ore di tempo di CPU su una calcolatore CRAY YMP - /464 (1988). 2

3 Introduzione al calcolo parallelo Esistono poi altri tipi di problemi. Nonostante siano stati fatti notevoli progressi negli ultimi 5 anni nello sviluppo di potenti e innovative architetture hardware, il software rimane il maggiore fattore limitante nello sfruttamento di questi sistemi ad alta performance. In particolare non è emerso nessun paradigma di programmazione dominante per il calcolo parallelo e c è una considerevole scarsità di standard e di disponibilità in strumenti software e pacchetti applicativi. C è ancora molto lavoro da fare per migliorare i linguaggi dedicati alla programmazione parallela, per migliorare la tecnologia dei compilatori, l ambiente di sviluppo dei programmi e gli stessi algoritmi paralleli. 3

4 Sistemi paralleli 2. Sistemi Paralleli 2.1 Classificazione di Flynn Si tratta di una classificazione in cui si presentano le diverse tipologie standard di macchine calcolatrici. Il criterio proposto da Flynn tiene conto delle modalità di manipolazione sia dei dati che delle istruzioni. Macchine SISD (Single Instruction stream - Single Data stream) Si rifanno al modello di Von Neumann. La maggior parte degli elaboratori scalari rientra in questa categoria. Ad ogni passo di tempo è eseguita una sola istruzione. Macchine SIMD (Single Instruction stream - Multiple Data stream) Sono macchine SIMD tutti gli elaboratori vettoriali che manipolano una sola istruzione ad ogni istante di tempo ma che contengono più unità funzionali aritmetiche capaci di operare contemporaneamente su più dati Macchine MISD (Multiple Instruction stream - Single Data stream) Non esistono applicazioni di questo modello. Macchine MIMD (Multiple Instruction stream - Multiple Data stream) Sotto questa dicitura si possono classificare tutti gli elaboratori con più unità di elaborazione (sia scalari che vettoriali), da quelli che possiedono una bassa interazione tra processi concorrenti (es. CRAY C90) a quelli progettati per sfruttare al massimo le interazioni tra processori (es. CRAY T3E). Prendiamo ora in considerazione le macchine MIMD e vediamo tre diverse realizzazioni di queste macchine calcolatrici che si distinguono per il tipo di connessione tra processori e memoria. 4

5 Sistemi paralleli 2.2 Tipologie di interconnessione Macchine UMA (Uniform Memory Access) Memoria E difficile aumentare il numero dei processori causa il tempo di accesso alla memoria Non è prevista la scalabilità, il numero dei processori è fisso. Accesso alla memoria globale agevole P0 P1... PN Macchine NORMA (No Remote Memory Access) P1 M1 La richiesta del singolo processore deve passare attraverso la rete. E possibile aggiungere con facilità altri processori. Gestione esplicita della comunicazione tra i nodi. RETE P2.... PN M2.... MN Macchine Numa (Non Uniform Memory Access) P1 M1 Memoria logicamente condivisa ma fisicamente distribuita Più veloce del modello NORMA Preservo la scalabilità Gestione più agevole delle comunicazioni Rete P2... PN M2... MN 5

6 Architettura del Cray 3. Architettura del CRAY T3E 3.1 Macroarchitettura MIMD Architettura a memoria fisicamente distribuita ma logicamente condivisa Interconnessione di tipo toroidale tridimensionale. Incrementata latenza e il meccanismo di sincronizzazione 6

7 Architettura del Cray 3.2 Microarchitettura del PE microprocessore DEC Alpha (EV5) 300 MHz di picco (un periodo di clock è pari a 3.3 nanosecondi) 600 Mflop/s di picco Memorie cache presenti sul chip (consistenti con l hardware) Memoria cache per le istruzioni da 8 KB e una memoria cache da 8 KB per i dati cache dati secondaria da 96 KB (associativa a tre vie) Decodifica scalare delle istruzioni a quattro vie Quattro pipeline di esecuzione 2 per gli interi (inclusi 2 load o 1 store) 2 per i float (1 add, 1 multiply, sia a 32 che a 64 bit) aritmetica IEEE a 32 e a 64 bit Moltiplicazione e somma floating point in 4 cps (13.3 ns) registri a 64 bit 32 per gli interi e 32 per i numeri in virgola mobile Alta larghezza di banda 4.8 Gbyte/s per un load, 2.4 Gbyte/s per uno store Memoria locale Mbytes/PE in futuro è prevista l installazione di 1 e 2Gbytes/PE 6 banchi di memoria 7

8 Architettura del Cray 3.3 Stream Buffers Precaricamento asincrono dalla DRAM a buffer veloci Gestito automaticamente dall hardware Miglior performance rispetto alla cache esterna 8

9 Architettura del Cray 3.4 Diagramma a blocchi del singolo nodo del T3E 9

10 Architettura del Cray 3.5 Rete di interconnessione dei processori Toro 3D bidirezionale Latenza hardware inferiore al microsecondo Larghezza di banda (teorica) superiore a 650 MB/sec Larghezza di banda effettiva di 480 MB/sec Network routing Special routing Usato per la manutenzione e l inizializzazione Direction order routing Usato per il trasferimento di dati attraverso un percorso predeterminato Routing adattativo Se quella direzione è occupata, si tenta un altra dimensione (non arbitraria) 10

11 Architettura del Cray 3.6 Accesso globale della memoria Il nodo CRAY T3E incrementa l interfaccia di memoria del microprocessore Alpha attraverso un elevato numero (512 dedicati all utente e 128 dedicati al sistema) di registri esterni (E-registers) gestiti in maniera esplicita. Tutte le comunicazioni remote e la sincronizzazione sono eseguite attraverso questi registri. Essi consentono un numero molto elevato di richieste per nascondere la latenza della rete, e forniscono un supporto efficiente per accessi non consecutivi alla memoria attraverso la raccolta (gather) di singole parole che possono poi essere caricate consecutivamente attraverso il bus di sistema del microprocessore. Altra cosa importante è che incrementano notevolmente il grado di canalizzazione (pipelinig) per le richieste di accesso alla memoria globale. I dati contenuti negli E-register possono essere caricati nel processore Alpha a 600 Mb/s Gli E-register adottano un nuovo meccanismo di traduzione degli indirizzi. Il microprocessore usa uno spazio di memoria cacheable e uno spazio per la memoria I/O non cacheable, che si distingue attraverso il bit più significativo dell indirizzo fisico. I load e store effettuati in memoria locale fanno parte dello spazio di memoria cacheable. La traduzione degli indirizzi avviene sul processore nella maniera usuale, e gli indirizzi fisici sono passati in memoria. I registri mappati in memoria, compresi gli E-registers, usano lo spazio I/O non cacheable. Esistono due tipi di operazioni che possono essere eseguite sugli E-registers: Load e store diretti tra gli E-registers e i registri del processore Operazioni globali degli E-registers I load/store diretti sono usati per memorizzare i risultati negli E-registers e caricare i risultati dagli E-registers. Le operazioni globali sono usate per il trasferimento dati verso e dalla memoria (sia locale che remota). Comandi degli E-registers Load e store Trasferimento dati tra i registri del microprocessore Alpha e gli E-registers Comandi che operano sulla memoria locale (GET, PUT) Trasferimento dati tra gli E-registers e la memoria locale Comandi che operano sulla memoria globale (GET, PUT) Trasferimento dati tra gli E-registers e la memoria globale Comandi vettoriali (GETV4, GETV8, PUTV4, PUTV8) Trasferimento di 4/8 parole tra la memoria e gli E-registers consecutivi. Comandi speciali Operazioni atomiche (swap, fetch&inc, fetch&add, etc.) 11

12 Architettura del Cray 3.7 Interfaccia GigaRing del Cray T3E Il Gigaring è una rete di interconnessione per le periferiche collegate al T3E (Dischi, Nastri, reti Ethernet, etc.). Su questa interfaccia i dati viaggiano in entrambe le direzioni ad una velocità di 1 Gbyte/s. Esistono poi delle interfacce che connettono questa rete ai router della rete interna del CRAY T3E. 12

13 Architettura del Cray 3.8 Sistema I/O del CRAY T3E 3.9 Configurazione del T3E al Cineca (*) 128 PE (76.8 Gflops/s di picco) 8 PE di supporto (Per il sistema operativo, ridondanti) 128 Mbytes di memoria per ciascuno PE 3 canali GigaRing 21 dischi DD-318 per un totale di circa 200 Gigabytes 10 dischi DD-60 per un totale di circa 19 Gigabytes (*) Centro di Calcolo Elettronico dell Italia Nord Orientale 13

14 Architettura del Cray 3.10 Funzionamento della memoria Un operazione sulla memoria del PE è essenzialmente di due tipi: Una lettura o scrittura dei dati nella memoria locale del PE. Ogni PE ha a disposizione tra i 64 Mbytes (8 Mwords) e 2 Gbytes (256 Mwords) di memoria. Una lettura o scrittura dei dati in memoria remota (la memoria locale a qualche altro PE). Le operazioni tra un PE e la memoria locale sono sempre più veloci delle operazioni compiute tra un PE e la memoria remota. L'accesso ai dati in memoria locale avviene attraverso 2 livelli di cache: una cache secondaria da 96 Kbyte e una cache dati da 8 Kbyte ad alta velocità. I dati scritti in memoria locale passano attraverso 6 buffer di scrittura e la cache secondaria. La consistenza della cache è eseguita automaticamente sui sistemi CRAY T3E. La cache è una memoria ad alta velocità che aiuta a spostare velocemente i dati tra la memoria locale e i registri del microprocessore EV5. E ancora una parte importante della programmazione MPP. La direttiva CACHE ALIGN allinea ogni variabile specificata su una linea di cache. Ciò può essere utile per le variabili frequentemente referenziate e per il passaggio di array alle routine SHMEM. La direttiva CACHE ALIGN può essere usata con tutti i paradigmi di programmazione descritti in questa relazione. La cache dati è una direct mapped cache, cioè ogni locazione di memoria è mappata in una locazione della cache dati. Quando un array, per esempio, è più grande della cache dati, una locazione della cache dati può mappare più di un indirizzo dell array. Ogni locazione è composta da una singola linea di 4 parole (32 byte). La cache secondaria è una cache associativa a tre vie, e le linee possono contenere fino a 8 parole, per un totale di 64 bytes. In una cache associativa a tre vie, ogni locazione di memoria è associata con tre linee della cache secondaria. La scelta della linea nella quale è mappato il dato avviene in maniera casuale. Può essere selezionata qualsiasi linea. Vedremo ora un esempio di funzionamento della cache dati e della cache secondaria, che descrive lo spostamento dei dati tra la memoria locale e il microprocessore (Procedura 1). La figura 1 illustra i componenti di un PE. Le abbreviazioni nella figura hanno il seguente significato. EV5 Il microprocessore RISC costruito dalla Digital Equipment Corporation (DEC) E0, E1 Unità funzionali per gli interi FA, FM WB MAF ICACHE DCACHE SCACHE SB DRAM Unità funzionali per i numeri in virgola mobile Buffer di scrittura Archivio degli indirizzi mancanti (Missed address file) cache delle istruzioni (non rilevanti in questa discussione) cache dati cache secondaria stream buffer Memoria locale 14

15 Architettura del Cray EV5 E0 E1 FA FM WB ICACHE DCACHE MAF SCACHE SB SB SB SB SB SB DRAM 15

16 Architettura del Cray L esempio preso in considerazione è il seguente ciclo: DO I = 1, N A ( I ) = B ( I ) * N END DO Spostamento dei dati dalla memoria 1. Un registro dell EV5 richiede il valore di B(1) dalla cache dati. 2. La cache dati non ha B ( 1 ). Richiede B( 1 ) dalla cache secondaria. 3. La cache secondaria non ha B ( 1 ). Questo è il primo cache miss in cache secondaria. Reperisce una linea ( pari a 8 parole, 64 bytes per la cache secondaria) dalla memoria locale. 4. La cache dati riceve una linea ( 4 parole per la cache dati ) dalla cache secondaria. 5. Il registro riceve b ( 1 ) dalla cache dati. Lo stato dei dati a questo punto è illustrato nella seguente figura. B ( 1 ) Registri B ( 1-4 ) Cache dati B ( 1-8 ) Cache secondaria B ( 1-N ) Memoria locale 16

17 Architettura del Cray 6. Quando gli altri registri necessitano di B ( 2 ) fino a B ( 4 ), possono prenderli direttamente dalla cache dati. 7. Quando un registro necessita di B( 5 ), la cache dati non lo ha. 8. La cache dati richiede B( 5 ) fino a B( 8 ) dalla cache secondaria, che li ha e li passa. 9. La cache dati richiede passa B ( 5 ) fino a B(8) agli appropriati registri non appena ne riceve richiesta. Quando il microprocessore ha finito con questi dati richiede B( 9 ) dalla cache dati. 10. La cache dati richiede una nuova linea di dati dalla cache secondaria, che non li ha. Questo è il secondo cache miss che avviene in cache secondaria, ed è il segnale al sistema per iniziare a canalizzare i dati. 11. La cache secondaria richiede un altra linea di 8 parole dalla memoria locale e la mette in uno dei bucket a tre linee. Può finire in una qualsiasi delle tre linee, dato che il processo di selezione è casuale. 12. Una linea di 4 parole è passata dalla cache secondaria alla cache dati, ed un singolo valore è spostato in un registro. Quando il valore di B ( 9 ) raggiunge il registro, la situazione è quella illustrata nella seguente figura. B ( 9 ) Registri Cache dati B ( 1-4 ) B ( 5-8 ) B ( 9-12 ) B ( 1-8 ) B ( 9-16 ) Cache secondaria B ( ) Stream buffer B ( 1-N ) Memoria locale 17

18 Architettura del Cray 13. Poiché è stata inizializzata la canalizzazione, i dati vengono ora precaricati,. Uno stream buffer anticipa la continua necessità del microprocessore di dati consecutivi, e comincia a reperire B ( 17 ) e B ( 24 ) dalla memoria prima che siano richiesti. Quando il microprocessore continua a richiedere elementi consecutivi di B, i dati saranno pronti con ritardo minimo. 14. Il processo di precaricamento dei dati tra la memoria locale e i registri del microprocessore continueranno fino a quando non termina il ciclo. Questi passi descrivono solo il flusso di dati in input. Il valore dell array A passa attraverso il write buffer e la cache secondaria, come illustrato nella seguente figura, e torna indietro in memoria locale. I valori di A sono scritti in memoria locale solo quando una linea in cache secondaria è rimpiazzata da una scrittura nella stessa linea, oppure quando i valori di A sono richiesti da un altro PE. B ( 9 ) A ( 9 ) Registri Write Buffer Cache dati B ( 1-4 ) B ( 5-8 ) B ( 9-12 ) A ( 9 ) A ( 1-4 ) A ( 5-8 ) B ( 1-8 ) B ( 9-16 ) Cache secondaria A( 1-8 ) B ( ) Stream buffer B ( 1-N ) A ( 1... ) 18

19 Il sistema operativo Unicos/mk 4. UNICOS/mk Unicos/mk è il nome scelto da Cray per il sistema operativo della sua macchina massicciamente parallela, il T3E. Il passaggio dal modello T3D, in cui la maggior parte delle funzioni del sistema operativo era svolta dall host C90, ad una architettura stand-alone ha richiesto un ripensamento complessivo. Un sistema operativo per una macchina di questo tipo, infatti, non può avere il classico kernel monolitico che svolge tutte le funzioni, ma deve necessariamente essere più agile e modulare, con diverse componenti che possono essere facilmente distribuite facilmente sui processori, in una parola distribuito. In fase di disegno Cray ha imposto inoltre al sistema di soddisfare altre due caratteristiche: compatibilità, ossia interfaccia utente il più possibile identica a Unicos single system image : il sistema deve apparire agli utenti come un sistema operativo unico, rendendo del tutto trasparente la sottostante architettura distribuita. 4.1 Struttura Unicos/mk è composto da un microkernel (mk) e da diversi servers, che cooperano per fornire la totalità delle funzioni del sistema operativo. Il microkernel svolge le funzioni di interfaccia con l hardware, memory management, CPU scheduling e Inter Process Communication. Ognuno dei servers si occupa di una funzione specifica: abbiamo ad esempio un File server, un Tape server, un Process Manager e così via. Unicos/mk deriva dai sistemi operativi Chorus ed Unicos. Il sistema operativo Chorus ha fornito la struttura complessiva e il microkernel, mentre i servers sono costituiti dal corrispondente codice di Unicos, opportunamente interfacciato verso il microkernel. Applicazione Process Manager File tty Socket Tape Disk Config Packet Net Dev Info Microkernel Figura 1. Uno schema grafico di questo tipo di sistema è mostrato nella figura 1, dove andando verso l alto ci si allontana dall hardware. 19

20 Il sistema operativo Unicos/mk 4.2 Unicos/mk sul T3E La distribuzione è presto fatta: su ogni processore gira una copia di microkernel e il Process Manager; su alcuni processori, inoltre, girano gli altri servers, come illustrato nella figura 2. Applicazione Applicazione Applicazione PM PM PM Microkernel Microkernel Microkernel Applicazione Applicazione Applicazione Disk Packet File PM PM PM Microkernel Microkernel Microkernel Applicazione Applicazione Applicazione Disk Packet File PM PM PM Microkernel Microkernel Microkernel Figura 2. Per comodità sul T3E si introduce una classificazione dei Processing Elements (PE) a seconda dei servers che ci girano sopra, o se si preferisce vederla dall altro lato, della funzione che esplicano. Si distingue quindi tra: Operating System PE: PE che esegue soltanto microkernel e servers. Command PE: PE che esegue anche comandi utente, dove comando è qualsiasi eseguibile compilato per l esecuzione su un solo PE. Application PE: PE che può eseguire anche applicazioni compilate per essere eseguite su un numero di PE maggiore di uno. Va sottolineato che tale distinzione è puramente funzionale, mentre non c è alcuna differenza di altro tipo tra i PE. 4.3 Cosa vede l utente Un sistema che si presenta allo stesso modo che fosse un singolo host: si fa login, si ha una shell, si fanno partire le applicazioni allo stesso modo. A questo punto è forse inutile sottolinearlo, ma anche il file system è visto identicamente ovunque. In realtà ciascuno dei comandi che si danno può essere eseguito in modo trasparente su un qualsiasi PE (Command), mentre un eseguibile compilato per un numero di PE superiore ad uno girerà senza alcun intervento dell utente su un gruppo di 20

21 Il sistema operativo Unicos/mk Application PE, (allo stesso modo di come adesso è il sistema operativo che si preoccupa di capire se un eseguibile va fatto girare sul T3D o sul C90). Esempio: se faccio ls -l grep mio può succedere che ls e grep siano fatti girare su due PE diversi. 4.4 Conclusioni Il sistema operativo Unicos/mk permette di trarre vantaggio dalle nuove architetture massicciamente parallele senza bisogno di cambiare mentalità, dato che è esso stesso a prendersi cura di nascondere la complessità dell architettura sottostante con una immagine unitaria all utente. 21

22 5. Uso del Cray T3E 5.1 Software presente sul T3E Compilatori: Fortran 90 pghpf 2.3 C e C++ CAM (Cray Assembler per MPP) Librerie: MPI Message Passing Interface PVM Parallel Virtual Machine CrayLibs: librerie scientifiche (libsci) CrayTools: Totalview, Apprentice, PAT IMSL Fortran 90 MP Library (Versione 3.0) 5.2 Accesso al Cray T3E come collegarsi: telnet t3e.cineca.it 5.3 Compilazione e linking Per il compilatore Fortran 90: f90 [opzioni] file.f segnaliamo in particolare l'opzione -Xm oppure -X npes che serve nel primo caso a generare un eseguibile malleable (sul T3D si chiamava plastic) e nel secondo caso a generare un eseguibile per npes PE. Un eseguibile malleable può essere fatto girare su un numero qualsiasi di PE usando il comando mpprun. per il C: cc [opzioni] file.c per il C++: CC [opzioni] file.c per il PGHPF: pghpf [opzioni] file.f Anche per C e C++ l'opzione -X ha lo stesso significato del Fortran. Le librerie possono essere linkate specificando "-l nome_libreria" sulla linea di comando del compilatore, ad esempio: f90 [opzioni] -l imsl file.f f90 [opzioni] -l pvm3 file.f f90 [opzioni] -l mpi file.f Chi volesse più' informazioni sul loader sappia che si chiama cld, (non più' segldr o mppldr). Con i comandi F90, cc, CC o PGHPF, il loader è richiamato direttamente una volta terminato il processo di compilazione. 22

23 Uso del CRAY T3E 5.4 Esecuzione Numero di PE (npes) specificato quando si compila il programma: f90 -Xnpe -o filename.x filename.f90 Numero di PE (npes) specificato a run time: f90 -o filename.x filename.f90 f90 -Xm -o filename.x filename.f90 Qualsiasi programma compilato senza l opzione -X npes diventa un eseguibile di tipo malleable che, per default, gira su un PE solo (che sarà un command PE). Si può cambiare il numero dei PE a run time, lanciando una applicazione con mpprun. Mpprun -n npes filename.x program-args dove filename.x è il nome del programma eseguibile e program-args i suoi argomenti. In interattivo si può eseguire qualsiasi comando e fare una compilazione con un limite di 200 secondi di CPU per processo. Inoltre su CRAY T3E è stata rimossa la restrizione sul numero di PE sui quali eseguire una applicazione parallela: non è infatti più necessario che sia una potenza di due (può essere perfino dispari!) 5.5 Esecuzione Batch E' disponibile il software NQE (il successore di NQS), che consente la sottomissione di jobs batch. Occorre creare uno script file che specifichi le risorse richieste (tempo e numero di PE; la memoria non va specificata poiché i PE sono assegnati in modalità dedicata) nonché la sequenza dei comandi che costituiscono il job da eseguire. Le opzioni interessanti sono : -l mpp_p=number Specifica il numero di PE da usare -l p_mpp_t=time Specifica il tempo in secondi di CPU per il singolo PE. Il comando per sottomettere un job e' qsub. Si raccomanda un accesso alla man page di qsub per una esauriente spiegazione dei parametri. Esempio Il comando qsub testjob sottomette uno script file chiamato testjob alla coda NQS appropriata (scelta automaticamente, in base alle risorse richieste). Se il contenuto del file testjob é : # QSTAT -l mpp_p = 128 # QSTAT -l mpp_p_t = 300 mpprun -n 128./a.out a.out sarà lanciato su 128 PE, assegnando un tempo di CPU per PE di 300 secondi. 23

24 Uso del CRAY T3E 5.6 Interazione con il sistema qstat -a qdel -k Per vedere lo stato delle richieste Per cancellare una richiesta: grmview Mostra lo stato di tutti i PE (command, application e OS) e le applicazioni running e waiting. Ps -laem Mostra lo stato delle applicazioni multi-pe jstat Mostra lo stato dei job (sessioni interattive e job batch) 5.7 Spazio disco Permanente Le home directories sono sui vari filesystems locali. Temporaneo Cosi come sul C90, per ogni sessione interattiva o job batch viene creata una directory $TMPDIR, nel filesystem /tmp, che è rimossa con tutto il suo contenuto alla fine del job o della sessione in questione. Si consiglia caldamente di eseguire in $TMPDIR, in modo che tutti i files di lavoro vengano automaticamente rimossi al termine dell'esecuzione. I files in /tmp al di fuori delle temporary directories possono essere rimossi in qualsiasi momento senza preavviso. NFS Il T3E accede via NFS ad alcuni filesystems del C90 via NFS, e viceversa: su entrambe le macchine i filesystem dell'altra sono visibili come /c90/a, /c90/infm, /c90/tmp e /t3e/a, /t3e/infm, /t3e/tmp rispettivamente. Dal T3E sono visibili anche i filesystems del fileserver sirio: /server/home, /server/tmp e /server/infm. 5.8 Salvataggio dati su cartuccia E' possibile utilizzare anche dal Cray T3E le cartucce IBM 3480 e 3490 a caricamento manuale ed automatico. Le cartucce consentono di memorizzare sino a 200 Mb (non compressi) per il tipo 3480 e sino a 800 Mb (non compressi) per le Con la compressione la capacita' aumenta in maniera molto dipendente dal tipo di dati e può arrivare sino a tre volte. Le cartucce possono essere a montaggio manuale, da parte degli operatori di sala macchine (residenza CART), o automatico, tramite il Loader STK4400 installato al CINECA (residenza SILO). Queste ultime possono ovviamente essere utilizzate anche in assenza di operatori. Le modalità di accesso rimangono le stesse utilizzate sul C90, ovvero tramite le procedure kart (vedi man kart) e, per un accesso a più basso livello, i comandi tpread e tpwrite. Il controllo di accesso passa attraverso le informazioni di proprietà e permessi mantenute nel TDB (Tape Data Base, vedi "man tdb"). L'acquisto di cartucce può essere richiesto agli operatori tramite il comando "msgr", specificando la quantità, il tipo (3480 o 3490), e la residenza (SILO o CART). L'identificativo utente sulla base del quale vengono stabiliti proprietà e permessi di accesso e' sempre lo username, ovvero username uguali su macchine diverse condividono lo stesso insieme di volumi fisici e di cartucce logiche. L'accesso alle cartucce avviene, sia pure in modo trasparente, sempre attraverso il Cray C90, al quale sono fisicamente collegate le unita', e' quindi possibile utilizzarle solo se il sistema C90 e' in funzione. 24

25 Uso del CRAY T3E 5.9 Debugging Il debugger e' TotalView (comando totalview), che consente sia l'analisi del core file che il debugging interattivo. Per default ha una interfaccia X-windows, ma e' anche possibile richiedere l'interfaccia di linea con totalview -L. Per usarlo occorre usare le opportune opzioni di compilazione; ecco un esempio per il Fortran, in cui si fa il debugging interattivo del programma myprog: % f90 -g -o myprog myprog.f % totalview myprog per invocare TotalView per un programma che abortisce e produce un core file: % f90 -g -o myprog myprog.f Operand range error (core dumped) % totalview myprog core 5.10 Misura delle performance Le routines "rtc()" (Fortran) e rtclock() (C e C++) restituiscono il real-time clock in clicks, dove un clock corrisponde a nanosecondi. REAL*8 CLK, SECONDI CLK=rtc()... < calcolo >... SECONDI=(rtc()-clk)*3.333e Apprentice Cosi come sul T3D, sul T3E e' disponibile Apprentice un vero e proprio tool di valutazione della performance. Per usare apprentice e' necessario specificare opportune opzioni di compilazione, e linkare la libreria libapp.a, in questo modo: Fortran: C e C++: f90 -ea -lapp -o myprog myprog.f cc -o try -lapp -h apprentice try.c 25

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Modulo 11. Il livello trasporto ed il protocollo TCP Indice Pagina 1 di 14 Il livello trasporto ed il protocollo TCP Indice servizi del livello trasporto multiplexing/demultiplexing trasporto senza connesione: UDP principi del trasferimento dati affidabile trasporto

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Corso di Laurea Specialistica in Ingegneria Meccatronica a.a. 2008/2009 Corso di CALCOLATORI ELETTRONICI Capitolo

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione al VHDL. Alcuni concetti introduttivi Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

Dettagli

RSYNC e la sincronizzazione dei dati

RSYNC e la sincronizzazione dei dati RSYNC e la sincronizzazione dei dati Introduzione Questo breve documento intende spiegare come effettuare la sincronizzazione dei dati tra due sistemi, supponendo un sistema in produzione (master) ed uno

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto

2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto 2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto previsto in Avvisi legali. 23 giugno 2014 Indice 3 Indice...5

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 telecamere. I sistemi di acquisizione ed archiviazione

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Per questa ragione il nostro sforzo si è concentrato sugli aspetti elencati qui di seguito:

Per questa ragione il nostro sforzo si è concentrato sugli aspetti elencati qui di seguito: Autore : Giulio Martino IT Security, Network and Voice Manager Technical Writer e Supporter di ISAServer.it www.isaserver.it www.ocsserver.it www.voipexperts.it - blogs.dotnethell.it/isacab giulio.martino@isaserver.it

Dettagli

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA Ottimizzazione dei processi aziendali Con il modulo E-mail Integrata, NTS Informatica ha realizzato uno strumento di posta elettronica

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

APPLICAZIONI SU PIU FILE

APPLICAZIONI SU PIU FILE APPLICAZIONI SU PIU FILE Serve poter sviluppare applicazioni su piú file: - alcune funzioni e alcune definizioni di dati in un file - altre funzioni e dati in file diversi Perché?? 1. Se il programma è

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Guida al backup. 1. Introduzione al backup. Backup dei dati una parte necessaria nella gestione dei rischi. Backup su nastro media ideale

Guida al backup. 1. Introduzione al backup. Backup dei dati una parte necessaria nella gestione dei rischi. Backup su nastro media ideale 1. Introduzione al backup Guida al backup Backup dei dati una parte necessaria nella gestione dei rischi Con l aumentare dei rischi associati a virus, attacchi informatici e rotture hardware, implementare

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Caratteristiche raccomandate del Network in un progetto di Home Automation

Caratteristiche raccomandate del Network in un progetto di Home Automation Caratteristiche raccomandate del Network in un progetto di Home Automation Uno degli aspetti progettuali più importanti di un sistema Control4 è la rete. Una rete mal progettata, in molti casi, si tradurrà

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it)

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) In una rete TCP/IP, se un computer (A) deve inoltrare una richiesta ad un altro computer (B) attraverso la rete locale, lo dovrà

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Active Solution & Systems illustra La virtualizzazione dei Server secondo il produttore di Storage Qsan

Active Solution & Systems illustra La virtualizzazione dei Server secondo il produttore di Storage Qsan Active Solution & Systems illustra La virtualizzazione dei secondo il produttore di Storage Qsan Milano, 9 Febbraio 2012 -Active Solution & Systems, società attiva sul mercato dal 1993, e da sempre alla

Dettagli

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico 2012-2013 Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

ACCREDITAMENTO EVENTI

ACCREDITAMENTO EVENTI E.C.M. Educazione Continua in Medicina ACCREDITAMENTO EVENTI Manuale utente Versione 1.5 Maggio 2015 E.C.M. Manuale utente per Indice 2 Indice Revisioni 4 1. Introduzione 5 2. Accesso al sistema 6 2.1

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

CIRCUITI INTEGRATI ESEMPI: INTEL

CIRCUITI INTEGRATI ESEMPI: INTEL CIRCUITI INTEGRATI Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva, ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell affidabilità

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE TELECOMUNICAZIONI (TLC) Tele (lontano) Comunicare (inviare informazioni) Comunicare a distanza Generico sistema di telecomunicazione (TLC) Segnale non elettrico Segnale elettrico TRASMESSO s x (t) Sorgente

Dettagli

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi IL GESTIONALE DEL FUTURO L evoluzione del software per l azienda moderna Gestirsi / Capirsi / Migliorarsi IL MERCATO ITALIANO L Italia è rappresentata da un numero elevato di piccole e medie aziende che

Dettagli