Marco Danelutto Dipartimento di Informatica Università di Pisa 16 ottobre 2014

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Marco Danelutto Dipartimento di Informatica Università di Pisa 16 ottobre 2014"

Transcript

1 Marco Danelutto Dipartimento di Informatica Università di Pisa 16 ottobre 2014

2 La macchina calcolatore Oggetto costituito da componenti diversi Unità centrale (CPU) Memoria Periferiche Unità centrale Esegue un programma contenuto nella memoria Interagendo con il mondo esterno mediante le periferiche M CPU I/O 1. Preleva istruzione dalla memoria 2. Decodificala 3. Preleva gli operandi 4. Eseguila 5. Scrivi risultati 6. Controlla eventi straordinari 7. Ricomincia

3 Programmi Applicazioni (GUI, Compilatori, Office, Video, Sound, ) Sistema operativo (gestione processi, memoria, I/O) Disco RAM Disco RAM BIOS (gestione minima periferiche, boot) ROM

4 Unità centrale Costruita utilizzando componenti elettronici Stampati sul silicio Più componenti Più memoria Istruzioni più complesse o più veloci Periferiche più intelligenti Ma anche Più area sul silicio Più consumo

5 Quanti componenti? Legge di Moore Componenti per chip raddoppiano ogni due anni Gordon E. Moore 1965 Co-fondatore della Intel Componente base transistor , 8µm, 3,5K transistors, 1 MHz (Apple 2) , 3µm, 30K transistors, 5-10MHz (IBM PC XT) , 1,5µm, 275K transistors, 20MHz Pentium 4, nm, M transistor, 3-4GHz

6 Miglioramento costante Clock Velocità di calcolo delle istruzioni Codice Componenti (transistors) Maggiore capacità di memoria (cache) Istruzioni più potenti Mantenendo lo stesso modello architetturale Dunque lo stesso modello di programmazione Nuovo PC Maggior velocità

7 Ma Maggior numero di componenti e maggior frequenza Problemi di dissipazione del calore E.G: Pentium sarebbe potuto andare a 10GHz ma si sarebbe fuso Limite alla frequenza!

8 Ma (2) Legge di Pollack Performance proporzionale alla radice quadrata della complessità, consumo lineare nella complessità (complessità area) Limite alla complessità della singola CPU P = 1, W = 1 P=2, W=4 P=4, W=4

9 Dal 2000 in poi Maggiore capacità di integrazione utilizzata per raddoppiare core invece che componenti della stessa CPU 2 core (2006, ca. 300M transistor, 65nm) 4 core (2008, ca. 700M transistor, 32nm) 8 core (2010, ca. 1,2G transistor, 45nm) 16 core(2014, ca. 4,4G transistor, 22nm) 60 core(2012, ca. 5G transistor, 22nm)

10 FLOPS e dintorni Prestazioni di una macchina misurate in FLOPs Floating Point Operations per Second Kilo, Mega, Giga, Tera, Peta, Exa FLOPS (migliaia, milioni, miliardi, migliaia fi miliardi, milioni di miliardi, miliardi di miliardi) Schiarire una sequenza di 1000 foto scattata su una macchina a 18 Mpixel (idealmente) Ca. 0,5 GFLOP a foto => 500 GFLOP I3/4/7 : 50/90 GFLOPs => 10 secondi PHI : 2TFLOP => 0,25 secondi

11 Potenza (single chip) #core (per chip)

12 2x #core Anche 10%-15% più tempo per stesso codice

13 Per nuovo hw occorrono nuovi programmi Linguaggi di programmazione paralleli (espliciti o impliciti) Linguaggi di programmazione sequenziali Linguaggi di programmazione sequenziali + librerie di comunicazione e sincronizzazione Programma sequenziale Insieme di programmi sequenziali che cooperano Programmi paralleli (distribuiti)

14 C è di più GP-GPU Processori grafici specializzati Possono essere utilizzati anche per il calcolo Quando dobbiamo eseguire lo stesso calcolo su tutti gli elementi di una collezione Da 100 a 1000 core Sono coprocessori Programma della CPU Copia input e programma su GPU Ordina l esecuzione del codice Copia output dalla GPU Programma sulla GPU Calcola output da input

15 GPU programming Richiede linguaggi particolari (CUDA, OpenCL) Forte conoscenza delle caratteristiche hardware della GPU E.g. gestione esplicita dei diversi livelli di memoria presenti E comunque serve solo per tipi di programmi particolari data parallel: stesso calcolo su tutti gli elementi di un vettore/matrice

16 e acceleratori many core Tilera Pro64 (64 core o 100 core), Xeon PHI (60 core, 4 thread per core) Clock intorno al GHz Archittettura ridotta (Tilera) o standard (PHI, x86) Venduti come schede acceleratore (tipo le GPU) Eseguono programmi paralleli di vario tipo (non solo data parallel) Possono essere acceduti dall host come se fossero CPU con 64/240 core!!! Necessario trovare un alto numero di attività concorrenti per sfruttare al meglio l architettura (PHI ha un prestazioni fino a 2 TeraFLOPS!)

17 Configurazioni tipiche di calcolatori oggi Desktop/laptop 4-8 core +GPU (ca. 100 core) Mobile 2-4 core + GPU (ca. 10 core) Supercalcolatori Milioni di core Reti di Interconnessione dedicate/proprietarie

18

19 Statistiche top500

20 Statistiche top500

21 Per poterle sfruttare Dobbiamo essere in grado di programmare in parallelo Attività concorrenti coordinate per contribuire al calcolo di un risultato Dobbiamo pensare alle prestazioni Utilizzare n risorse (core) dovrebbe voler dire ottenere un esecuzione n volte più veloce Dobbiamo pensare al consumo energetico Un telefonino «vive» di batteria Un centro di calcolo consuma (ENEL) + di quanto costa

22 Programmare in parallelo 1 esecutore esegue un lavoro di 4 passi impiegando 4 t tempo 4 esecutori eseguono ognuno 1 passo, impiegando 1 t

23 Quando ci sono dipendenze Il secondo passo dipende dai risultati del primo e il terzo dai risultati del secondo Sequenziale: tempo Parallelo: (indipendentemente da quanti esecutori ho a disposizione oltre ai due utilizzati)

24 Parallelismo: pattern replicazione funzionale (FARM) Spendo un po di tempo per smistare il lavoro fra gli esecutori Tutti gli esecutori lavorano insieme Spendo un po di tempo per raccogliere i risultati Se distribuzione e collezione sono trascurabili spendo circa quanto il tempo speso da un esecutore per fare #esecutori lavori!

25 Parallelismo: pattern catena di montaggio (PIPELINE) Ogni esecutore fa una parte del lavoro E manda il risultato al prossimo esecutore Se tutti ci mettono lo stesso tempo dopo #esecutori tempi comincio a vedere uscire un risultato ogni tempo A calcolare #risultati ci metto circa #risultati X tempo di lavoro del singolo esecutore

26 Programmazione parallela Insegna come combinare pattern paralleli per far girare un programma su più core o più core e GPU Modello di programmazione Pattern paralleli Strumenti per la verifica Linguaggi di programmazione Strumenti di debugging Strumenti di tuning

27 Pensare alle prestazioni Legge di Amdahl Se si parallelizza un codice con una porzione non parallelizzabile (frazione seriale) del x %, non si potrà ottenere un incremento delle prestazioni maggiore di 100/x Significa che se spendo l 1% del mio tempo a leggere da un disco (azione inerentemente sequenziale) non potrò accelerare l esecuzione del mio codice più di 100 volte, qualsiasi sia il numero di core che utilizzo Apparentemente un risultato molto negativo

28 Pensare alle prestazioni Legge di Gustafson La frazione seriale non cresce in modo proporzionale alla dimensione dei dati trattati Dunque con dati più grossi riusciamo ad avere incrementi delle prestazioni migliori

29 Pensare ai consumi Telefonino 4 core + 1 GPU per vedere un video vanno bene Non servono se contatto la cella di tanto in tanto Exynos 5 (Samsung) core 4 ottimizzati per performance 4 ottimizzati per consumo Utilizzati in alternativa

30 Pensare ai consumi Centri supercalcolo Top500 1 consuma 17MW Per 54 PetaFLOPS Sillano 1 : 15 MW Si cercano di raggiungere gli ExaFLOPS (1000 PetaFLOPS) Per i quali si stima un consumo di 1GW Larderello: 800 MW

31 Pensare ai consumi Modello teorico Programmi che possono andare su dispositivi diversi (CPU e GPU) Valuta T CPU & T GPU GPU K20 : 20GFLOP/W CPU I7, PHI : 7, 9 GFLOP/W Smista Scelta del dispositivo più economico a parità di prestazioni CPU GPU

32 Pensare ai consumi 26 core a 1,2 GHz calcolano quanto 10 core a 2,2 GHz ma consumano meno!! Programmi che possono andare su un numero arbitrario di core Pochi core a clock massimo Molti core a clock minimo Scelta della configurazione che consuma meno a parità di prestazioni

33 Sfide: sviluppo software Sviluppare nuovi linguaggi di programmazione e compilatori Innalzare il livello di astrazione Permettere uno sviluppo più agile Verificare che il software sviluppato sia corretto Deve corrispondere alle specifiche Non deve calcolare risultati erronei Integrare il nuovo software in quello esistente Senza provocare malfunzionamenti Verificare Integrare Programmare

34 Nuovi linguaggi/modelli di programmazione Potenza espressiva Quanto codice serve per esprimere una certa classe di computazioni Esempio: calcolo in parallelo della stessa operazione su tutti gli elementi di un vettore #include <stdio.h> #include <stdlib.h> int main(int argc, char * argv[]) { #pragma omp parallel for for(i=0; i<n; i++) { // corpo del ciclo x[i] = f(x[i]); } } C + Pthread O(100) linee di codice OpenMP O(1) linee di codice

35 Nuovi linguaggi/modelli di programmazione Livello di astrazione Quali concetti si espongono al programmatore Più sono vicini al nostro modo di pensare, meno costa applicarli, più si è efficienti nello scrivere le applicazioni

36 Nuovi linguaggi: algorithmic Skeletons Building block = pattern paralleli Componibili fra di loro per creare altri pattern più complessi Fast Flow Calvados.di.unipi.it/fastflow Incapsulano gestione delle attività concorrenti (normalmente grossa sorgente di errori) Analogie con i linguaggi sequenziali)

37 Verificare Processo di sviluppo software: specifica, analisi, progettazione, implementazione, test Verificare che il software corrisponde alle specifiche ARIANE 5 è esploso perché il controllore del giroscopio è andato in overflow (il risultato di un numero era più grande di quanto poteva essere rappresentato con i bit assegnati alla variabile) Posso verificarlo a posteriori (testing) Posso utilizzare strumenti di sviluppo certificati (COMPCERT, compilatore C ASM corretto, INRIA)

38 Integrare Sviluppo di nuovi componenti per un software complesso Progettazione, sviluppo, test, verifica & validazione, Integrazione Controllo che tutto il resto del software continui a passare i regression test Aggiunta dei nuovi test per i nuovi componenti Integrazione continua Nottetempo test per passare il software (modificato o integrato) in produzione

39 Sfide: applicazioni Legge di Amdahl e Gustafson Richiedono applicazioni con dati sempre più grandi Previsioni del tempo Griglia più fitta dà previsioni migliori Video/Cinema Tempo reale per filmati full HD Simulazioni (chimica, fisica) Time step piccolo dà simulazioni migliori (e.g. studio di nuovi farmaci)

40 Nuove applicazioni (esempio) Senza luce Dove vado? Ad Hoc Network Arriva un canotto Sottopasso allagato

41

42 Nuove applicazioni (esempio) Stereo vision Disparity map Diff frame Suoni

43

44

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

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

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

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

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

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

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

> 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

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

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

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

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

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

Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE

Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE Programma Enti Locali Innovazione di Sistema Esperienze e soluzioni realizzate nell ambito del Progetto S.I.MO.NE 1 Premessa Il presente documento ha lo scopo di facilitare la disseminazione e il riuso

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

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

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

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

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 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

Uso Razionale dell energia nei centri di calcolo

Uso Razionale dell energia nei centri di calcolo RICERCA DI SISTEMA ELETTRICO Uso Razionale dell energia nei centri di calcolo M. Bramucci D. Di Santo D. Forni Report RdS/2010/221 USO RAZIONALE DELL ENERGIA NEI CENTRI DI CALCOLO M. Bramucci (Federazione

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

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

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

Informatica. PARSeC Research Group

Informatica. PARSeC Research Group Informatica Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta Formazione Europea e Mediterranea Jean Monnet PARSeC Research Group Introduzione: L informatica

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Fondamenti di Informatica 300 ed oltre esercizi di teoria

Fondamenti di Informatica 300 ed oltre esercizi di teoria Fondamenti di Informatica 300 ed oltre esercizi di teoria Fulvio Corno Antonio Lioy Politecnico di Torino Dip. di Automatica e Informatica v. 4.02 01/09/2009 Indice 1 Introduzione 2 1.1 Nota metodologica........................................

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

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

COME FRODE. la possibilità propri dati. brevissimo. Reply www.reply.eu

COME FRODE. la possibilità propri dati. brevissimo. Reply www.reply.eu FRAUD MANAGEMENT. COME IDENTIFICARE E COMB BATTERE FRODI PRIMA CHE ACCADANO LE Con una visione sia sui processi di business, sia sui sistemi, Reply è pronta ad offrire soluzioni innovative di Fraud Management,

Dettagli

Matlab: Funzioni. Informatica B. Daniele Loiacono

Matlab: Funzioni. Informatica B. Daniele Loiacono Matlab: Funzioni Informatica B Funzioni A cosa servono le funzioni? 3 x = input('inserisci x: '); fx=1 for i=1:x fx = fx*x if (fx>220) y = input('inserisci y: '); fy=1 for i=1:y fy = fy*y A cosa servono

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

Elettronica I Grandezze elettriche e unità di misura

Elettronica I Grandezze elettriche e unità di misura Elettronica I Grandezze elettriche e unità di misura Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 26013 Crema e-mail: liberali@dti.unimi.it http://www.dti.unimi.it/

Dettagli

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

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

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

Architettura di un sistema informatico 1 CONCETTI GENERALI

Architettura di un sistema informatico 1 CONCETTI GENERALI Architettura di un sistema informatico Realizzata dal Dott. Dino Feragalli 1 CONCETTI GENERALI 1.1 Obiettivi Il seguente progetto vuole descrivere l amministrazione dell ITC (Information Tecnology end

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

Corso di Informatica Industriale

Corso di Informatica Industriale Corso di Informatica Industriale Prof. Giorgio Buttazzo Dipartimento di Informatica e Sistemistica Università di Pavia E-mail: buttazzo@unipv.it Informazioni varie Telefono: 0382-505.755 Email: Dispense:

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

AUTORIZZAZIONE DELLA SUITE DI PLUG IN SAFFIRE VST/AU Dovrete autorizzare la vostra suite di plug-in Saffire, prima di poterla utilizzare.

AUTORIZZAZIONE DELLA SUITE DI PLUG IN SAFFIRE VST/AU Dovrete autorizzare la vostra suite di plug-in Saffire, prima di poterla utilizzare. GUIDA VELOCE INTRODUZIONE Questa Guida è stata scritta per offrirvi le informazioni necessarie per iniziare ad utilizzare Saffire LE, installare il software fornito, autorizzare la suite di plug-in VST/AU

Dettagli

CODE-STAT 9.0 SOFTWARE PER REVISIONE DATI BROCHURE ILLUSTRATIVA

CODE-STAT 9.0 SOFTWARE PER REVISIONE DATI BROCHURE ILLUSTRATIVA CODE-STAT 9.0 SOFTWARE PER REVISIONE DATI BROCHURE ILLUSTRATIVA La più potente analisi retrospettiva dei dati relativi a un evento cardiaco. Prestazioni migliorate. Livello di assistenza più elevato. 1

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

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il Circuiti in Corrente Continua direct currentdc ASSUNTO: La carica elettrica La corrente elettrica l Potenziale Elettrico La legge di Ohm l resistore codice dei colori esistenze in serie ed in parallelo

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

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

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

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

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

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

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

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

La protezione dai memory error exploit

La protezione dai memory error exploit Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Corso avanzato di farmacovigilanza: approfondimenti. Corso ECM di formazione a distanza (FAD) con tutoraggio didattico

Corso avanzato di farmacovigilanza: approfondimenti. Corso ECM di formazione a distanza (FAD) con tutoraggio didattico Corso avanzato di farmacovigilanza: approfondimenti Corso ECM di formazione a distanza (FAD) con tutoraggio didattico Procedura per sottoscrivere la partecipazione Il professionista sanitario che voglia

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

GESTIONE ATTREZZATURE

GESTIONE ATTREZZATURE SOLUZIONE COMPLETA PER LA GESTIONE DELLE ATTREZZATURE AZIENDALI SWSQ - Solution Web Safety Quality srl Via Mons. Giulio Ratti, 2-26100 Cremona (CR) P. Iva/C.F. 06777700961 - Cap. Soc. 10.000,00 I.V. -

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

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

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

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Manuale d Uso. Ref: 04061

Manuale d Uso. Ref: 04061 Manuale d Uso Ref: 04061 1 Grazie per aver acquistato il lettore digitale ENERGY SISTEM INNGENIO 2000. Questo manuale fornisce istruzioni operative dettagliate e spiegazioni delle funzioni per godere al

Dettagli

APPENDICE 3 AL CAPITOLATO TECNICO

APPENDICE 3 AL CAPITOLATO TECNICO CONSIP S.p.A. APPENDICE 3 AL CAPITOLATO TECNICO Manuale d uso del programma Base Informativa di Gestione (BIG), utilizzato per la raccolta delle segnalazioni ed il monitoraggio delle attività di gestione

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE In un mercato delle Telecomunicazioni sempre più orientato alla riduzione delle tariffe e dei costi di

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

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

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

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

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Progettazione di sistemi Embedded

Progettazione di sistemi Embedded Progettazione di sistemi Embedded Corso introduttivo di progettazione di sistemi embedded A.S. 2013/2014 proff. Nicola Masarone e Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

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

Intrusion Detection System

Intrusion Detection System Capitolo 12 Intrusion Detection System I meccanismi per la gestione degli attacchi si dividono fra: meccanismi di prevenzione; meccanismi di rilevazione; meccanismi di tolleranza (recovery). In questo

Dettagli

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo Lezione 1 Obiettivi della lezione: 1 Cos è un calcolatore? Cosa c è dentro un calcolatore? Come funziona un calcolatore? Quanti tipi di calcolatori esistono? Il calcolatore nella accezione più generale

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

Parametrizzazione, progettazione e visualizzazione con SIRIUS

Parametrizzazione, progettazione e visualizzazione con SIRIUS Parametrizzazione, progettazione e visualizzazione con SIRIUS /2 Introduzione /5 Soft Starter ES /8 Biblioteca di blocchi softstarter SIRIUS RW44 per SIMATIC PCS 7 /10 Motor Starter ES /1 Biblioteca di

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

Dettagli

Ridondante Modulare Affidabile

Ridondante Modulare Affidabile Ridondante Modulare Affidabile Provata efficacia in decine di migliaia di occasioni Dal 1988 sul mercato, i sistemi di chiusura Paxos system e Paxos compact proteggono oggi in tutto il mondo valori per

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Samsung Data Migration v2.6 Introduzione e Guida all'installazione

Samsung Data Migration v2.6 Introduzione e Guida all'installazione Samsung Data Migration v2.6 Introduzione e Guida all'installazione 2013. 12 (Revisione 2.6.) Esclusione di responsabilità legale SAMSUNG ELECTRONICS SI RISERVA IL DIRITTO DI MODIFICARE I PRODOTTI, LE INFORMAZIONI

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Manuale d uso. Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto!

Manuale d uso. Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto! Manuale d uso Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto! Giacchè noi costantemente aggiorniamo e miglioriamo il Tuo e-tab, potrebbero

Dettagli

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI

SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI s.d.i. automazione industriale ha fornito e messo in servizio nell anno 2003 il sistema di controllo

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

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

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

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131 Controllori a Logica mabile Nella presente lezione vedremo le caratteristiche principali del controllore a logica programmabile (in inglese, mable Logic Controller, o PLC). In particolare, ci soffermeremo

Dettagli

Fig. 1 - L apparato radio CNR2000

Fig. 1 - L apparato radio CNR2000 EO ESCLUSIVA L articolo descrive la strategia seguita nella progettazione e realizzazione della funzionalità di Frequency Hopping per un apparato radio preesistente: la radio tattica CNR2000, di produzione

Dettagli

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

Dettagli

LAVORO, ENERGIA E POTENZA

LAVORO, ENERGIA E POTENZA LAVORO, ENERGIA E POTENZA Nel linguaggio comune, la parola lavoro è applicata a qualsiasi forma di attività, fisica o mentale, che sia in grado di produrre un risultato. In fisica la parola lavoro ha un

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

La ricorsione. Politecnico di Milano Sede di Cremona

La ricorsione. Politecnico di Milano Sede di Cremona La ricorsione Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Definizioni ricorsive Sono comuni

Dettagli