PARTE II PROGRAMMAZIONE PARALLELA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PARTE II PROGRAMMAZIONE PARALLELA"

Transcript

1 PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del

2 Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di esplicitazione del parallelismo, si basa sempre su due tecniche: - Decomposizione del dominio dei dati e/o dei processi - Mapping dei sottodomini e/o dei processi ai processori Michele Colajanni Esplicitazione del parallelismo 3/34 Metodologie di Esplicitazione del ( Funzionale)

3 Metodologie di Esplicitazione del (Funzionale) Implicito Funzionale (Control Parallelism) Basato sui dati (Data Parallelism) Pipelining Algoritmico Instruction Level Parallelism (ILP) Funzioni Processi Michele Colajanni Esplicitazione del parallelismo 5/34 Funzionale Applicazione divisa in elementi funzionali (istruzioni, sottoprogrammi, processi) assegnati ai vari nodi. Il codice è diverso per ogni nodo. I dati seguono il codice. Si suddivide in: Pipelining Si individuano nel software dei nuclei sequenziali, che tutti i dati devono attraversare. Si assegna un nucleo ad ogni nodo e quando la pipe è piena si ha il parallelismo Algoritmico Si devono differenziare delle unit à funzionali che possono essere eseguite in modo parallelo (da singola istruzione ad insiemi di funzioni) Tali unit à funzionali possono interagire fra di loro in qualche momento della computazione. Tale interazione richiede uno scambio di informazioni. Richiede un elevato numero di codici differenti. Istruction Level Parallelism (ILP) algoritmico esplicitato a livello di istruzioni. All inizio, era a carico del programmatore, adesso vi sono strumenti (compilatori) che individuano automaticamente il parallelismo Michele Colajanni Esplicitazione del parallelismo 6/34

4 Esplicitazione del Funzionale Ogni programma sequenziale è un potenziale programma parallelo. L esplicitazione del parallelismo dipende dal livello di astrazione a cui ci si pone. Scelta del livello di astrazione (ATOMO=espressione aritmetica, istruzione, funzione, processo) Grafico delle unità computazionali non più suddivisibili ( atomi ); i nodi sono le funzioni, gli archi denotano le dipendenze funzionali tra gli atomi. (Grafo ottenuto in maniera deterministico, una volta scelto il livello di astrazione). Dipendenze funzionali tra cluster (insiemi di atomi partizionati). Problema NP-completo assimilabile al grain-packing, per cui ci si accontenta di approsimazioni Denota come i cluster vengono assegnati ai processori (quale processore esegue cosa). Un altro problema NP-completo. Michele Colajanni Esplicitazione del parallelismo 7/34 Paradigma Multiple Process Multiple Data (MPMD) E l unico livello di parallelizzazione funzionale che attualmente rimane di competenza del programmatore. I livelli di astrazione inferiori vengono ormai esplicitati in modo automatico da strumenti hardware o software di basso livello integrati con compilatori che ottimizzano il codice per una determinata architettura. Nel caso di MPMD, il parallelismo viene esplicitato: # A livello di Processo (Coarse-grain) # Consentendo a elementi di elaborazione multipli di eseguire concorrentemente - Un insieme di programmi - Parti indipendenti di questi La definizione MPMD ricorda la tassonomia di Flynn, sebbene venga applicata ad un contesto differente da quello architetturale. Michele Colajanni Esplicitazione del parallelismo 8/34

5 Costrutti per esprimere la concorrenza Corutines - Chiamate esplicite tra parti di subroutine - Scambio di flussi a carico del programmatore - Concorrenza gestita dal programmatore Costrutto Fork Join - Concorrenza gestita dal programmatore - Istruzione che specifica il nome di un processo da mandare in esecuzione. La modalità è analoga ad una chiamata di procedura, con la differenza fondamentale che il processo che esegue la fork continua nella sua esecuzione, parallelamente al processo che la fork ha mandato in esecuzione. - Join: ricombina due o più computazioni correnti - Non solo Unix mode ma più generale Costrutto ParBegin / Parend - Consente di specificare l esecuzione concorrente di un insieme di istruzioni. Es: PARBEGIN S1;S2;.;Sn; PAREND Tutte le istruzioni racchiuse fra PARBEGIN e PAREND possono essere eseguite in parallelo. L esecuzione termina solo quando tutte le istruzioni racchiuse sono terminate. Schemi a processi I processi vengono dichiarati in modo analogo alle procedure e vengono attivati con speciali istruzioni. Per eseguire diverse copie di un processo è sufficiente attivarlo con chiamate multiple. Ogni funzione è autonoma, ha un inizio e una fine, può comunicare con altri processi e può essere sincronizzata. Michele Colajanni Esplicitazione del parallelismo 9/34 Metodologie di Esplicitazione del ( basato sui dati)

6 Metodologie di Esplicitazione del (Decomposizione e Mapping) Implicito Funzionale (Control Parallelism) Basato sui dati (Data Parallelism) Pipelining Algoritmico Problemi bilanciati Problemi non bilanciati Geometrico Task Farm Statico Michele Colajanni Esplicitazione del parallelismo 11/34 basato sui dati (DECOMPOSIZIONE DEL DOMINIO) Molti problemi richiedono l applicazione di operazioni simili (analoga complessità computazionale per tutta la durata dell esecuzione) su parti differenti di grandi insiemi di dati.(problemi bilanciati) In tali circostanze è spesso appropriato decomporre il dominio tra (possibilmente) tutti i processi disponibili ( Geometrico) Esempio 16 processi: Se non vi sono dipendenze all interno del dominio dei dati il principale fattore che limita il parallelismo è dato dal numero di processi disponibili. Altrimenti va scelta la granularità opportuna dell insieme di dati da assegnare a ciascun processore Tradeoff tra overhead di comunicazione e numero di processori utilizzati Michele Colajanni Esplicitazione del parallelismo 12/34

7 Problemi Bilanciati (TASK FARM STATICO) Modello adottabile per applicazioni che richiedono l esecuzione di uno stesso algoritmo ripetuto su dati iniziali diversi. Ogni esecuzione è indipendente dalle altre e può essere eseguita concorrentemente in modo indipendente dalle altre. Un processore ha la funzione di distributore e collettore. Tutti i rimanenti processori sono denominati worker N task Vi è un partizionamento statico del lavoro (task farm statico) per N worker Esempi di applicazioni: ray tracing (image partitioning), simulazione col metodo Montecarlo, intersezioni orbitali, simulated annealing,. WORKER DISTRIBUTORE WORKER COLLETTORE WORKER Michele Colajanni Esplicitazione del parallelismo 13/34 Metodologie di Esplicitazione del (Decomposizione e Mapping) Implicito Funzionale (Control Parallelism) Basato sui dati (Data Parallelism) Pipelining Algoritmico Problemi bilanciati Problemi non bilanciati Geometrico Task Farm Statico Decomposizione a grana fine Task Farm Dinamico Riconfigurazione Dinamica Michele Colajanni Esplicitazione del parallelismo 14/34

8 Problemi non Bilanciati (altre possibilità?) Si supponga di avere un dominio computazionale in cui alcuni elementi richiedano un elaborazione molto più onerosa. geometrico (NO!) Si avrebbe un forte sbilanciamento del carico Es. con 16 processi Michele Colajanni Esplicitazione del parallelismo 15/34 Problemi non Bilanciati (DECOMPOSIZIONI STATICHE A GRANA FINE) Una possibile soluzione: decomposizione del dominio dei dati a grana fine Sottodominio assegnato al processore 0 Michele Colajanni Esplicitazione del parallelismo 16/34

9 Problemi non Bilanciati (TASK FARM DINAMICO) Tipicamente, si scelgono granularità piuttosto fini in modo che il numero di task sia adeguatamente superiore al numero di worker Un processore viene eletto task manager (o master) Tutti i rimanenti processori sono denominati worker (o slave) Il task manager: Conserva l insieme dei grani (computazioni) non ancora elaborati Determina dinamicamente a quale worker assegnare ciascun grano - inizialmente un task ad ogni worker - appena un worker termina l esecuzione, il manager gli assegna un altro task Pool di M task (>>N worker) MANAGER WORKER WORKER WORKER WORKER Michele Colajanni Esplicitazione del parallelismo 17/34 Problemi non Bilanciati (TASK FARM DINAMICO) - continua Caratteristiche 1) Con il task farm dinamico, si ha il considerevole vantaggio di non dover fare assunzioni preliminari sul mapping del dominio dei dati per ottenere un buon bilanciamento 2) Si ottengono buone prestazioni se: I grani sono relativamente indipendenti Si riesce a mantenere costante il flusso dei grani tra manager e worker I costi delle continue interazioni dinamiche con il manager non sono prevalenti Il manager non deve diventare il collo di bottiglia della computazione, ma non deve rimanere inattivo per troppo tempo Michele Colajanni Esplicitazione del parallelismo 18/34

10 TASK FARM (modelli ibridi) TASK FARM CON MANAGER/WORKER MANAGER/ WORKER WORKER WORKER WORKER WORKER SINK TASK FARM BUFFERIZZATO MANAGER Worker Worker Worker Worker SINK Michele Colajanni Esplicitazione del parallelismo 19/34 Con il task farm dinamico, si ha il considerevole vantaggio di non dover fare assunzioni preliminari sul mapping del dominio dei dati per ottenere un buon bilanciamento. Tuttavia, si può applicare solo in applicazioni parallele in cui non vi è necessità di cooperazione/comunicazione tra i worker. Il modello alternativo prevede: - Una decomposizione (tipicamente) a grana medio-fine del dominio dei dati, senza studi preliminari sull efficienza del bilanciamento del carico - Dei momenti di controllo (check point) durante la computazione per verificare l efficienza (soprattutto il bilanciamento del carico) della com putazione stessa - Una fase di ridistribuzione del carico computazionale (bilanciamento dinamico) tra i processori nel caso in cui il check abbia evidenziato serie inefficienze Alcuni problemi Problemi non Bilanciati (RICONFIGURAZIONE DINAMICA) - Quanto frequenti devono essere i checkpoint? - Come decidere che il ribilancimaneto è necessario? - Se è necessario, come effettuarlo? Michele Colajanni Esplicitazione del parallelismo 20/34

11 Sintesi: Classi di Applicazioni del Data Parallelism Applicazioni bilanciate Tutti gli elementi del dominio richiedono lo stesso numero di operazioni per tutta la durata della computazione. Decomposizione geometrica oppure Task farm statico Applicazioni non bilanciate 1. Diversi sottoinsiemi del dominio richiedono un numero diverso di operazioni. Durante la computazione non vi sono modifiche sul partizionamento di tali sottoinsiemi Decomposizione a grana fine 2. Diversi sottoinsiemi del dominio richiedono un numero diverso di operazioni. Durante la computazione vi possono essere modifiche sul partizionamento di tali sottoinsiemi. Comunque, i sottoinsiemi di elementi che richiedono diverse operazioni e la stima delle operazioni richieste sono staticamente prevedibili. Decomposizione a grana fine Michele Colajanni Esplicitazione del parallelismo 21/34 Sintesi: Classi di Applicazioni del Data Parallelism (cont.) 3. Diversi sottoinsiemi del dominio richiedono un numero diverso di operazioni. Durante la computazione vi possono essere modifiche sul partizionamento di tali sottoinsiemi. I sottoinsiemi di elementi che richiedono diverse operazioni e/o la stima delle operazioni richieste non sono staticamente prevedibili. I sottoinsiemi computazionali sono indipendenti ed in numero significativamente maggiore del numero di processori disponibili Task farm dinamico I sottoinsiemi computazionali non sono indipendenti: Riconfigurazione dinamica Michele Colajanni Esplicitazione del parallelismo 22/34

12 Il modello programmativo del Data Parallelism: Single Program Multiple Data (SPMD) Ciascun processore di una macchina MIMD esegue lo stesso programma, ma su di un insieme diverso di dati. ESEMPIO A( ) Nodo 0 Nodo 1 Nodo 2 Nodo 3 B( ) C( ) C( ) C( ) Programma SPMD.. begin < esegui A( )>; if (nodo==0) <esegui B( )>; else <esegui C( )>; if (nodo==0) <esegui D( )>; end HOST D( ) Il modello SPMD è estremamente flessibile: - Utilizzabile anche per programmare TASK FARM La differenza rispetto al modello SIMD? Quali sono i 2 costrutti fondamentali? Michele Colajanni Esplicitazione del parallelismo 23/34 Emulare TaskFarm con modello SPMD main ( ) { int process_id; process_id = <return my process identifier>; if (process_id == 0) Master (argomenti); else Worker (argomenti); } Michele Colajanni Esplicitazione del parallelismo 24/34

13 Sintesi: Quale modello programmato conviene utilizzare? Dipende dall architettura Macchina SIMD data parallel a grana fine-finissima (programmazione sincrona) Macchina MIMD funzionale a grana grossa (programmazione asincrona) a memoria condivisa Macchina MIMD a memoria distribuita funzionale a grana grossa MPMD data parallel a grana media-fine SPMD Nota Nel caso della memoria condivisa le (pseudo-)comunicazioni e le interruzioni possono avvenire a livello di istruzioni. Nel caso della memoria distribuita, invece, le comunicazioni sono costose e, per ottenere programmi efficienti, devono essere effettuate a livello di sottoprogrammi. Michele Colajanni Esplicitazione del parallelismo 25/34 Ibrido Ibrido= Control Parallelism + Data Parallelism DECOMPOSIZIONE DEL CONTROLLO DECOMPOSIZIONE DEL DOMINIO In alcune applicazioni questa doppia decomposizione fornice delle ottime prestazioni grazie al buon trade-off tra granularità ed overhead E il paradigma di parallelizzazione più comune nel caso di applicazioni reali di grandi dimensioni: Qualche unità di programmi differenti (operanti in modalità MPMD) Decine/centinaia o più di processi operanti su sottodomini computazionali (operanti in modalità SPMD) Michele Colajanni Esplicitazione del parallelismo 26/34

14 Le tre forze della parallelizzazione delle applicazioni 1. Massimizzare il bilanciamento del carico Ovvero: perseguire la granularità più fine possibile (finest grain) 2. Minimizzare le comunicazioni Ovvero: perseguire la granularità più grossa possibile (coarsest grain) 3. (Non dimenticare di)tener conto delle caratteristiche architetturali della piattaforma MIMD a memoria distribuita: Quanti processori? Quale potenza computazionale offerta da ciascun processore? Quali caratteristiche hardware (vettoriali,ilp, )? Quanti e quali livelli di cache? Quale topologia delle rete di interconnessione? Quale costo medio delle comunicazioni per unità di dato? Soddisfare il trade-off tra tutte queste forze, spesso contrastanti, significa arriv are a rispondere alla vera domanda che la metodologia di parallelizzazione data parallel implica: Quale è il migliore livello di granularità per la mia applicazione e la mia architettura? Michele Colajanni Esplicitazione del parallelismo 27/34 E un termine utilizzato per caratterizzare diversi elementi: modelli algoritmici, distribuzione dei dati/processi, caratteristiche delle architetture parallele Granularità algoritmica Granularità La dimensione media dell unità di calcolo sequenziale che non richiede sincronizzazioni né comunicazioni. Granularità del problema La dimensione media dell insieme di dati assegnati ad un processore. Ad esempio,se una griglia è decomposta spazialmente in sottogriglie,la granularità è il numero di punti in ciascuna sottogriglia. Granularità architetturale La potenza computazionale di ciascun processore Il livello minimo di granularità algoritmica che un multiprocessor gestisce efficientemente. Spingere il grado di parallelismo al di sotto di questo livello causerebbe significative perdite di prestazioni dovute all eccessivo overhead parallelo Michele Colajanni Esplicitazione del parallelismo 28/34

15 . *. *. * Esempio (come diverse granularità influenzano le prestazioni) Applicazione iterativa che ad ogni passo deve aggiornare ciascun blocco/elemento con i valori dei 4 elementi adiacenti Processo i: Due categorie di elementi: - Elementi interni non hanno dipendenze con dati che appartengono ad altri processi - Elementi bordo, il cui aggiornamento dipende da elementi che appartengono ad altri processi. NECESSITA DI SWAP DELLE AREE DI OVERLAP Processo i: Processo j: Michele Colajanni Esplicitazione del parallelismo 29/34 Esempio [cont.] (come diverse granularità influenzano le prestazioni) Coarse decomposition (blocchi di 6 righe) Fine decomposition (blocchi di 3 righe) Very fine decomposition (blocchi di 2 righe) 2 righe da trasmettere ogni 6 da calcolare (rischio di non bilanciamento, ma basso overhead di comunic.) 2 righe da trasmettere ogni 3 da calcolare (maggior bilanciamento, ma più alto overhead di comunicazione) 2 righe da trasmettere ogni 2 da calcolare (massimo bilanciamento, ma altissimo overhead di comunic.) Michele Colajanni Esplicitazione del parallelismo 30/34

16 Dall Esplicitazione del al Programma Parallelo Approcci al (a) implicito (b) esplicito Programmatore Programmatore Codice sorgente scritto in linguaggi sequenziali, Es. C, Fortran, LISP, Pascal Codice sorgente scritto in dialetti di linguaggi Sequenziali. Es. Fortran, C, LISP, Pascal Compilatore autoparallelizzante Codice oggetto parallelo Compilatore che preserva la concorrenza Codice oggetto parallelo Esecuzione da parte del Sistema a runtime Esecuzione da parte del Sistema a runtime Michele Colajanni Esplicitazione del parallelismo 32/34

17 Modelli di programmazione parallela (presente e futuro) MODELLO COMPUTAZIONALE MEMORY MODEL PROCESS CONTROL MECHANISMS HARDWARE DISTRIBUTED PROCESS MODEL MESSAGE PASSING DISTRIBUTED MEMORY MULTICOMPUTER SHARED MPMD O SPMD LOCKS,SEMAPHORES, MONITORS SHARED MEMORY MULTIPROCESSOR Futuro? MEMORY MODEL SHARED PROCESS MODEL MPMD O SPMD COMPILATORE PARALLELO DISTRIBUTED MEMORY MULTICOMPUTER SHARED MEMORY MULTIPROCESSOR Michele Colajanni Esplicitazione del parallelismo 33/34 La realtà dei Linguaggi per la programmazione parallela a scambio di messaggi Linguaggi paralleli Ambienti di Programmazione IMPLICITO PARALLELISMO ESPLICITO PARALLELISMO (CSP, Occam, Ada, ) Linguaggi sequenziali + Librerie a run-time (C parallelo, Fortran parallelo, ) Pre - compilatori (Express, Linda) Librerie di routine parallele (Scalapack, PBLAS, Toolbox, ) Supercompilatori Librerie propriet. Libreria PVM Libreria MPI (HPF, Vienna Fortran) Michele Colajanni Esplicitazione del parallelismo 34/34

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento. Sommario Analysis & design delle applicazioni parallele Misura delle prestazioni parallele Tecniche di partizionamento Comunicazioni Load balancing 2 Primi passi: analizzare il problema Prima di iniziare

Dettagli

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

e-dva - eni-depth Velocity Analysis

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

Dettagli

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

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

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Dettagli

Il Sistema Operativo

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

Dettagli

Parte VIII. Architetture Parallele

Parte VIII. Architetture Parallele Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni

Dettagli

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

Dettagli

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

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

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

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

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Operazioni di Comunicazione di base. Cap.4

Operazioni di Comunicazione di base. Cap.4 Operazioni di Comunicazione di base Cap.4 1 Introduzione: operazioni di comunicazioni collettive Gli scambi collettivi coinvolgono diversi processori Sono usati massicciamente negli algoritmi paralleli

Dettagli

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

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

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

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

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Introduzione alla Virtualizzazione

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

Dettagli

Dispensa di Informatica I.1

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

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

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

Dettagli

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi Lezione 10 Cenni ai sistemi operativi distribuiti 2. Gestione della CPU e della memoria nei multiprocessori Gestione dei processi Scheduling Bilanciamento del carico Migrazione dei processi Gestione della

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

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.

Dettagli

Linux nel calcolo distribuito

Linux nel calcolo distribuito openmosix Linux nel calcolo distribuito Dino Del Favero, Micky Del Favero dino@delfavero.it, micky@delfavero.it BLUG - Belluno Linux User Group Linux Day 2004 - Belluno 27 novembre openmosix p. 1 Cos è

Dettagli

Università degli Studi di Salerno

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

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

The Onion PC. Virtualizzazione strato dopo strato

The Onion PC. Virtualizzazione strato dopo strato The Onion PC Virtualizzazione strato dopo strato Cos'è un livello di astrazione? Cos'è un livello di astrazione? Nell'esecuzione di un programma un livello di astrazione rappresenta i gradi di libertà

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

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

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

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

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Più processori uguale più velocità?

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

Dettagli

VMware. Gestione dello shutdown con UPS MetaSystem

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:

Dettagli

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

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

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Approccio stratificato

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

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

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

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

Dettagli

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

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

Struttura del calcolatore

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

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Dettagli

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

DMA Accesso Diretto alla Memoria

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

Dettagli

Architettura hardware

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

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Sistemi Operativi. 5 Gestione della memoria

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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Application note. CalBatt NomoStor per i sistemi di accumulo di energia 1. Panoramica Application note CalBatt NomoStor per i sistemi di accumulo di energia Gli Energy Management Systems () sono dispositivi atti al controllo dei flussi di energia dalle sorgenti di produzione

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

I sistemi distribuiti

I sistemi distribuiti I sistemi distribuiti Sistemi Operativi e Distribuiti A.A. 2003-2004 Bellettini - Maggiorini Perchè distribuire i sistemi? - Condivisione di risorse - Condivisione e stampa di file su sistemi remoti -

Dettagli

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

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

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

Il descrittore di processo (PCB)

Il descrittore di processo (PCB) Il descrittore di processo (PC) Il S.O. gestisce i processi associando a ciascuno di essi un struttura dati di tipo record detta descrittore di processo o Process Control lock (PC) Il PC contiene tutte

Dettagli

Gestione della memoria centrale

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

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli

Sistemi Operativi Kernel

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

Dettagli

Distributed P2P Data Mining. Autore: Elia Gaglio (matricola n 809477) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo

Distributed P2P Data Mining. Autore: Elia Gaglio (matricola n 809477) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo Distributed P2P Data Mining Autore: (matricola n 809477) Corso di Sistemi Distribuiti Prof.ssa Simonetta Balsamo A.A. 2005/2006 Il settore del Data Mining Distribuito (DDM): Data Mining: cuore del processo

Dettagli

Il clustering HA con Linux: Kimberlite

Il clustering HA con Linux: Kimberlite Il clustering HA con Linux: Kimberlite Simone Piccardi: piccardi@firenze.linux.it February 4, 2002 Perché un cluster Un cluster è un insieme di computer in grado di eseguire insieme una certa serie di

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

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

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

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

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

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

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

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

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

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

Dettagli

Scheduling della CPU

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

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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:

Dettagli

Il Sistema Operativo (1)

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

Dettagli

Simulazioni accoppiate 1D-3D per scenari d incendio

Simulazioni accoppiate 1D-3D per scenari d incendio Simulazioni accoppiate 1D-3D per scenari d incendio Applicazione a tunnel stradali e linee metropolitane Luca Iannantuoni Dipartimento di Energia - Politecnico di Milano 29 Ottobre 2009 Luca Iannantuoni

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Capitolo 5: I thread

Capitolo 5: I thread Capitolo 5: I thread Generalità. Modelli multithread. Problematiche relative ai thread. Pthread. 5.1 I thread Il thread è un flusso di controllo relativo ad un dato processo. Molti sistemi operativi moderni

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

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 prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

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

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Le licenze d uso. Le principali tipologie di licenze

Le licenze d uso. Le principali tipologie di licenze Le licenze d uso La legge 633/41 attribuisce in via esclusiva all autore dell opera software tutti i diritti derivanti dall opera stessa, e vieta e punisce ogni abuso che leda questi diritti esclusivi.

Dettagli

Scenario di Progettazione

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

Dettagli