LabVIEW offre un ambiente di programmazione grafica
|
|
|
- Luciana Tommasa Vanni
- 10 anni fa
- Visualizzazioni
Transcript
1 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di programmazione parallela LabVIEW offre un ambiente di programmazione grafica unico e di semplice utilizzo per le applicazioni di test automatizzati, ma è la sua capacità di assegnare dinamicamente parti di codice ai vari core della CPU ad aumentare la velocità di esecuzione sui processori multicore. Figure 1 Codice LabVIEW per l esecuzione sequenziale LA SFIDA DELLA PROGRAMMAZIONE MULTITHREADED Fino a poco tempo fa, le innovazioni apportate nella tecnologia dei processori si traducevano in computer con CPU (Central Processing Unit) in grado di funzionare a frequenze di clock più elevate. Tuttavia, con l avvicinarsi di tali frequenze al loro limite fisico teorico, sono stati sviluppati nuovi processori con più core di elaborazione, anziché uno solo. Con i nuovi processori multicore, le applicazioni di test automatizzati raggiungono le migliori prestazioni e i volumi di lavoro più elevati quando si utilizzano tecniche di programmazione parallela. Edward Lee, professore di Ingegneria Elettrotecnica ed Informatica presso l Università della California (Berkeley), descrive così i vantaggi dell elaborazione parallela: Molti esperti di settore prevedono che la risposta ai limiti della Legge di Moore si darà sempre più con architetture di calcolo parallele. Per sperare di continuare ad ottenere prestazioni sempre migliori in questo campo, i programmi dovranno essere in grado di sfruttare al meglio questo parallelismo. Programmare applicazioni in grado di sfruttare tecnologie hardware parallele rappresenta una grande sfida in campo informatico. Fortunatamente, LabVIEW offre un ambiente di programmazione ideale per i processori multicore, perché offre un ambiente intuitivo per creare algoritmi paralleli e può assegnare dinamicamente thread multipli a una data applicazione. Infatti, le applicazioni di test automatizzati che utilizzano processori multicore possono essere facilmente ottimizzate per raggiungere le migliori prestazioni. Grandi benefici ne possono ricavare in particolare gli strumenti modulari PXI Express, ad esempio in applicazioni di analisi di segnale multicanale e di elaborazione Hardware in the Loop, grazie alle velocità elevate di trasferimento dati ottenibili con il bus PXI Express. Nel seguito, valuteremo varie tecniche di programmazione parallela e caratterizzeremo in termini di prestazioni i benefici offerti da ciascuna tecnica. IMPLEMENTAZIONE DI ALGORITMI DI TEST PARALLELI Una comune applicazione di test automatizzati (ATE) che trae vantaggio dall elaborazione parallela è l analisi di segnale multicanale. Poiché l analisi in frequenza è normalmente un operazione onerosa per i processori, la velocità di esecuzione può essere migliorata parallelizzando il codice di test, in modo tale che l elaborazione di segnale di ogni canale possa essere distribuita su più core di elaborazione. Dal punto di vista del programmatore, l unica modifica richiesta per ottenere questo beneficio è semplicemente quella di ristrutturare l algoritmo di test. Per illustrare il concetto, confronteremo i tempi di esecuzione di due algoritmi di analisi in frequenza multicanale operanti su due canali di un digitalizzatore ad alta velocità. Nel nostro test viene impiegato un digitizer a 14 bit PXIe-5122 per acquisire i segnali alla massima velocità di campionamento consentita (100 MS/s). Innanzitutto, vediamo in LabVIEW il modello di programmazione 19
2 03 TIPS & TECHNIQUES Figura 3 Tempo di esecuzione degli algoritmi sequenziale e parallelo sequenziale tradizionale necessario per effettuare questa operazione. Nello schema a blocchi della fig. 1, l analisi in frequenza di entrambi i canali viene eseguita in un VI Express per misure spettrali basate su FFT che analizza ciascun canale in serie. Anche se l algoritmo della fig. 1 può essere comunque eseguito efficientemente su processori multicore, è possibile migliorarne le prestazioni elaborando ciascun canale in parallelo. Se analizzassimo i dettagli esecutivi dell'algoritmo precedente, noteremmo che la FFT richiede un tempo significativamente più lungo per essere completata rispetto all acquisizione dal digitalizzatore ad alta velocità. Acquisendo separatamente i due canali ed eseguendo due FFT in parallelo, possiamo ridurre notevolmente il tempo di elaborazione. Utilizzando l approccio parallelo, si ottiene il nuovo schema a blocchi illustrato nella fig. 2. I canali del digitalizzatore vengono coinvolti sequenzialmente. Notate che queste operazioni potrebbero essere eseguite completamente in parallelo se le due operazioni di fetch fossero associate a strumenti distinti. Tuttavia, dato che sono le operazioni di trasformazione ad impegnare particolarmente il processore, riusciamo ancora a migliorare le prestazioni semplicemente parallelizzando l elaborazione di segnale. Di conseguenza, il tempo di esecuzione totale si riduce. Nella fig. 3 è illustrato il tempo di esecuzione delle due implementazioni. All aumentare delle dimensioni del blocco (campioni per fetch), il tempo di elaborazione risparmiato attraverso l esecuzione parallela diventa molto più evidente. Infatti, l algoritmo parallelo si avvicina a un raddoppio delle prestazioni per i blocchi di dimensioni più grosse. Il grafico nella fig. 4 illustra l esatto aumento percentuale di prestazioni in funzione delle dimensioni dell acquisizione (in campioni). Per dimensioni dei blocchi maggiori di 1 milione di campioni (ampiezza di banda di risoluzione pari a 100 Hz), l approccio parallelo si traduce in aumenti di prestazioni di almeno l 80%. Ottenere un aumento di prestazioni delle applicazioni di test automatizzati sui processori multicore è facile in LabVIEW, perché l ambiente alloca dinamicamente ogni thread. Infatti, agli utenti non è richiesto di creare codice speciale per abilitare il multithreading, mentre le applicazioni di test parallelo possono trarre beneficio dai processori multicore con minimi aggiustamenti della programmazione. CONFIGURAZIONE DEGLI ALGORITMI DI TEST PARALLELO CUSTOMIZZATO Il beneficio della parallelizzazione degli algoritmi di elaborazione dei segnali è che permette a LabVIEW di suddividere l uso della CPU fra più core. LabVIEW è in grado di elaborare in parallelo gran parte dei dati acquisiti, risparmiando tempo di esecuzione. Un requisito per l elaborazione parallela è che LabVIEW Figura 4 Aumento di prestazioni degli algoritmi paralleli (in percentuale) 20
3 Figura 5 Configurazione per l esecuzione rientrante in LabVIEW esegua una copia (o clone) di ciascuna subroutine di elaborazione del segnale. Di default, molti degli algoritmi di elaborazione dei segnali di LabVIEW sono configurati per garantire un esecuzione rientrante. Ciò significa che LabVIEW alloca dinamicamente una singola istanza di ciascuna subroutine inclusi thread distinti e spazio di memoria. Di conseguenza, le subroutine custom devono essere configurate affinché funzionino in modo rientrante. Ciò si può fare con un semplice step di configurazione in LabVIEW. Per impostare questa proprietà, selezionate File >> VI Properties e scegliete la categoria Execution. Selezionate quindi il flag che abilita l esecuzione rientrante come illustrato nella fig. 5. Con il semplice passo mostrato in figura è possibile eseguire in parallelo più subroutine custom, come accade per le funzioni di analisi standard presenti in LabVIEW. Di conseguenza, le applicazioni di test automatizzati possono raggiungere migliori prestazioni sui processori multicore tramite semplici tecniche di programmazione. OTTIMIZZAZIONE DELLE APPLICAZIONI HARDWARE-IN-THE-LOOP Un altro esempio di applicazioni che possono trarre vantaggio dalle tecniche di elaborazione parallela del segnale, utilizzando più strumenti per gestire input e output simultanei, sono le applicazioni hardware-in-the loop (HIL) Figura 6 Schema a blocchi dell elaborazione di segnale in linea e di elaborazione in linea. Prendiamo ad esempio il caso di un acquisizione che utilizzi un digitalizzatore ad alta velocità o un modulo di I/O digitale ad alta velocità. A livello software, viene eseguito un algoritmo di elaborazione digitale del segnale. Infine, il risultato viene generato da un altro strumento modulare. Nella fig. 6 è illustrato un tipico schema a blocchi. Comuni applicazioni HIL includono la simulazione di sensori e l emulazione di componenti custom. In questo articolo, esploreremo alcune tecniche per ottenere il migliore throughput per applicazioni in linea di elaborazione digitale dei segnali. In generale, si possono usare due strutture di programmazione fondamentali: la struttura a loop singolo e la struttura multiloop basata su pipeline con utilizzo di code. La struttura a loop singolo è semplice da implementare e presenta una bassa latenza per i Figura 7 Approccio a loop singolo al Processing in the Loop blocchi di piccole dimensioni. Al contrario, le architetture multiloop possono raggiungere un throughput molto più elevato, perché sono in grado di utilizzare meglio le CPU multicore. Usando l approccio tradizionale a loop singolo, mettiamo in ordine sequenziale una funzione di lettura di un digitalizzatore ad alta velocità, l algoritmo di elaborazione del segnale e una scrittura di I/O digitale ad alta velocità. Come lo schema a blocchi nella fig. 7 illustra, ciascuna di queste subroutine deve essere eseguita in serie, secondo quanto determinato dal modello di programmazione a flusso di dati di LabVIEW. La struttura a loop singolo è soggetta a diversi limiti. Poiché ogni stadio viene eseguito in serie, il processore è limitato nell eseguire I/O dallo strumento mentre elabora i dati. Con questo approccio, una 21
4 03 TIPS & TECHNIQUES Figura 8 Le code permettono la condivisione dei dati fra più loop CPU multicore non può essere utilizzata in modo efficiente perché il processore può eseguire una sola funzione per volta. Quindi, verrà utilizzato un unico core di una CPU multicore per questa applicazione. Benché la struttura a loop singolo sia sufficiente per le velocità di acquisizione più basse, per gestire un throughput dati più elevato è richiesto un approccio multiloop. L architettura multiloop utilizza le code per passare i dati fra i vari cicli while. Nella fig. 8 illustriamo il concetto della programmazione a flusso di dati nel caso di più cicli Figura 9 Elaborazione del segnale a pipeline con loop multipi e code while con l utilizzo delle code. Le code permettono la condivisione dei dati fra più loop. La figura rappresenta quella che viene tipicamente chiamata struttura a ciclo produttore-consumatore. In questo caso, un digitalizzatore ad alta velocità acquisice i dati in un primo loop e passa ad ogni iterazione un nuovo set di dati alla FIFO. Il loop consumer monitorizza semplicemente lo stato della coda e scrive ogni nuovo set di dati sul disco quando diventa disponibile. Il valore dell uso delle code è che entrambi i loop possono essere eseguiti indipendentemente fra loro. Nell esempio precedente, il digitalizzatore ad alta velocità può continuare ad acquisire dati anche se c è un ritardo nella loro scrittura su disco. Nel frattempo, i campioni in più vengono semplicemente memorizzati nella FIFO. Generalmente, l approccio produttore-consumatore a pipeline permette un throughput dati maggiore, consentendo un utilizzo più efficiente dei processori. Questo vantaggio è ancora più evidente nei processori multicore, perché LabVIEW può assegnare dinamicamente i thread della CPU ad ogni core. Per un applicazione di elaborazione del se gnale in linea, possiamo usare tre while loop indipendenti e due code per passare i dati fra loro. In questo scenario, un loop acquisirà i dati da uno strumento, uno sarà dedicato all elaborazione del segnale ed il terzo scriverà i dati su un secondo strumento. Nella fig. 9 è riportato uno schema a blocchi di LabVIEW che illustra questo approccio. Nella fig. 9, il loop superiore è un loop produttore che acquisisce dati da un digitalizzatore ad alta velocità e li passa alla prima struttura a coda (FIFO). Il loop intermedio opera sia come produttore che consumatore. Ad ogni iterazione, il ciclo carica (consuma) diversi set di dati dalla prima coda e li elabora indipendentemente come pipeline. Questo approccio migliora le prestazioni di elaborazione nei processori multicore permettendo di elaborare indipendentemente fino a quattro set di dati. Notate che il loop intermedio opera anche come produttore, passando i dati elaborati nella seconda coda. Infine, il loop inferiore scrive i dati elaborati sul modulo di I/O digitale ad alta velocità. Gli algoritmi di elaborazione parallela sfruttano il processore in modo più efficiente sulle CPU multicore. Infatti, il throughput totale dipende da due fattori: l utilizzo del processore e le velocità di trasferimento sul bus. In generale, 22
5 la CPU e il bus dati funzionano in modo più efficiente quando si elaborano grossi blocchi di dati. Inoltre, possiamo ridurre ancora di più i tempi di trasferimento dei dati usando strumenti PXI Express, che hanno tempi di trasferimento più veloci. Di conseguenza, possiamo illustrare il massimo throughput in termini di velocità di campionamento in funzione dell acquisizione espressa in numero di campioni, come si vede nella fig. 10. Tutti i benchmark illustrati in questo grafico sono stati eseguiti su campioni a 16 bit. Inoltre, l algoritmo di elaborazione del segnale usato era un filtro passa-basso Butterworth del 7 ordine con un cutoff di 0,45 moltiplicato per la velocità di campionamento. Come i dati illustrano, l approccio a pipeline (multiloop) a 4 stadi permette di ottenere il throughput dati più elevato. Notate che un approccio di elaborazione del segnale a 2 stadi permette di ottenere prestazioni migliori del metodo a singolo loop (sequenziale), ma non utilizza la CPU con altrettanta efficienza del metodo a 4 stadi. Le velocità di campionamento elencate nelle tabelle 1 e 2 sono la massima velocità di campionamento di input e output per un digitalizzatore ad alta velocità PXIe-5122 ed un modulo di I/O digitale ad Figura 10 Throughput delle strutture multiloop e a loop singolo stadi, con velocità di campionamento di. Al contrario, l utilizzo della CPU supera di poco il 50% in tutti gli esempi a loop singolo. TABELLA 1 TABELLA 2 Dimensioni del blocco 32k 64k 128k 256k 512k 1M 2M 4M Velocità di campionamento (max) 1 MS/s 2,5 MS/s 2,5 MS/s 5 MS/s 6,25 MS/s 8,25 MS/s 8,28 MS/s 8,25 MS/s Latenza 2,50 ms 5,62 ms 11,56 ms 22,03 ms 44,22 ms 85,63 ms 169,52 ms 199,62 ms Dimensioni del blocco 32k 64k 128k 256k 512k 1M 2M 4M Tabella 1 e 2 Benchmark di latenza per loop singolo e per pipeline a 4 stadi alta velocità PXIe Notate che a, il bus trasferisce dati alle velocità di 40 MB/s per l input e 40 MB/s per l output, per un ampiezza di banda totale del bus di 80 MB/s. E anche importante considerare che l approccio di elaborazione a pipeline introduce latenza fra input e output. La latenza dipende da diversi fattori, incluse le dimensioni dei blocchi e la velocità di campionamento. Le tabelle 1 e 2 confrontano la latenza misurata in funzione delle dimensioni dei blocchi e della massima velocità di campionamento per le architetture a loop singolo e multiloop a 4 stadi. Come ci si poteva aspettare, la latenza aumenta mano a mano che l utilizzo della CPU si avvicina al 100%. Ciò è particolarmente evidente nell esempio della pipeline a 4 Velocità di campionamento (max) 12,5 MS/s 12,5 MS/s Latenza 38,78 ms 45,41ms 38,27 ms 44,86 ms 55,17 ms 148,85 ms 247,29 ms 581,15 ms CONCLUSIONE La strumentazione basata su PC, come gli strumenti modulari PXI e PXI express, trae grandi benefici dai progressi della tecnologia dei processori multicore e dall aumento della velocità dei bus dati. Mano a mano che le nuove CPU migliorano le prestazioni aggiungendo più core di elaborazione, sono necessarie strutture di elaborazione parallela o a pipeline per massimizzare l efficienza della CPU. Fortunatamente, LabVIEW offre un eccellente soluzione a questo problema di programmazione, assegnando dinamicamente i task di elaborazione ai singoli core di elaborazione. Come i dati sopra riportati evidenziano, si possono raggiungere significativi miglioramenti di prestazioni strutturando gli algoritmi di LabVIEW in modo da sfruttare l elaborazione parallela. Note sull autore David Hall, Signal Sources Product Engineer, National Instruments. Readerservice.it n
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
Architettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Architettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
Più processori uguale più velocità?
Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In
Esame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
CPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
Laboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella [email protected] Prestazioni Si valutano in maniera diversa a seconda dell
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
Dispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore
Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
C. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
INFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema
La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia
Corso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
FONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
Stimare il WCET Metodo classico e applicazione di un algoritmo genetico
Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di
Architettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: [email protected] Tutor:??? Informazioni generali
Pronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Struttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1
Introduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: [email protected] Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
Architettura dei calcolatori II parte Memorie
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi
Il Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
La memoria centrale (RAM)
La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6
Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare
Gestione del processore e dei processi
Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore
Introduzione alle misure con moduli multifunzione (DAQ)
Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Introduzione alle misure con moduli multifunzione (DAQ) Ing. Andrea Zanobini - Maggio 2012 Dipartimento
Sistema operativo: Gestione dei processi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Sistema operativo: Gestione dei processi La presente dispensa e da utilizzarsi
Scopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
Sensori a effetto Hall bipolari con ritenuta stabilizzati e non stabilizzati con circuito chopper
Sensori a effetto Hall bipolari con ritenuta stabilizzati e non stabilizzati con circuito chopper I risultati dei test mostrano che è possibile ottenere prestazioni significativamente maggiori impiegando
Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo
Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo Prima di organizzare un programma di allenamento al fine di elevare il livello di prestazione, è necessario valutare le capacità
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
Architettura hardware
Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati 2) dalla
DMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.
I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche
Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli
Sistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
Architettura dei calcolatori I parte Introduzione, CPU
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori
Sistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
Scenario di Progettazione
Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano
DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI. La nostra risposta alle esigenze della tua attività.
DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI La nostra risposta alle esigenze della tua attività. LA BANCA COME TU LA VUOI DALLA PARTE DEGLI ALTRI OPERATORI ECONOMICI La nostra risposta alle esigenze della
Sistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
Organizzazione della memoria principale Il bus
Corso di Alfabetizzazione Informatica 2001/2002 Organizzazione della memoria principale Il bus Organizzazione della memoria principale La memoria principale è organizzata come un insieme di registri di
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
VMware. Gestione dello shutdown con UPS MetaSystem
VMware Gestione dello shutdown con UPS MetaSystem La struttura informatica di una azienda Se ad esempio consideriamo la struttura di una rete aziendale, i servizi offerti agli utenti possono essere numerosi:
Modulo 3 - Elaborazione Testi Presentazione del corso
Università degli Studi dell Aquila Corso ECDL programma START Modulo 3 - Elaborazione Testi Presentazione del corso Maria Maddalena Fornari Contatti e riferimenti Maria Maddalena Fornari Settore Laboratori
Lezione 7 Sommatori e Moltiplicatori
Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/36 Sommario!
Gestione dei servizi all utenza. 3. Autorizzazioni
Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Gestione dei servizi all utenza 3. Autorizzazioni 1 2 1. Introduzione
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.
DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato
Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione
Commutazione 05.2 Trasmissione di dati al di fuori di un area locale avviene tramite la Autunno 2002 Prof. Roberto De Prisco -05: Reti a di circuito Università degli studi di Salerno Laurea e Diploma in
COME È FATTO IL COMPUTER
1 di 8 15/07/2013 17:07 COME È FATTO IL COMPUTER Le componenti fondamentali Un computer, o elaboratore di dati, è composto da una scheda madre alla quale sono collegate periferiche di input e output, RAM
Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V
Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V Sui PC a disposizione sono istallati diversi sistemi operativi. All accensione scegliere Windows.
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
Elementi di teoria dei segnali /b
Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni
Esercitazione Schede di acquisizione dati
Esercitazione Schede di acquisizione dati - 1 Esercitazione Schede di acquisizione dati 1 - Oggetto Impiego di una scheda di acquisizione dati plug-in. Predisposizione dei parametri. Acquisizione da scheda.
Memoria Secondaria o di Massa
.. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,
IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it
LA SOLUZIONE SAP FOR PROFESSIONAL SERVICES IL CASO DELL AZIENDA Perché SAP Grazie a SAP siamo riusciti a pianificare meglio e ad ottenere tempestive informazioni su tempi e costi delle nostre commesse.
Ottimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
e-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore
Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni
DeskProto v6 Venerdì 30 Dicembre 2011 16:59 - Ultimo aggiornamento Lunedì 02 Aprile 2012 09:44
La nuova versione 6.0 di DeskProto, resa disponibile a partire da dicembre 2011, include una serie di nuove, potenti funzioni, elencate qui di seguito, o disponibili nel file PDF New in V6. A partire da
Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
Come masterizzare dischi con Nero 11
Come masterizzare dischi con Nero 11 Non c è dubbio che Nero è diventato un sinonimo di masterizzatore di dischi, data la lunga esperienza sul mercato. Molte persone pensano in questo programma nel momento
I modelli di qualità come spinta allo sviluppo
I modelli di qualità come spinta allo sviluppo Paolo Citti Ordinario Università degli studi di Firenze Presidente Accademia Italiana del Sei Sigma 2005 1 Si legge oggi sui giornali che l azienda Italia
