Prestazioni. [SSA] Chapter 26, The Performance and Scalability Perspective
|
|
- Lucia Monaco
- 5 anni fa
- Visualizzazioni
Transcript
1 Luca Cabibbo Architettura dei Sistemi Software dispensa asw220 marzo 2019 An ounce of performance is worth pounds of promises. Mae West 1 - Fonti [SAP] Chapter 8, Performance [SSA] Chapter 26, The Performance and Scalability Perspective Liu, H.H. Software Performance and Scalability: A Quantitative Approach. Wiley,
2 Obiettivi - Obiettivi e argomenti presentare la qualità delle prestazioni illustrare alcune attività e tattiche per la progettazione per le prestazioni fare qualche considerazione generale sulla progettazione per gli attributi di qualità poiché questa è la prima qualità che viene presa in considerazione Argomenti prestazioni progettare per le prestazioni discussione 3 * (performance) la capacità del sistema di eseguire in modo prevedibile entro il profilo di prestazioni richiesto Le prestazioni hanno a che fare con il tempo ovvero, con la capacità di un sistema di soddisfare dei requisiti temporali le prestazioni misurano quanto velocemente un sistema software può completare alcuni compiti di elaborazione [Liu] in generale, si vuole che un sistema abbia delle prestazioni adeguate (rispetto ad un profilo di prestazioni richiesto) come per tutte le qualità, non è dunque sempre necessario che il livello delle prestazioni sia elevato o eccezionale attenzione, il dizionario Treccani definisce il (bruttissimo) aggettivo performante come che offre prestazioni di ottimo livello che, dunque, non è in genere l obiettivo desiderato 4
3 In alcuni sistemi, progettare per le prestazioni è importante anche perché le prestazioni possono avere un impatto su altre qualità del sistema ad es., un sistema con prestazioni scarse può essere considerato poco responsive e dunque poco usabile inoltre, la progettazione per le prestazioni è in genere propedeutica alla progettazione per la scalabilità (che discuteremo in una successiva dispensa) 5 6 Tipi di compiti e metriche per le prestazioni Due tipi principali di compiti computazionali e le relative metriche principali per le prestazioni transazioni online di tipo interattivo il tempo di risposta (o latenza) è il periodo di tempo richiesto per completare l esecuzione di un operazione o la gestione di un evento job non interattivi, di tipo batch il throughput è il numero di job o transazioni che il sistema è in grado di completare in un unità di tempo esistono anche altre metriche (che qui non consideriamo) ad es., il jitter (la variabilità del tempo di risposta) o il numero di eventi non processati (perché il sistema era troppo impegnato per poter rispondere) Qui ci concentriamo soprattutto sulla gestione di eventi e sul tempo di risposta richiesto per gestire un evento
4 Scenari per prestazioni 7 In genere, uno scenario per le prestazioni descrive quanto velocemente il sistema deve rispondere ad una tipologia di eventi gli eventi possono essere richieste, messaggi o eventi temporali di un certo tipo ad es., la richiesta di esecuzione di un operazione di sistema da parte di un utente o client del sistema uno scenario per le prestazioni specifica il tipo di eventi di interesse la distribuzione degli arrivi di questi eventi la risposta temporale richiesta di solito, le tattiche per le prestazioni vanno prese in considerazione quando ci sono uno o più scenari per le prestazioni in cui la risposta temporale prevista (nell architettura attuale) è inadeguata rispetto a quella richiesta dunque, quando è necessario ridurre il tempo di risposta di una o più operazioni - Considerazioni sulle prestazioni Ci sono due contributi principali al tempo di risposta a un evento il tempo di elaborazione e il tempo di attesa tempo di elaborazione il tempo effettivamente dedicato a generare la risposta all evento, in cui vengono consumate risorse computazionali comprende, ad es., il tempo di CPU, per l accesso ai dati in memoria o sul disco, e per la comunicazione in rete tra elementi distribuiti 8
5 Considerazioni sulle prestazioni Ci sono due contributi principali al tempo di risposta a un evento il tempo di elaborazione e il tempo di attesa tempo di attesa il tempo in cui la computazione è bloccata in attesa qualche risorsa questo può accadere per diversi motivi perché è necessaria una risorsa che è già impegnata ma può essere usata da un singolo elemento alla volta perché la risorsa non è disponibile per un guasto o perché è temporaneamente fuori linea per attendere il risultato di un altra computazione che non è stata ancora completata ad es., per una necessità di sincronizzazione tra computazioni diverse intuitivamente, il tempo di risposta può essere ridotto intervenendo su uno, sull altro o su entrambi questi contributi 9 Considerazioni sulle prestazioni Altre considerazioni sulle prestazioni le prestazioni dipendono anche dall hardware utilizzato, dalla sua capacità e quantità, e dal suo livello di utilizzazione l hardware è costoso, va gestito, e potrebbe non essere possibile sostituirlo facilmente le prestazioni di un sistema dipendono anche dal suo carico di solito variano in modo non lineare con il carico in particolare, le prestazioni del sistema possono degradare rapidamente all approssimarsi di un certo livello di carico in generale, ciò avviene quando il livello di utilizzazione di una qualche risorsa del sistema (chiamata collo di bottiglia) si avvicina alla sua capacità (ovvero, la risorsa è satura) il comportamento di questa risorsa peggiora più o meno all improvviso e fa degradare le prestazioni dell intero sistema 10
6 Considerazioni sulle prestazioni Altre considerazioni sulle prestazioni nella progettazione per le prestazioni è necessario considerare la possibilità di eseguire computazioni in modo concorrente la concorrenza ha in genere effetti benefici sulle prestazioni se più attività possono essere effettivamente svolte in parallelo ma richiede anche di considerare tutte le implicazioni della concorrenza l accesso e la contesa di risorse condivise la necessità di sincronizzazione tra le computazioni 11 * Progettare per le prestazioni Alcune attività nella progettazione per le prestazioni [SSA] specificare gli scenari e i requisiti più significativi per le prestazioni e assegnargli delle priorità creare e valutare modelli per le prestazioni ad esempio, modelli basati sulle reti di Petri e sulla teoria delle reti di code questi modelli possono essere valutati mediante dei simulatori forniscono informazioni sia sulle prestazioni attese che sul livello di utilizzazione delle risorse realizzare e verificare praticamente dei prototipi e anche il sistema stesso utilizzare strumenti di monitoraggio di sistema e API per la profilazione analizzare i risultati della valutazione raffinare l architettura 12
7 - Tattiche per le prestazioni [SAP] propone due categorie principali di tattiche per le prestazioni per migliorare il tempo di risposta a un evento tattiche per controllare la richiesta di risorse control resource demand cercano di ridurre il tempo dedicato alla gestione di un evento, dal lato della richiesta delle risorse che sono necessarie per elaborare l evento ad es., migliora l algoritmo tattiche per gestire le risorse manage resources operano dal lato dell offerta delle risorse, per gestire le elaborazioni in modo più efficace ad es., usa un processore più potente 13 - Control resource demand Tattiche per ridurre la richiesta di risorse per elaborare un evento Increase resource efficiency (Improve algorithm efficiency) l elaborazione di un evento richiede l esecuzione di un algoritmo un miglioramento dell efficienza temporale di questo algoritmo, soprattutto nelle aree più critiche, diminuisce il tempo di risposta talvolta si può migliorare l efficienza temporale scambiando tempo con un altra risorsa ad es., memorizzare risultati intermedi per evitare un loro successivo ricalcolo 14
8 Control resource demand Tattiche per ridurre la richiesta di risorse per elaborare un evento Reduce overhead l uso di intermediari aumenta le risorse consumate nell elaborazione di un evento l eliminazione di qualche intermediario può ridurre il tempo di risposta esempi di intermediari che provocano un overhead sono la comunicazione interprocesso e di rete, la trasformazione del formato dei messaggi, la cifratura,... poiché questi intermediari sono spesso importanti per sostenere altre qualità, spesso è necessario trovare dei compromessi 15 Control resource demand Altre tattiche per ridurre la richiesta di risorse hanno lo scopo di migliorare il tempo di elaborazione riducendo la quantità di elaborazione da svolgere ma questo non sempre è accettabile o possibile limitare il tempo di elaborazione di un evento ad es., calcolando un risultato approssimato anziché esatto ridurre la frequenza degli arrivi al sistema ad es., la frequenza di campionamento da un certo sensore ignorare alcuni eventi dalla coda delle richieste ad es., gestendo una coda degli eventi e limitandone la lunghezza assegnare priorità agli eventi per poter poi decidere di scartare degli eventi a bassa priorità quando le risorse iniziano a scarseggiare 16
9 - Osservazioni Prima di andare avanti nell illustrazione di altre tattiche, è utile fare alcune osservazioni applicabilità delle tattiche non sempre è possibile o accettabile applicare tutte le tattiche a disposizione applicazione delle tattiche l applicazione di una tattica può avere effetto su uno o più elementi architetturali e/o su una o più relazioni tra elementi architetturali in una o più viste architetturali ad es., increase resource efficiency ha effetto sulla caratterizzazione esterna di un operazione di un elemento architetturale ad es., reduce overhead può cambiare la scelta di alcuni elementi architetturali oppure della loro interconnessione 17 Osservazioni Prima di andare avanti nell illustrazione di altre tattiche, è utile fare alcune osservazioni effetto qualitativo e quantitativo delle tattiche l applicazione di una tattica può portare a controllare nel modo desiderato un certo attributo di qualità ad es., ridurre il tempo di risposta qui ci limitiamo a dare delle intuizioni circa l effetto qualitativo delle tattiche in alcuni casi è possibile fare anche ragionamenti quantitativi sull effetto dell applicazione di una tattica ma qui non lo faremo detto in altro modo, qui stiamo facendo affermazioni solo sulla direzione dell effetto dell applicazione di una tattica, ma non sulla sua quantità ma considerazioni quantitative sono spesso possibili ed effettivamente necessarie 18
10 Osservazioni Prima di andare avanti nell illustrazione di altre tattiche, è utile fare alcune osservazioni tattiche ed effetti collaterali l applicazione di una tattica ha di solito effetti benefici su un attributo di qualità ma può anche avere effetti collaterali (negativi oppure positivi) su altri attributi di qualità la progettazione dell architettura è spesso basata su compromessi (trade-off) tra decisioni architetturali questa trattazione descrive solo alcuni dei possibili effetti collaterali delle tattiche mostrate 19 Osservazioni Prima di andare avanti nell illustrazione di altre tattiche, è utile fare alcune osservazioni quando è necessario applicare una tattica? non è utile applicare una tattica se il corrispondente attributo di qualità è già ben controllato pertanto sono utili tecniche per la valutazione dell architettura per capire in che misura viene controllata ciascun attributo di qualità e se gli obiettivi di qualità complessivi del sistema sono raggiunti o meno 20
11 - Manage resources Tattiche per la gestione delle risorse anche una gestione migliore delle risorse può portare a una riduzione del tempo di risposta Increase resources risorse (processori, memorie, reti,...) addizionali o più veloci hanno il potenziale per ridurre il tempo di risposta è la tattica più semplice a fronte di un ovvio aumento dei costi 21 Manage resources Tattiche per la gestione delle risorse basate sulla concorrenza intuitivamente, ci sono almeno due modi diversi per applicare la concorrenza suddividi l elaborazione di un evento in più compiti distinti, da eseguire in modo concorrente (Introduce concurrency) gestisci eventi distinti in modo concorrente (Maintain multiple copies of computations) 22
12 Manage resources Tattiche per la gestione delle risorse basate sulla concorrenza Introduce concurrency questa tattica suggerisce di suddividere l elaborazione relativa alla gestione di un singolo evento in più compiti distinti, da svolgere in parallelo e in modo concorrente ad es., usando thread diversi per svolgere attività differenti poiché ciascun compito richiede meno risorse che non quelle necessarie per gestire l intero evento, questo può ridurre il tempo di attesa in questo caso, la concorrenza è usata nella gestione di un singolo evento 23 Manage resources Tattiche per la gestione delle risorse basate sulla concorrenza Maintain multiple copies of computations questa tattica suggerisce di replicare risorse computazionali per consentire l elaborazione di più eventi distinti, da svolgere in modo concorrente ad es., replicare un componente server usare un thread diverso per ciascun evento concorrente oppure, replicarlo su più processi o nodi di calcolo questo può richiedere anche l introduzione di un meccanismo di bilanciamento del carico (load balancer) la replicazione delle risorse ha lo scopo di ridurre la contesa in questo caso, la concorrenza è usata per la gestione di un insieme di eventi concorrenti tra di loro 24
13 Manage resources Tattiche per la gestione delle risorse Maintain multiple copies of data è anche possibile replicare dei dati, e consentirne l accesso in modo concorrente ad es., mediante meccanismi di data replication o di caching poiché esistono più copie degli stessi dati, potrebbe essere necessario assegnare della responsabilità aggiuntive (cioè, non inizialmente presenti) per mantenere opportunamente consistenti e sincronizzate le varie copie di ciascun dato replica e copia non vanno sempre intesi in modo letterale ma possono essere intesi anche come dati ridondanti, anche rappresentati in forme diverse ad es., alcuni dati potrebbero essere rappresentati in una forma adatta alle interrogazioni e una adatta agli aggiornamenti 25 Manage resources Altre tattiche per la gestione delle risorse schedulare l uso delle risorse in caso di contesa di risorse, l arbitraggio e la schedulazione delle risorse può consentirne un loro utilizzo più efficiente è ad esempio possibile schedulare processori, buffer e reti sono possibile diverse strategie ad es., FIFO, fixed priority, dynamic priority, static scheduling adatte a situazioni diverse limitare la dimensione delle code questa tattica controlla il numero massimo di eventi posti in coda comunemente usata con la tattica che suggerisce di ignorare alcuni eventi dalla coda delle richieste bisogna gestire la responsabilità di decidere cosa fare in caso di trabocco delle code 26
14 Tattiche per le prestazioni Sintesi delle principali tattiche per le prestazioni di [SAP] event arrives Performance response generated within time constraints Control Resource Demand Manage Resources reduce overhead increase resource efficiency increase resources introduce concurrency maintain multiple copies of computations maintain multiple copies of data 27 - Altre opzioni di progettazione per le prestazioni Ecco alcuni ulteriori suggerimenti, tattiche e opzioni di progettazione per le prestazioni proposti nel contesto (più ampio) della prospettiva delle prestazioni e della scalabilità di [SSA] 28
15 Altre opzioni di progettazione per le prestazioni Ottimizza le elaborazioni ripetute molti sistemi hanno un piccolo numero di operazioni comuni su cui il sistema spende la maggior parte del tempo la progettazione per le prestazioni deve concentrarsi soprattutto su queste operazioni Riduci la contesa tramite replicazione la contesta di risorse condivise è spesso una causa significativa di problemi per le prestazioni di operazioni che devono essere eseguite in modo concorrente una soluzione comune (ma non sempre possibile) a questa contesta è la replicazione di risorse in particolare, è possibile replicare sia risorse di elaborazione che dati/risultati Maintain multiple copies of computations e Maintain multiple copies of data 29 Altre opzioni di progettazione per le prestazioni Partiziona e parallelizza per ridurre il tempo complessivo di esecuzione di elaborazioni particolarmente lunghe Introduce concurrency Altre tattiche che suggeriscono di ridistribuire l elaborazione nel tempo assegna priorità alle elaborazioni posticipa l esecuzione di attività meno importanti a momenti di carico minore per il sistema consolida carichi di lavoro correlati in modo da ottimizzare lo svolgimento di attività comuni a un certo insieme di operazioni 30
16 Altre opzioni di progettazione per le prestazioni Usa elaborazioni asincrone ovvero, decomponi l elaborazione in attività concorrenti che possano procedere con necessità deboli di sincronizzazione in genere, il consumo complessivo di risorse è minore quando viene usata la comunicazione asincrona anziché sincrona Altre tattiche che suggeriscono di ridurre le necessità di sincronizzazione minimizza l uso di risorse condivise ad es., favorisci transazioni brevi per minimizzare il tempo in cui vengono accedute e bloccate delle risorse condivise rilassa i requisiti di consistenza transazionale ad es., da strict consistency a eventual consistency 31 * Discussione Le prestazioni riguardano la capacità di un sistema di soddisfare dei requisiti temporali abbiamo discusso alcune attività legate alla progettazione per le prestazioni sono state presentate alcune tattiche architetturali e opzioni di progettazione per le prestazioni alcune di queste tattiche e opzioni di progettazione sono propedeutiche alla progettazione per la scalabilità Ciascuna tattica è una decisione di progetto per controllare un certo attributo di qualità l applicazione di una tattica ha impatto sull architettura ovvero, sulla scelta degli elementi, delle loro responsabilità, o di come sono messi in relazione e su come l architettura sostiene le qualità la presentazione è stata qualitativa e informale 32
Progettare per gli attributi di qualità
Luca Cabibbo Architettura dei Sistemi Software Progettare per gli attributi di qualità dispensa asw210 marzo 2017 For every complex question there is a simple answer, and it is wrong. Henri Louis Mencken
Dettagliottobre Fonti [SSA] Chapter 15, Introduction to the Viewpoint Catalog [SSA] Appendix, Other Viewpoint Sets Luca Cabibbo
Luca Cabibbo Architetture Software Dispensa AS 15 ottobre 2008 1 -Fonti [SSA] Chapter 15, Introduction to the point Catalog [SSA] Chapter 22, Achieving Consistency Across s [SSA] Appendix, Other point
DettagliAmbienti di calcolo a griglia Parte 2. Docente: Marcello CASTELLANO
Ambienti di calcolo a griglia Parte 2 Docente: Marcello CASTELLANO GRID: risorse (e loro gestione) Classificazione delle risorse Calcolo, Storage, Comunicazione Software e licenze Altre risorse Strategie
DettagliLezione 3 Sistemi Operativi e misure di performance. Parleremo di
Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi
Dettagli5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:
1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate
DettagliBASI DI DATI DISTRIBUITE
BASI DI DATI DISTRIBUITE Definizione 2 Un sistema distribuito è costituito da un insieme di nodi (o di siti) di elaborazione una rete dati che connette fra loro i nodi Obiettivo: far cooperare i nodi per
DettagliScalabilità. Architettura dei Sistemi Software. Luca Cabibbo. dispensa asw260 marzo Fonti
Luca Cabibbo Architettura dei Sistemi Software dispensa asw260 marzo 2019 Rule 50 Be Competent. Martin L. Abbott and Michael T. Fisher 1 - Fonti Abbott, M.L. and Fisher, M.T. The Art of Scalability: Scalable
DettagliPiattaforme software distribuite I
Piattaforme software distribuite I Architetture Web: verifica delle prestazioni e Web caching Davide Lamanna lamanna@dis.uniroma1.it REPLICAZIONE DEL WEB SERVER: valutazione Prestazioni: più elevate grazie
DettagliValutazione delle Prestazioni Barbara Masucci
Architettura degli Elaboratori Valutazione delle Prestazioni Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme dell IS
DettagliScenari e applicazione di scenari
Luca Cabibbo Architettura dei Sistemi Software Scenari e applicazione di scenari dispensa asw160 marzo 2017 By failing to prepare, you are preparing to fail. Benjamin Franklin 1 - Fonti Cervantes, H. and
DettagliMATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari
A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere
DettagliIl supporto al sistema operativo
Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare
DettagliCorso di Informatica
Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere
Dettagliottobre Fonti [SSA] Chapter 19, The Development Viewpoint Luca Cabibbo Punto di vista dello Sviluppo Luca Cabibbo SwA
Luca Cabibbo Architetture Software Dispensa AS 19 ottobre 2008 1 -Fonti [SSA] Chapter 19, The Development Viewpoint 2 Obiettivi - Obiettivi e argomenti descrivere il punto di vista dello Sviluppo Argomenti
DettagliIL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche
DettagliProblemi di Scheduling
Problemi di Scheduling Vincenzo Suraci Automazione STRUTTURA DEL NUCLEO TEMATICO SCHEDULING A LIVELLO DI COORDINAMENTO CLASSIFICAZIONE DEGLI ALGORITMI DI SCHEDULING SCHEDULING DI TASK PERIODICI SCHEDULING
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliModelli Architetturali. Astrazione del sistema - componenti e struttura - distribuzione delle funzionalità
Modelli di Sistemi Modelli concettuali di supporto allo studio dei sistemi distribuiti Modelli architetturali Descrizione ad alto livello della distribuzione delle funzionalità delle componenti e loro
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
DettagliSistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può
DettagliContainer. Architettura dei Sistemi Software. Luca Cabibbo. dispensa asw480 marzo Fonti
Luca Cabibbo Architettura dei Sistemi Software dispensa asw480 marzo 2018 I'm sorry, but there is no such thing as a hole by itself. Kurt Tucholsky 1 - Fonti Buschmann, F., Henney, K., and Schmidt, D.C.
DettagliIntroduzione ai thread
Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine
DettagliPrestazioni 1. Prestazioni 2. Prestazioni 3
Valutazione delle Prestazioni Architetture dei Calcolatori Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare le prestazioni
DettagliArchitetture Evolute nei Sistemi Informativi. architetture evolute 1
Architetture Evolute nei Sistemi Informativi architetture evolute 1 Scalabilità delle Applicazioni carico: insieme di tutte le applicazioni (query) scalabilità: abilità di conservare prestazioni elevate
DettagliPorte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali
Porte logiche di base Cenni circuiti, reti combinatorie, reti sequenziali NOT AND A R A B R OR A R B Quindi NAND o NOR sono complete circuiti con solo porte NAND o solo porte NOR. Reti combinatorie Rete
DettagliCalcolatori Elettronici
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci Valutazione delle Prestazioni q Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
DettagliSistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15
Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:
DettagliIngegneria del Software 15. Stili e QoS. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 15. Stili e QoS Dipartimento di Informatica Università di Pisa A.A. 2014/15 scale up, scale out Application scalability can be defined as the ability to increase the application
DettagliOttenere qualità: stili, tattiche e prospettive architetturali
Luca Cabibbo Architetture Software Ottenere qualità: stili, tattiche e prospettive architetturali Dispensa ASW 160 ottobre 2014 Semplifica, combina ed elimina. Suzaki 1 -Fonti [SAP] Chapter 4, Understanding
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi
Dettagliverso espandibili eterogenei tempo di accesso tempo di risposta throughput
I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di
DettagliComunicazione asincrona
Luca Cabibbo Architettura dei Sistemi Software dispensa asw440 marzo 2017 All problems in computer science can be solved by another level of indirection. David Wheeler 1 - Fonti [POSA4] Pattern-Oriented
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano
DettagliQualità del software e progettazione per le qualità
Luca Cabibbo Architettura dei Sistemi Software Qualità del software e progettazione per le qualità dispensa asw140 marzo 2018 It is quality rather than quantity that matters. Seneca 1 - Fonti [SAP] Chapter
DettagliAlcune idee sui sistemi software e la loro architettura
Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliScheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Scheduling della CPU Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Concetti fondamentali Uno degli obbiettivi della multiprogrammazione è quello di massimizzare
DettagliEsempi di possibili domande d esame.
INFORMATICA INDUSTRIALE N.O. Esempi di possibili domande d esame. N.B. ogni prova scritta prevede indicativamente 3 o 4 domande. Indicare brevemente le operazioni svolte dal LIVELLO DI ACQUISIZIONE durante
Dettagli1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione
1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.
DettagliValutazione delle prestazioni
Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
DettagliValutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione
Valutazione delle prestazioni Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
DettagliSistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
DettagliGiacomo Fauser. Istituto Tecnico Settore Tecnologico Via Ricci, Novara PIANO DI LAVORO. Per l anno scolastico
Giacomo Fauser Istituto Tecnico Settore Tecnologico Via Ricci, 14 28100 Novara fauser@fauser.edu PIANO DI LAVORO Per l anno scolastico 2018-2019 Professori: Materia: Buda Andrea, Gusulfino Valeria ITP:
DettagliContainer. Architettura dei Sistemi Software. Luca Cabibbo. dispensa asw480 marzo Fonti
Luca Cabibbo Architettura dei Sistemi Software dispensa asw480 marzo 2019 I'm sorry, but there is no such thing as a hole by itself. Kurt Tucholsky 1 - Fonti Buschmann, F., Henney, K., and Schmidt, D.C.
DettagliIn questo modo vi parleremo delle principali opzioni disponibili per progettare una rete di trasporto
In questo modo vi parleremo delle principali opzioni disponibili per progettare una rete di trasporto 1 La progettazione di una rete di trasporto condiziona la performance della supply chain. Questa attività
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliSistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
DettagliObiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi.
Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler (a breve
DettagliBasi di Dati Parallele
Basi di Dati Parallele Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Scalabilità delle applicazioni Carico insieme di tutte le
DettagliPiattaforme software distribuite I
Piattaforme software distribuite I Introduzione a Java 2 Platform Enterprise Edition (J2EE) Davide Lamanna lamanna@dis.uniroma1.it Programma Architetture per le applicazioni web Carrellata di ripasso Valutazione
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliSistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliElenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.
Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Modulo 1 - Architettura del calcolatore Unità 1 - Architettura e funzionamento dei sistemi di elaborazione Lezione 1 - Macchina
DettagliScheduling della CPU
Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler della
DettagliOrganizzazione: teoria, progettazione, cambiamento
Organizzazione: teoria, progettazione, cambiamento Edizione italiana a cura di G. Soda Capitolo 1 Organizzazioni ed efficacia organizzativa: concetti di base 1-1 Concetti di base: refreshing con il capitolo
DettagliARCHITECTING AND DESIGNING J2EE APPLICATIONS
ARCHITECTING AND DESIGNING J2EE APPLICATIONS [cod. S301] UN BUON MOTIVO PER Il corso fornisce le competenze richieste per utilizzare la piattaforma J2EE (Java 2 Platform, Enterprise Edition) per creare
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili
DettagliLezione R4. Sistemi embedded e real-time
Lezione R4 Sistemi embedded e real-time 30 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R4.1 Di cosa parliamo in questa lezione?
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
DettagliArchitetture dei Calcolatori (Lettere
Architetture dei Calcolatori (Lettere J-Z) Valutazione delle Prestazioni Ing.. Davide D AmicoD Valutazione delle Prestazioni Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
DettagliSistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali
Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Concetti
DettagliIl Sistema Operativo Ripasso
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi
DettagliModelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1-Concetti fondamentali 1 Prerequisiti Hardware e software Uso pratico elementare di un sistema operativo Software di base e software applicativo 2 1 Introduzione Iniziamo
DettagliCorso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Basi di dati: introduzione 2 Introduzione Gestione delle informazioni Basi di dati / DBMS Modello dei
DettagliLe reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DettagliSISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi
SISTEMI OPERATIVI THREAD 2 Motivazioni» Un programma complesso può eseguire in modo concorrente più funzioni attraverso la creazione e gestione di processi figli attraverso il meccanismo dei thread» La
Dettagli2. Cenni di sistemi operativi
2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo
DettagliBasi di dati II, primo modulo 24 giugno 2011 Compito breve Cenni sulle soluzioni
Basi di dati II, primo modulo 24 giugno 2011 Compito breve Cenni sulle soluzioni Cognome Nome Matricola Domanda 1 Come noto, si stanno diffondendo applicazioni nelle quali è necessaria una grande scalabilità
DettagliL allocazione ottima delle commesse in contesti multi-aziendali
L allocazione ottima delle commesse in contesti multi-aziendali Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell informazione
DettagliUn semplice commutatore a pacchetto
Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti
DettagliBASI DI DATI E UTENTI DI BASI DI DATI
BASI DI DATI E UTENTI DI BASI DI DATI Introduzione alle basi di dati (1) 2 La gestione dell informazione L informazione rappresenta oggi uno dei beni più preziosi all interno di una qualsiasi organizzazione
DettagliUna metodologia per la specifica di software a componenti
Luca Cabibbo Architettura dei Sistemi Software Una metodologia per la specifica di software a componenti dispensa asw475 marzo 2019 How best to read this book. Start at page 1 and keep going. When you
Dettaglicoda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms
1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva l algoritmo di scheduling nel sistema Windows Vista (e
DettagliCap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_5 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_5 V3.2 Progettazione Verifica del progetto Il contenuto del documento
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
Dettagli2 Introduzione È più semplice comprendere i sistemi hardware digitali considerando le modalità con cui vengono descritti, che possono essere distinte
1 Introduzione L evoluzione dei sistemi hardware digitali negli ultimi cinquant anni è stata caratterizzata da miglioramenti in termini di funzionalità, costi e prestazioni mai visti in altri settori tecnologici.
Dettagliverso espandibili eterogenei tempo di accesso tempo di risposta throughput
I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di
DettagliUNIVERSITA' CA' FOSCARI DI VENEZIA CORSO DI LAUREA IN INFORMATICA A.A. 2004/2005 Sistemi Distribuiti Compito 25/1/2005 1. Definire i tipi di sincronizzazione fra orologi in sistemi distribuiti. Illustrare
DettagliUniversità di Bologna
Università di Bologna Laurea Magistrale in Ingegneria Informatica Corso di Reti di Calcolatori M - A.A. 2009-10 Prof. Antonio Corradi Progetto RE.VE.N.GE. CORBA REliable and VErsatile News delivery support
DettagliElaborazione parallela
La gestione dei processi laborazione parallela Il concetto di elaborazione parallela si riferisce specificamente: ai dati; alle istruzioni; ai programmi. Il parallelismo a livello di dati e di istruzioni
DettagliIntroduzione D B M G
Introduzione D B M G Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS D B M G 2 Gestione delle
DettagliMarco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata
Lezione R7 bloccanti e job aperiodici Sistemi embedded e real-time 20 novembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R7.1 Di
DettagliI formati delle istruzioni
Appunti di Calcolatori Elettronici Le istruzioni I formati delle istruzioni... 1 Criteri generali di progettazione dei formati delle istruzioni... 2 Cenni all indirizzamento... 4 Indirizzamento immediato...
DettagliRTCP SYSTEM ACTIVE PRESSURE MANAGEMENT FOR A SMART WATER NETWORK
ACTIVE PRESSURE MANAGEMENT FOR A SMART WATER NETWORK ACTIVE PRESSURE MANAGEMENT FOR A SMART WATER NETWORK CONTROLLO IN TEMPO REALE DI PRESSIONI, PORTATE, PERDITE E TRANSIENTI DI PRESSIONE RIDUZIONE PERDITE
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliLa scelta fra le alternative
La scelta fra le alternative I metodi analisi paretiana eliminazione delle alternative dominate come scegliere tra le alternative pareto efficienti? analisi a molti attributi classica analisi gerarchica
DettagliSistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1
Sistemi informativi D B M G Introduzione D B M G 2 2007 Politecnico di Torino 1 Introduzione D B M G Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi
Dettaglisistemi distribuiti Sistemi distribuiti - architetture varie classificazioni classificazione di Flynn (1972)
Esempi di applicazioni comunicazione di dati Sistemi Distribuiti fra terminali di un sistema di elaborazione - fra sistemi di elaborazione sistemi distribuiti o centralizzati es. packed-switced networks
DettagliGestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Basi di dati DB M BG2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M BG4 D B M G6 2007 Politecnico di Torino 1 D B M G7 D B M G8 D B M G9 D B
DettagliOrganizzazione Fisica dei Dati (Parte II)
Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico
DettagliIl Sistema Operativo Concorrenza e Grafi di precedenza
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Elaborazione concorrente Elaborazione sequenziale Elaborazione concorrente Elaborazione parallela Grafi di Precedenza Grafi di
DettagliIntroduzione ai. Sistemi Distribuiti
Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1
Dettagli