Meccanismi di Autoscaling nel Cloud computing

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Meccanismi di Autoscaling nel Cloud computing"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Reti di Calcolatori I Meccanismi di Autoscaling nel Cloud computing Anno Accademico 2014/2015 Candidato: Gabriele Ascione matr. N

2 [Dedica]

3 Indice Indice...III Introduzione...5 Capitolo 1: Cloud Computing e Autoscaling Modelli di servizio Autoscaling Monitoraggio...8 Capitolo 2: Algoritmi di Autoscaling Auto scaling con approccio basato su Learning Automata Auto scaling e approccio trigger data stream Auto scaling per workflows e bag-of-tasks Auto scaling orientato al bilancio del carico Auto scaling e approccio Bin packing Auto scaling e Workflow scientifici...19 Capitolo 3: Soluzioni implementate dai Cloud Provider Amazon e le Spot instances Netflix e Scryer...26 Conclusioni...27 Bibliografia...28

4 Introduzione La diffusione della banda larga ha permesso lo sviluppo di applicazioni client con un carico di lavoro sempre più leggero per i personal computer degli utenti, fino a consentire l esecuzione di applicazioni attraverso i web browser, spostando gran parte del carico computazionale sui server. Applicazioni che prima richiedevano di essere installate su un unica macchina nella quale risiedevano tutti i dati elaborati, oggi sono disponibili dopo una breve sottoscrizione (gratis o a pagamento) attraverso un qualunque dispositivo che abbia una connessione ad internet. Basti pensare al recente sviluppo di nuvole nelle quali è possibile caricare o creare i propri documenti e, successivamente, modificarli grazie alla suite office accessibile attraverso il proprio browser, senza dover installare nulla sul proprio dispositivo. Grazie alla diffusione dei Cloud Provider, gli sviluppatori hanno ottenuto il vantaggio di poter implementare la propria applicazione senza doversi preoccupare della gestione dell infrastruttura sulla quale far girare il proprio servizio. I provider offrono la possibilità di poter pagare ciò che si usa grazie all'implementazione di meccanismi di autoscaling con i quali il sistema cloud può istanziare o rimuovere risorse computazionali, a seconda del traffico effettivo che l applicazione si trova a dover gestire. In questo elaborato cercheremo di fornire prima di tutto una panoramica generale, andando a descrivere il modello Cloud con le sue caratteristiche principali, i modelli di servizio, in che modo si realizza l autoscaling e la necessità di dover implementare meccanismi di monitoraggio. Successivamente analizzeremo gli algoritmi di autoscaling proposti recentemente, esaminando le problematiche legate ad alcuni contesti, come ad esempio quello della ricerca scientifica, e considerando i diversi approcci per implementare le logiche di scaling. Infine osserveremo le soluzioni implementate da due tra i maggiori cloud provider del settore. 4

5 Capitolo 1: Cloud Computing e Autoscaling Il Cloud Computing è un modello che consente di accedere, per mezzo di una rete Internet, a un insieme di risorse computazionali, condivise e configurabili, che possono essere rapidamente istanziate e rimosse, con minimi sforzi di gestione e interazione da parte dei fornitori dei servizi [1]. Caratteristiche essenziali di tale modello sono l erogazione automatica dei servizi su richiesta degli utenti, la possibilità di accesso alle funzionalità del cloud grazie a meccanismi che consentono di accedere alla rete tramite piattaforme client diverse tra loro (smartphone, tablet, pc ); presenza di un insieme di risorse fisiche e virtuali, assegnabili e riassegnabili dinamicamente, a più utenti, grazie a meccanismi di astrazione; capacità di assegnare e rilasciare risorse in maniera commisurata alle domande degli utenti; controllo ed ottimizzazione delle risorse per associare la configurazione ottimale ad ogni tipo di servizio. 1.1 Modelli di servizio I modelli di servizio di Cloud Computing si dividono in tre categorie che vengono rappresentate su tre livelli di astrazione, i quali consentono l implementazione dei servizi da erogare. I modelli si dividono in: Infrastructure as a Service (IaaS): a questo livello vengono fornite risorse hardware che si traducono in servizi di processing, network e storage, dando la possibilità all utente di implementare il proprio software e di scegliere le componenti di rete, nei limiti consentiti dal provider. Inoltre l utente può richiedere l aggiunta o la rimozione di altre risorse hardware, ma non è direttamente coinvolto nella gestione e nella implementazione dell infrastruttura fisica del cloud. Esempi di IaaS sono Amazon EC2 e Google Compute Engine. Platform as a Service (PaaS): vengono fornite piattaforme software, grazie alle quali gli utenti possono sviluppare e distribuire, nell infrastruttura cloud, le proprie 5

6 applicazioni. L utente ha controllo solo sulla propria applicazione e su alcuni parametri che ne regolano il comportamento nell ambiente nel quale è installata. Google App Engine e Microsoft Windows Azure sono esempi di framework per lo sviluppo e la distribuzione software in cloud. Software as a Service (SaaS): viene fornito l accesso ad applicazioni offerte da un provider, le quali risiedono in un infrastruttura cloud anziché nel computer dell utente. L accesso avviene tramite un interfaccia client e l utente può solo usufruire dei servizi offerti dall applicazione e configurarla nei limiti imposti dal provider. Tra gli esempi di SaaS ricordiamo Google Docs e Dropbox. 1.2 Autoscaling Figura 1: Autoscaling in una infrastruttura Cloud L Autoscaling (o Scalabilità Automatica) è la capacità di poter istanziare o revocare risorse computazionali in maniera automatica, a seconda dell incremento o della diminuzione del numero di richieste inoltrate dagli utenti. Tutto ciò serve a mantenere alto il livello delle prestazioni del servizio offerto e ridurre i costi sia da parte dell utente (in termini di risorse economiche), sia da parte del provider (in termini di risorse energetiche). Tale meccanismo viene configurato secondo le necessità e le possibilità dell utente, il quale ha l impressione di poter usufruire di un numero infinito di risorse [2]. 6

7 Figura 2: Scaling orizzontale e verticale L implementazione dell autoscaling è possibile grazie a tre azioni fondamentali [3]: Scaling orizzontale: anche detta replicazione, consiste nell aggiungere o rimuovere (scale in/out) istanze da un ambiente virtuale assegnato ad un utente. Tali istanze possono essere applicazioni, contenitori o Virtual Machine (VM) sulle quali girano i servizi richiesti dall utente. Scaling verticale: consiste nell aggiungere o rimuovere (scale up/down) risorse da una istanza virtuale (es: quantità di memoria e CPU assegnata ad una VM). E possibile cambiare le risorse assegnate ad una istanza a tempo di esecuzione (ridimensionamento), oppure è possibile terminare una istanza per avviarne una nuova con maggiore disponibilità di risorse (riposizionamento). Migrazione: Consiste nel trasferire una VM o un applicazione che è in esecuzione su un server fisico su un altro server. La migrazione in genere viene utilizzata per bilanciare il carico di lavoro da eseguire sui vari server a disposizione (Load Balancing). Per automatizzare questi metodi è necessario definire dei meccanismi di monitoraggio che consentano al sistema di comprendere quando intervenire nella istanziazione/rimozione delle risorse. 7

8 1.3 Monitoraggio [4] Il Monitoraggio del cloud è un processo che ha il compito di controllare lo stato e gestire l utilizzo delle risorse hardware e software del sistema. Questo consente di ottenere informazioni sulle performance del sistema (Quality of Service) e di adottare le dovute precauzioni nel caso si verifichino degli infrangimenti degli Accordi sui livelli di servizio (SLA) presenti nel contratto tra l utente ed il service provider. Poiché ogni cloud viene modellato su più livelli di astrazione, il monitoraggio viene implementato inserendo delle sonde, fisiche o virtuali, che restituiscono informazioni sullo stato di ogni livello. Possiamo quindi distinguere tra alto livello di monitoraggio e basso livello di monitoraggio: il primo fornisce informazioni sullo stato delle applicazioni e delle piattaforme virtuali, informazioni che interessano generalmente più gli utenti che i service provider; il secondo invece si interessa di inviare informazioni sullo stato e l utilizzo delle risorse hardware dei server presenti nel cloud, informazioni raccolte dai service provider, i quali difficilmente condividono questi dati con gli utenti. Per valutare le performance del sistema è necessario definire un insieme di metriche. Le metriche utilizzate per misurare lo stato del sistema si dividono in metriche basate sulla computazione e metriche basate sulla rete. Le prime includono il livello di utilizzo e di performance della CPU, della memoria (es: velocità di esecuzione, numero di cambi di pagine di memoria al secondo) e delle VM (es: tempo di avvio, tempo di rilascio di una VM ). Le seconde consentono di valutare lo stato della rete interna al cloud (da server a server) ed esterna al cloud (da server a utente). Tra queste ricordiamo: perdita di dati/pacchetti, banda disponibile, volume di traffico. Questi dati possono poi essere valutati in termini di indicatori statistici (media, mediana, ecc.) o in termini di semplice caratterizzazione temporale. 8

9 Capitolo 2: Algoritmi di Autoscaling Nel precedente capitolo abbiamo dato una definizione di Cloud Computing e di autoscaling, sottolineando la necessità di implementare processi di monitoraggio per consentire al sistema di poter discernere quando intervenire per aggiungere o rimuovere risorse ai processi in esecuzione. Per poter realizzare un tale meccanismo è necessario progettare algoritmi che definiscano il comportamento del sistema al variare di alcuni parametri, al di sopra o al di sotto di soglie stabilite. Di seguito illustreremo gli ultimi algoritmi che sono stati proposti per l ottimizzazione del cloud computing in diversi contesti di lavoro. 2.1 Auto scaling con approccio basato su Learning Automata [5] Figura 3: Relazione tra Learning automata ed il suo ambiente Learning automata può essere definito come un oggetto astratto che seleziona una funzione da un insieme finito di funzioni, in base al comportamento osservato dall ambiente esterno (environment). Per ambiente esterno si intende ogni condizione ed evento esterno che va a modificare il comportamento dell oggetto. Learning automata e l ambiente definiscono un ciclo, dove l oggetto seleziona una funzione dall insieme di funzioni disponibili che possono interagire con l ambiente, e l ambiente, in base alla funzione scelta dall oggetto, invia un output che sarà osservato dall oggetto. Un algoritmo 9

10 definisce il modo in cui learning automata utilizza l output per la scelta della prossima azione da eseguire. In questo modo l oggetto learning automata è in grado di identificare gradualmente, ad ogni ciclo successivo, l azione ottimale da eseguire. L algoritmo di autoscaling proposto si basa sull algoritmo di soglia (threshold algorithm), il classico algoritmo di scaling che confronta dei parametri hardware prefissati con una soglia superiore ed una soglia inferiore. Se i parametri osservati (ad esempio, l utilizzo della CPU) sono al di sotto della soglia inferiore, allora si procede con la rimozione della VM. Viceversa, se i parametri oservati sono al di sopra della soglia superiore, si interviene istanziando una nuova VM. L algoritmo proposto viene eseguito da ogni VM, e il parametro che sarà monitorato e confrontato con le due soglie è lo spazio occupato dalla VM in esecuzione. Poichè l algoritmo è ciclico, ad ogni ciclo viene effettuato un confronto tra lo spazio occupato dalle VM e le due soglie (inferiore e superiore). In base al risultato del confronto, aumenta o diminuisce la probabilità di eseguire una operazione di scale up o scale down. Al termine dei confronti, l azione con la probabilità più alta viene selezionata dalla stessa VM. Se, ad esempio, viene selezionata un azione di scale up, l algoritmo confronta lo spazio occupato dalla VM in esecuzione con la soglia superiore e, se è maggiore, viene inviato il comando ad un broker per l istanziazione di una nuova VM. Se l azione è di scale down, allora, nel caso in cui lo spazio occupato sia minore della soglia inferiore, verrà inviato un comando per la rimozione della VM in esecuzione. L efficacia di questo algoritmo sta proprio nel ruolo delle VM nello scegliere l azione da eseguire, scelta che crea armonia tra lo scaling da effettuare e lo stato attuale delle VM. Valutando i vantaggi di questo algoritmo rispetto ad algoritmi di autoscaling più elementari, si sono riscontrati dei miglioramenti significativi in termini di sovraccarico delle operazioni di scaling e violazioni degli accordi sui livelli di servizio (SLA). Ulteriori miglioramenti possono essere apportati individuando delle soglie che meglio si adattano al contesto nel quale l algoritmo è utilizzato. 10

11 2.2 Auto scaling e approccio trigger data stream [6] Fin ora abbiamo considerato solo parametri hardware per valutare l esecuzione di un operazione di scaling. Altri parametri da poter considerare per l attivazione dello scaling automatico sono i dati stessi generati dall applicazione che viene eseguita dalla VM. Un segnale all interno dei dati generati da un applicazione può servire come un indicatore per preparare il sistema ad una maggiore quantità di lavoro da svolgere, consentendo una gestione dei picchi di domande dei client ed un bilancio del carico molto più efficace. Ad esempio, possiamo considerare come indicatore una notizia importante pubblicata su un sito web, la quale sappiamo per certo che incrementerà il numero di accessi al sito. Oppure, nel caso di un applicazione di data mining, l estrazione di un dato rilevante per la ricerca in corso può suggerire l aumento del numero di risorse computazionali, per analizzare meglio quell area di ricerca. Nel nostro caso, considereremo un applicazione che valuta i tweet inviati durante un incontro di calcio, per analizzare l opinione dei tifosi riguardo al match in corso. Come indicatore utilizzeremo il tempo di esecuzione necessario per poter analizzare ogni tweet e la media dei sentimenti degli utenti. Entrambi i parametri sono stimati dall applicazione stessa e, per poter valutare l umore degli utenti, ad ogni tweet vengono associati tre numeri reali che daranno al tweet una valenza positiva, negativa o neutrale. In seguito, per stimare il tempo necessario per analizzare ogni tweet, viene loro associata una classe ed una distribuzione del ritardo, grazie alle quali è possibile, con un certo margine di errore, prevedere i tempi di esecuzione. Di seguito proponiamo due algoritmi basati sulla conoscenza a priori dell applicazione. In entrambi i casi la SLA da rispettare è che ogni tweet deve essere analizzato entro 5 minuti. Il primo è l algoritmo di carico (load algorithm), che si basa sul confronto tra il tempo previsto per l analisi dei tweet e il limite di tempo imposto dalla SLA. Poiché quest algoritmo è reattivo, non è effettuata nessuna previsione sul volume futuro di tweet da analizzare. Se il ritardo previsto per il calcolo dei tweet correnti è maggiore del limite imposto dalla SLA, allora vengono allocate più risorse. Se il ritardo previsto, invece, è al di sotto della metà del limite imposto, allora vengono rilasciate risorse. Il rilascio delle 11

12 risorse è limitato ad una singola CPU alla volta, così che improvvisi picchi nel volume di tweet da analizzare abbiano un minor impatto sul sistema. Per l allocazione vengono stimate le risorse necessarie, effettuando una proporzione tra il ritardo stimato per poter analizzare ogni tweet e il limite di tempo della SLA. Per quanto riguarda le performance, se utilizzato per monitorare piccoli eventi, rispetto ad altri algoritmi, il load algorithm riesce a consumare meno risorse e ad allocarne più velocemente di nuove. Ciò è possibile per via di una maggiore reattività dell algoritmo rispetto agli altri, reattività possibile grazie alla conoscenza del tempo stimato per l esecuzione dei task dell applicazione. L appdata algorithm, invece, si occupa solo degli improvvisi picchi nel numero di tweet da analizzare. Infatti, l appdata analizza la media dei sentimenti dell ultimo minuto e la confronta alla media dei sentimenti del minuto precedente. Se la media è aumentata dello 0.5 o più, allora una prefissata quantità di CPU viene allocata. Per grossi eventi con incrementi di dati da elaborare significativi ed improvvisi, l appdata algorithm si preferisce ad altri algoritmi per la sua capacità di prevedere i picchi di dati e prevenire le violazioni delle SLA, a fronte, però, di un maggiore spreco di risorse. Nella scelta di uno dei due algoritmi presentati bisogna valutare se ottenere un minor numero di violazioni delle SLA o un minor spreco di risorse: nel primo caso conviene scegliere l appdata algorithm; nel secondo caso, la scelta più appropriata è il load algorithm. 2.3 Auto scaling per workflows e bag-of-tasks [7] Nelle recenti ricerche scientifiche, le applicazioni utilizzate spesso si trovano ad elaborare un enorme quantità di task debolmente accoppiati. Queste applicazioni appartengono a due categorie, bag-of-task e workflow, a seconda del tipo di dipendenza tra i task (e quindi del pattern di esecuzione). Le applicazioni bag-of-task assegnano i task alle risorse senza tener conto delle loro dipendenze (in genere in questo caso i task sono debolmente accoppiati e sono indipendenti tra loro). Le applicazioni workflow, invece, eseguono i task in maniera ordinata, rispettando il loro schema di dipendenza e il loro percorso di esecuzione critico. 12

13 Il seguente algoritmo di autoscaling può realizzare un allocazione dinamica delle risorse considerando il tipo di applicazione in esecuzione (bag-of-task o workflow), istanziando automaticamente risorse del cloud considerando il tipo di dipendenza tra task e il tempo di trasferimento dei dati (dall applicazione all utente che ha inoltrato la richiesta di elaborazione). L algoritmo viene eseguito su una infrastruttura ibrida (HTCaaS) composta di cluster locali, cloud pubblici (cloud provider come ad esempio Amazon EC2) e cloud privati (es: Open Nebula). L algoritmo di autoscaling per Bag-of-task verifica prima di tutto se ci sono risorse disponibili nel cluster locale. Se ci sono risorse disponibili, allora il task viene assegnato al cluster che è in grado di portare a termine il task entro i limiti di tempo imposti dall applicazione. Se non ci sono risorse disponibili nel cluster, allora l algoritmo assegna il task alle risorse disponibili nel cloud privato, assegnandolo a virtual machine che sono in grado di rispettare i limiti di tempo di esecuzione. Se non ci sono VM in esecuzione ma è possibile avviarne altre, l algoritmo aggiunge una VM alla lista tostartup del cloud privato, lista contenente le richieste di creazione di VM. Se anche nel cloud privato non sono disponibili risorse, viene ripetuto il procedimento precedente per il cloud pubblico. Una volta trovata o avviata una VM gli viene assegnato il task, e in seguito viene stimato il tempo necessario per poterlo portare a termine, a partire dai suoi tempi di avvio e di esecuzione. L algoritmo di autoscaling per workflow è in grado di individuare ritardi e violazioni delle deadline confrontando il tempo di avvio attuale e il tempo di avvio stimato di un task in esecuzione. All interno di un applicazione workflow, i task sono ordinati in sequenza e sono collegati tra loro, così che ogni task conosce il tempo di terminazione stimato del task precedente e può utilizzare questo tempo come valore per il proprio tempo di avvio stimato, per rispettare l ordine di esecuzione. Ogni task di un applicazione workflow, quindi, deve considerare il task precedente e il suo tempo stimato di terminazione. Successivamente, task presenti sullo stesso percorso critico sono assegnati alla stessa risorsa che deve essere in grado di eseguire tutti i task 13

14 appartenenti al percorso. Se il task da dover eseguire è il primo di un percorso critico, allora viene assegnato ad una risorsa disponibile e che può eseguire tutti i task appartenenti al percorso, rispettando i loro limiti di tempo. Utilizzando quest algoritmo è raro che non si trovino risorse disponibili nel cluster locale e che si debbano cercare altrove nel cloud privato o pubblico. Nel caso non si trovino, l algoritmo dà precedenza alle risorse cloud private rispetto a quelle pubbliche. Una volta eseguito il primo task del percorso critico si passa al task successivo, eseguito sempre sulla risorsa corrente selezionata dall algoritmo. Una volta assegnati i task più urgenti si passa a quelli non appartenenti ad un percorso critico. Se ci sono risorse disponibili nel cluster, allora il task viene assegnato a risorse che possono eseguire il task entro i limiti di tempo (deadline). Se non ci sono risorse disponibili nel cluster, allora il task viene assegnato ad una VM in esecuzione nel cloud privato. Altrimenti, se nessuna VM in esecuzione nel cloud è disponibile, allora viene aggiunta una nuova VM nella lista tostartup. Qualora questo non fosse possibile per mancanza di risorse, il task viene assegnato ad una VM in esecuzione nel cloud pubblico. Al momento dell assegnazione del task alla risorsa, viene calcolato il suo tempo di terminazione stimato. Questo algoritmo tiene conto anche del tempo necessario al trasferimento dei dati da una risorsa all altra, considerando la mole di dati generati dai task e la larghezza di banda disponibile. I trasferimenti di dati tra risorse si rendono necessari nel momento in cui due task dipendenti sono eseguiti su tipi di risorse diverse (ad esempio, un task nel cluster e un altro nel cloud privato). Nel momento in cui task dipendenti tra loro sono eseguiti sullo stesso tipo di risorsa, non è necessario nessun tipo di trasferimento. Entrambi gli algoritmi eliminano la violazione dei tempi critici di esecuzione dei task, nel momento in cui l applicazione è in esecuzione. 2.4 Auto scaling orientato al bilancio del carico [8] Gli algoritmi di autoscaling dovrebbero tenere in considerazione la distribuzione del carico di lavoro tra i server, distribuendo dinamicamente i processi da eseguire e massimizzando l utilizzo delle risorse, incrementando così le performance del sistema. Infatti il load 14

15 balancing è utilizzato per evitare che alcune risorse siano inutilizzate mentre altre siano in esecuzione o addirittura sovraccaricate di lavoro. Ci sono diverse soluzioni per poter bilanciare il carico tra server. Ad esempio, il client può richiedere una VM al sistema, il quale mantiene una tabella con le VM istanziate e il loro stato di esecuzione (occupate o disponibili). Il sistema, quindi, scorrendo la lista, ritorna l ID della prima VM disponibile in grado di poter soddisfare i requisiti per l esecuzione dei task. Se la tabella viene scansionata interamente e non viene individuata nessuna VM disponibile, allora l algoritmo, anziché ritornare l id della VM, ritornerà un valore pari a - 1 e il sistema stabilirà come intervenire, se istanziando una nuova VM (scaling) o se mettere in coda la richiesta del client. Nel caso in cui ci sono VM disponibili, allora viene assegnata al client che ne ha fatto richiesta. Un altra soluzione che è stata proposta si ispira al comportamento delle formiche quando sono alla ricerca di cibo per la propria colonia. In questo approccio la formica (che nel nostro caso sarà il sistema preposto per l individuazione di VM disponibili) viaggia in una sola direzione alla volta e può viaggiare solo in due direzioni, avanti e indietro. Quando la formica viaggia in avanti, cerca cibo (nodi sovraccaricati) seguendo il feromone di foraggiamento (nel nostro caso, una mappa delle VM) e aggiornando il percorso di foraggiamento. Allo stesso modo, la formica torna indietro dopo aver incontrato cibo (un server sovraccaricato), seguendo il feromone e modificando il percorso. Quest approccio considera il tempo minimo di migrazione dei nodi per cercare nodi con poco carico di lavoro e che non siano troppo lontani tra loro per effettuare la migrazione dei processi da un server all altro, operazione che, se troppo onerosa in termini di risorse computazionali e di rete, potrebbe portare ad un calo delle prestazioni del sistema. Similmente al precedente esempio, il bilancio del carico può essere implementato anche osservando il comportamento che hanno le api nella ricerca di polline per l alveare. Alcune api operaie cercano una fonte di cibo e, quando la trovano, ritornano all alveare e iniziano a eseguire la danza circolare per poter comunicare le indicazioni sulla quantità e sulla qualità del cibo trovato. In seguito altre api seguono le prime per raggiungere il luogo trovato e prelevare il cibo. Le api operaie tornano all alveare ed eseguono la danza 15

16 circolare per comunicare la quantità di cibo rimanente che può ancora essere prelevata. Nel nostro caso i processi, quindi, vengono inviati a delle VM che hanno poco lavoro da eseguire e, come le api operaie sfruttano le risorse trovate fino all esaurimento, il processo successivo da assegnare viene inviato alla stessa VM, fino a quando la VM non si trova sovraccaricata di lavoro. Questa strategia considera il tempo minimo di migrazione ma non considera tutti i fattori necessari per garantire la Qualità del Serivizio. 2.5 Auto scaling e approccio Bin packing [9] Completamente opposto all approccio precedente, l approccio Bin packing cerca di diminuire il più possibile l utilizzo delle risorse, realizzando una soluzione ottimale che consenta di associare il maggior numero di processi al minor numero di risorse. Lo scaling delle risorse in questo caso può essere considerato come la depositazione o la rimozione di un oggetto all interno di un contenitore, così come richiesto dall algoritmo di Bin packing. In particolare, gli oggetti da aggiungere o rimuovere dai contenitori possono essere visti come istanze di applicazioni che devono essere eseguite dalle risorse computazionali. Nel problema bin packing, c è un insieme finito di oggetti con n elementi e un insieme finito di contenitori con una certa capacità. L obiettivo è di posizionare ogni oggetto in un particolare contenitore, così che il numero totale di elementi in un contenitore non superi la sua capacità e il numero totale dei contenitori utilizzati sia il minore possibile. I problemi bin packing si dividono in online e offline. In un problema bin packing online, ogni elemento dell insieme di oggetti viene inviato uno alla volta e deve essere assegnato ad un contenitore immediatamente dopo il suo arrivo. Il posizionamento di ogni elemento viene effettuato valutando la grandezza dell elemento corrente e sul posizionamento dell elemento precedente, senza avere nessuna informazione sull elemento successivo da posizionare. Inoltre le decisioni dell algoritmo sono irrevocabili: nessun elemento che è stato precedentemente posizionato può essere riposizionato e ogni elemento che è stato scartato (nel caso non sia possibile posizionarlo per mancanza di contenitori) non può essere ripreso per essere successivamente posizionato. 16

17 In un problema bin packing offline, invece, si è a conoscenza dell intera lista di elementi da dover posizionare, in modo da poter applicare strategie di posizionamento più avanzate. In genere si cerca di implementare algoritmi di packing semi-online, cioè algoritmi che cercano di mediare tra le caratteristiche degli algoritmi online e quelle degli algoritmi offline. Gli algoritmi semi-online sono meno restrittivi degli algoritmi online e permettono alcune operazioni in più ad ogni posizionamento di un elemento. Ad esempio, oggetti posizionati possono essere riposizionati in fasi successive, elementi ricevuti possono essere pre-posizionati secondo la loro grandezza ed è possibile, inoltre, bufferizzare alcuni oggetti prima di posizionarli definitivamente. In genere le richieste che arrivano in un ambiente Cloud sono impredicibili, ecco perché si considera il rapporto tra le performance degli algoritmi online e le performance di un algoritmo offline ottimale. Tale rapporto viene detto rapporto di competizione dell algoritmo online. Di seguito vengono proposti due algoritmi che tengono conto di una versione estesa del bin packing problem con vincolo sulle classi. In questa versione del problema, ogni elemento di un insieme di oggetti possiede una capacità unitaria ed un colore corrispondente ad una classe. Ogni contenitore ha una determinata capacità e può ospitare al massimo n classi di oggetti, dove, nel nostro caso, le classi corrispondono a delle applicazioni e gli elementi appartenenti alla classe corrispondono ai task delle applicazioni. Proprio perché ogni contenitore ha un limite sul numero di classi da poter ospitare al proprio interno, il problema così definito viene detto Class Constrained Bin Packing Problem. L obiettivo per la risoluzione di questo problema è, come nel precedente problema, utilizzare il minor numero di contenitori (e quindi di risorse). Il primo algoritmo è il Class Constrained Multiple Knapsack, il quale cerca di implementare un posizionamento che massimizzi il numero di elementi posizionati. In questo caso ci sono n oggetti, con un profitto p ed una dimensione s, ed m contenitori con capacità c. L obiettivo è cercare di posizionare gli oggetti nei contenitori, nel rispetto delle loro capacità e dei loro vincoli, cercando di massimizzare il profitto (cioè posizionando prima di tutto gli oggetti con profitto maggiore). Gli input ricevuti per valutare il posizionamento degli elementi sono la matrice di posizionamento corrente, la matrice dei 17

18 vincoli, la capacità di memoria e CPU di ogni VM, e la memoria e la CPU richiesta da ogni applicazione. Gli output dell algoritmo sono la matrice di posizionamento aggiornata e la matrice della distribuzione del carico. In particolare, gli obiettivi di quest algoritmo sono la condivisione di ogni VM con più applicazioni, l incremento del numero di task completati, la riduzione del numero di avvii e di terminazioni delle applicazioni, e il bilanciamento del carico tra le VM. L idea di base dietro quest algoritmo è di ottimizzare ripetutamente le scelte di posizionamento, ad ogni ciclo successivo. Le istanze dell applicazione possono essere classificate come istanze inattive, sottoutilizzate e pienamente utilizzate. Le istanze inutili vengono terminate e vengono avviate le istanze necessarie per l esecuzione dell applicazione. In base al posizionamento, viene calcolato il numero di richieste massimo che può essere soddisfatto utilizzando la distribuzione dei task corrente. L algoritmo termina quando tutte le richieste dell applicazione sono state soddisfatte. Nel caso in cui le richieste non sono ancora soddisfatte, allora l algoritmo distribuisce il carico tra le macchine disponibili. Ad ogni ciclo, l algoritmo prima di tutto invoca il processo per il trasferimento del carico di lavoro sulle VM, e successivamente invoca il processo per cambiare la posizione degli elementi e stabilire una distribuzione del lavoro ottimale. Il trasferimento del carico prima che si modifichi il posizionamento può facilitare la modifica successiva del posizionamento corrente. Non è possibile, però, riposizionare in seguito oggetti che sono stati scartati in un primo momento. Il secondo algoritmo è il Semi-online Class Constrained Bin Packing algorithm ed ha tra i suoi vantaggi l incremento del numero di richieste risolte inviate dalle applicazioni, la riduzione della frequenza dei cambiamenti delle posizioni dei task, la minimizzazione del tempo di risposta ad una richiesta e il risparmio di energia, che si ottiene lasciando alcuni server inutilizzati in standby quando il carico di lavoro è basso. L algoritmo proposto rientra nella famiglia degli algoritmi che gestiscono più colori (classi) di oggetti, dove ogni classe di oggetti è etichettata con un colore ed è inserita in un gruppo di colori. Il numero massimo di classi distinte che un contenitore può ospitare sarà pari a c. L ammontare delle risorse disponibili dei server, che vengono assegnate ai task delle applicazioni che devono essere eseguite, rappresenta la capacità del contenitore. 18

19 L algoritmo prende in considerazione le risorse disponibili come un insieme finito di server omogenei e con capacità simili, e questo rappresenta lo svantaggio fondamentale di questo algoritmo. La grandezza di un oggetto rappresenta il carico di lavoro dell applicazione, e la capacità di un contenitore è pari al numero di unità del carico di lavoro che possono essere assegnate alle risorse. Le richieste inoltrate dall applicazione rappresentano il numero di oggetti di una specifica classe in attesa di essere posizionati. Oggetti appartenenti a classi diverse vengono posizionati in maniera indipendente nei contenitori. Ogni classe di oggetti ha, inizialmente, un solo contenitore non ancora pieno e ad ogni contenitore possono essere associati al massimo c colori. Se tutti i contenitori associati ad una classe sono pieni o non possono ospitare altri colori, allora un nuovo contenitore viene aperto (viene istanziata una nuova VM). Inoltre, per poter riorganizzare gli oggetti all interno dei contenitori, l algoritmo consente la rimozione di oggetti già posizionati e lo spostamento di oggetti da un contenitore all altro. Figura 4: Posizionamento e rimozione di un elemento nel Class constrained bin packing problem 2.6 Auto scaling e Workflow scientifici [10] I workflow su larga scala di tipo scientifico, generalmente rappresentati come grafici 19

20 aciclici diretti (DAGs), sono un importante classe di applicazioni, i quali necessitano di una soluzione per la gestione delle risorse efficiente nel cloud computing. I workflow per problemi computazionali su larga scala sono spesso composti di più workflow raggruppati in insiemi (ensemble). I workflow raggruppati in uno stesso insieme hanno tipicamente la stessa struttura interna, ma differiscono tra loro nei dati di input, nel numero di task, e nella grandezza di ogni task che compone il workflow. Un esempio di ensemble scientifico è l applicazione Periodograms, la quale cerca continuamente pianeti non appartenenti al sistema solare individuando cali di intensità luminosa nella luce osservata. Gli scienziati, in genere, danno priorità ai workflow critici per l applicazione e che possono terminare prima degli altri. In questo modo possono osservare in fretta risultati rilevanti per la ricerca e possono portare a termine un determinato numero di workfllow entro i limiti imposti di budget e di tempo. Infatti, la gestione delle risorse in uno scenario come quello descritto, non deve tener conto solo delle metriche collegate alla performance dell applicazione (come, ad esempio, l utilizzo delle risorse), ma deve anche considerare i limiti finanziari legati all utilizzo di cloud pubblici e il rispetto delle deadline, che in contesti del genere assumono un valore critico. L obiettivo dei tre algoritmi proposti, quindi, è quello portare a compimento quanti più workflow ad alta priorità possibili, entro i limiti di tempo e di budget. Solo i workflow che hanno terminato ogni task entro una determinata deadline possono considerarsi completi; risultati parziali non verranno considerati. Per brevità, considereremo, per ogni algoritmo, solo la parte di distribuzione delle risorse. Il primo algoritmo è il Dynamic provisioning Dynamic scheduling (DPDS), ed è un algoritmo online in grado di fornire risorse e assegnare task a tempo di esecuzione. La procedura di distribuzione delle risorse è basata sull utilizzo passato delle risorse. DPDS inizia con un numero fissato di risorse da assegnare, calcolate in base al tempo e al budget disponibile, e aggiorna il numero di risorse assegnabili aggiungendone altre, se le risorse vengono pienamente sfruttate dall applicazione. Dato un budget in dollari b, una deadline in ore d ed un prezzo orario per singola VM in dollari p, è possibile calcolare il numero di VM (Nvm) da assegnare all applicazione in modo che l intero budget non sia esaurito 20

21 prima dello scadere della deadline del workflow in esecuzione: Nvm = b/(d p). Quindi DPDS distribuisce Nvm VM all inizio dell esecuzione di un ensemble e, in maniera periodica, calcola l utilizzo delle risorse considerando la percentuale di VM inutilizzate nel tempo, aggiornando il numero di VM assegnabili se l utilizzo delle VM è al di sopra o al di sotto delle soglie considerate. Poiché ogni VM ha un prezzo orario, l algoritmo considera solo le VM inutilizzate che si stanno avvicinando al loro tempo di terminazione, per valutare se rinnovare l acquisto o meno. Per prevenire la terminazione prematura di istanze che sono già state pagate, ad ogni ciclo dell algoritmo vengono terminate non più della metà delle risorse inutilizzate. Per evitare un incremento incontrollato nel numero di istanze, possibile nel caso di più workflow che lavorano in parallelo, l algoritmo non avvierà una nuova VM se il numero di VM in esecuzione è più grande del prodotto tra Nvm e un parametro di autoscaling Vmax, dove, se non specificato, Vmax=1. Il Workflow-aware DPDS estende DPDS introducendo una procedura di ammissione dei workflow, che è invocata ogni volta che l algoritmo vede il primo task di un nuovo workflow alla testa della coda di priorità dei task. La procedura di ammissione del workflow stima se c è abbastanza budget rimanente per ammettere un nuovo workflow; se non c è allora il workflow non viene ammesso e i suoi task sono rimossi dalla coda. WA- DPDS confronta il budget speso ed il budget rimanente, tenendo in conto anche il costo delle VM in esecuzione ed il costo dei workflow che sono stati ammessi. Inoltre, l algoritmo aggiunge un piccolo margine di sicurezza pari al 10% del costo orario di computazione per evitare di superare i limiti di budget. La procedura di ammissione non è solo utile per prevenire che workflow a bassa priorità prendano il posto di quelli ad alta priorità, ma anche per rifiutare workflow di grandi dimensioni che porterebbero ad un superamento del budget, ammettendo invece workflow più piccoli che riescono a terminare i propri task e ad utilizzare in maniera più efficiente le risorse inutilizzate. In ultimo, lo Static provisioning Static scheduling (SPSS) è un algoritmo offline che crea un piano di distribuzione e di assegnazione delle risorse prima che venga eseguito un qualsiasi task di un workflow (a differenza degli altri due algoritmi che operano a tempo di esecuzione). In questo modo SPSS avvia solo workflow che conosce a priori e che 21

22 possono essere completati entro i limiti di tempo e di budget, eliminando gli sprechi che potevano verificarsi con gli algoritmi dinamici precedenti. SPSS valuta ogni workflow e lo inserisce in una coda di priorità; se il workflow eccede le deadline e il budget, allora viene scartato. Una volta che il piano di esecuzione è completo, le VM vengono avviate e i task vengono loro assegnati secondo l ordine di priorità. Lo svantaggio di algoritmi statici come SPSS è la poca robustezza in caso di cambiamenti dell ambiente e dell applicazione, cambiamenti questi che possono rendere inconsistente la pianificazione effettuata. L idea di base dell algoritmo è che se ogni workflow dell insieme può essere completato entro i limiti di tempo con il minor costo possibile, allora il numero di workflow che possono essere completati entro un determinato budget viene massimizzato. Per pianificare un workflow SPSS assegna delle sotto-deadline ad ogni task del workflow: se ogni task può essere completato entro la propria deadline nel modo più economico possibile (senza spreco di risorse), allora il costo dell intero workflow può essere minimizzato. SPSS assegna le sotto-deadline ad ogni task basandosi sui tempi morti del workflow, tempi che si definiscono come l ammontare di tempo extra grazie al quale un workflow può estendere il proprio percorso critico e rimanere ancora entro i limiti di tempo previsti per il suo completamento. Ogni VM viene vista dall algoritmo come un insieme di blocchi, della durata di un ora, divisi in slot con durata variabile (al massimo pari ad un ora). Ad ogni task presente nel workflow viene assegnato uno slot che sia il meno costoso e sia abbastanza grande da poter garantire al task di terminare entro la propria deadline. Quando viene calcolato il costo per assegnare un task ad una determinata VM, l algoritmo deve scegliere tra slot inutilizzati, cioè frazioni di blocchi pagati in precedenza per altri task e che sono stati liberati, e slot di un nuovo blocco a pagamento. Se un task, ad esempio, richiede 10 min per essere completato, l algoritmo può scegliere se allocare un nuovo blocco al costo di 1$, oppure se allocare il task in un blocco che contiene uno slot maggiore o uguale a 10 min, senza dover attingere nuovamente al budget. Se il costo di slot appartenenti a due VM è uguale, allora viene scelto lo slot con il tempo di avvio più veloce. Per prevenire che troppe VM vengano istanziate, l algoritmo preferisce sempre estendere il tempo di esecuzione delle VM già esistenti, prima di allocarne di nuove. In 22

23 questo modo l algoritmo allocherà un nuovo blocco orario solo se non ci sono slot inutilizzati abbastanza grandi e abbastanza recenti, all interno di blocchi già esistenti, che consentono di terminare il task entro la propria deadline. Oppure, l algoritmo allocherà una nuova VM solo se non è possibile aggiungere un blocco orario ad una VM esistente per completare il task entro la propria deadline. 23

24 Capitolo 3: Soluzioni implementate dai Cloud provider In questo capitolo osserveremo i meccanismi di autoscaling di due dei maggiori cloud provider del settore. Il primo è Amazon Web Service (AWS), azienda leader nel mercato, che ha tra i suoi tipi di contratto le Spot instances, un interessante soluzione che offre all utente un risparmio economico a fronte di una non predicibilità della durata delle istanze, come vedremo di seguito. Il secondo Cloud provider (SaaS) è Netflix, azienda di video on demand che da tempo ha reso disponibile sul proprio blog tecnico il funzionamento di Scryer, il sistema di autoscaling progettato ad-hoc per migliorare le prestazioni della piattaforma on demand. 3.1 Amazon e le Spot Instance [11] Le spot instance sono particolari opzioni di pagamento per l acquisto di VM, opzione supportata da AWS, azienda leader nel mercato degli IaaS pubblici. Le spot instance si comportano esattamente come ogni altra VM di Elastic Cloud Computing (EC2), la piattaforma cloud di Amazon. La differenza sta nel listino prezzi delle VM: il prezzo orario della VM, infatti, non è fissato. In linea di massima i clienti dei Cloud provider pagano il tempo (generalmente in ore) in cui le macchine rimangono accese, secondo un modello paghi quello che usi, ed ogni IaaS provider ha il suo modello di fatturazione per le VM in uso. AWS offre tre opzioni di acquisto. La prima è On-demand, cioè si paga ogni ora in cui la Virtual Machine è accesa. Non ci sono investimenti iniziali e non ci sono impegni d uso. E un semplice modello che permette di usare ciò che paghi, ma la tariffa oraria è molto cara. La seconda opzione è Reserved: i clienti pagano per un periodo (settimane, mesi, anni) anziché per ore d uso. Ciò significa che, indipendentemente se le istanze siano utilizzate o meno, il prezzo resta invariato. Infine, le Spot instance: i pagamenti avvengono sempre per ore d uso, come nell opzione On-demand, ma il prezzo della tariffa oraria non è fissato. I clienti fanno un offerta su quanto sono disposti a pagare 24

25 per le ore d uso. AWS definisce dinamicamente lo Spot price, il quale varia in tempo reale basandosi sul cambiamento delle domande dei clienti e delle offerte del provider. Se l offerta del cliente è al di sopra dello Spot price corrente, allora l istanza viene avviata. Se lo Spot price cambia e si alza al di sopra dell offerta del cliente, l istanza viene terminata da AWS. Le Spot instance possono essere utilizzati in sistemi composti da spot instance e reserved instance, le quali rimarranno sempre accese per garantire la disponibilità del servizio, indipendentemente dalla presenza delle spot instance. Inoltre, l utilizzo delle spot instance nei processi di autoscaling riduce i costi di budget per l implementazione dei servizi cloud. Nell implementazione dei meccanismi di autoscaling, il valore corrente delle spot instance può essere acquisito in tempo reale grazie alle API messe a disposizione da AWS. Una volta che l algoritmo di autoscaling abbia stabilito quante unità sono necessarie per l operazione di scaling, viene valutata la scelta dell opzione d acquisto che garantisca il maggior risparmio in termini di budget. Acquisito lo Spot price corrente, viene fatta un offerta di poco superiore, valutando se l offerta per la spot instance sia superiore o inferiore al costo orario delle istanze On-demand. La possibilità della scelta delle istanze On-demand rende sicura la possibilità di effettuare una operazione di scaling (che sarebbe stata incerta nel caso dell utilizzo delle sole Spot instance, in quanto non sempre disponibili). Per l operazione di scale down, dal momento che nella lista di server attivi saranno presenti server con costi d attivazione diversi, vengono terminati prima i server che hanno un costo maggiore rispetto agli altri della lista, tenendo attivi i più economici. Le uniche istanze che non saranno mai terminate sono le Riserved, sia perché il cliente ha pagato per un intero periodo e non fa alcuna differenza se le istanze sono attive o meno, sia perché, in uno scenario in cui si offre un servizio attivo 24 ore su 24, ci devono essere sempre istanze attive che possano garantire l erogazione del servizio. Nel caso delle Spot instance, quando l offerta del cliente è inferiore allo Spot price, le istanze vengono automaticamente terminate da AWS. 25

26 3.2 Netflix e Scryer [12] Scryer è un sistema ideato da Netflix, l azienda di contenuti video on demand, che permette di istanziare il giusto numero di risorse di AWS per poter gestire adeguatamente il traffico di utenti che richiedono il servizio. A differenza di Amazon Auto Scaling, che reagisce al traffico monitorando le metriche e effettuando azioni di scaling in tempo reale, Scryer agisce cercando di prevedere quale sarà il traffico (e quindi il bisogno computazionale) al quale il sistema sarà sottoposto, istanziando nuove risorse sulla base di queste previsioni. Poiché il sistema di autoscaling di Amazon non era in grado di coprire alcuni casi d uso del servizio, si era reso necessario per Netflix adoperare un sistema di autoscaling che riuscisse a risolvere i seguenti problemi: picchi immediati nel numero delle domande da parte dei client, che lasciavano i server vulnerabili a causa dei tempi troppo lunghi per l istanziazione di nuove risorse; interruzioni del servizio causate da valutazioni errate nelle operazioni di scale down, operazioni spesso eseguite prima di un picco delle domande; andamenti diversi del traffico nell arco della giornata. Tutti questi problemi sono facilmente risolvibili eseguendo un numero elevato di azioni di scale up, le quali porterebbero però ad un sovraccarico delle operazioni di scaling. Oppure si potrebbe tenere sempre attivi un numero più elevato di server, ma questo andrebbe ad elevare in modo considerevole i costi di gestione del servizio. Netflix è riuscita a trovare una soluzione esaminando la tendenza nel tempo del proprio traffico di dati, osservando che, in un intervallo di 5 giorni, l andamento del traffico ha avuto un comportamento approssimativamente regolare, il che ha consentito di adottare politiche di scaling adeguate al problema. I benefici riscontrati utilizzando Scryer sono stati un miglioramento dell utilizzo delle proprie risorse cluster locali, una disponibilità ed affidabilità del sistema più elevate ed una riduzione dei costi per l acquisto di istanze di EC2. Eventuali andamenti del traffico non predicibili dal sistema possono essere risolti grazie all utilizzo in concomitanza sia del sistema Scryer, sia del sistema di autoscaling real time di Amazon. 26

27 Conclusioni In questo elaborato abbiamo esaminato i vantaggi e le problematiche legate all implementazione degli algoritmi di autoscaling. Nel primo capitolo abbiamo presentato le definizioni e abbiamo descritto le caratteristiche principali del Cloud Computing e dei meccanismi di Autoscaling e Monitoring. Nel secondo capitolo sono state descritte le varie soluzioni per poter implementare l autoscaling in diversi contesti e seguendo diversi approcci. Abbiamo osservato l importanza di definire le metriche e i segnali che il sistema deve cogliere per poter comprendere quando intervenire con delle operazioni di scaling, segnali che possono essere estrapolati dall ambiente esterno (nel caso si utilizzi una logica basata su Learning automata) oppure dall applicazione stessa che è in esecuzione sulle VM, andando ad utilizzare l output dell applicazione come trigger per lo scaling. Abbiamo osservato le differenze nel trattare applicazioni workflow, applicazioni con task che sono eseguiti sequenzialmente seguendo un percorso critico, e bag-of-task, cioè applicazioni con task debolmente accoppiati ed eseguibili in parallelo senza condizioni sull ordine di esecuzione. Inoltre abbiamo osservato che, nello scegliere quale logica di autoscaling implementare, è necessario effettuare un trade off tra bilancio del carico, cioè distribuire il carico di lavoro su tutte le risorse disponibili, e risparmio di risorse, utilizzando il minor numero di risorse sovraccaricando quelle già in esecuzione. Infine abbiamo analizzato in che modo implementare i meccanismi di autoscaling in un contesto di ricerca scientifica, dove sono presenti infrastrutture ibride, composte da cluster e istanze di cloud privati e pubblici, e numerosi percorsi critici raggruppati in ensembles. Nel capitolo conclusivo abbiamo esaminato alcune soluzioni implementate dai cloud provider pubblici. In particolare abbiamo analizzato i vantaggi che possono essere ottenuti utilizzando le Spot instance di Amazon Web Service, consentendo agli sviluppatori di risparmiare risorse, e abbiamo esaminato in che modo Netflix è riuscita a sviluppare il proprio sistema di autoscaling osservando la regolarità dell andamento del proprio traffico dati. 27

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

IT Cloud Service. Semplice - accessibile - sicuro - economico

IT Cloud Service. Semplice - accessibile - sicuro - economico IT Cloud Service Semplice - accessibile - sicuro - economico IT Cloud Service - Cos è IT Cloud Service è una soluzione flessibile per la sincronizzazione dei file e la loro condivisione. Sia che si utilizzi

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

LA MIGRAZIONE IN SEMPLICI STEP. Il moving di una macchina Linux sul Cloud Server Seeweb

LA MIGRAZIONE IN SEMPLICI STEP. Il moving di una macchina Linux sul Cloud Server Seeweb LA MIGRAZIONE IN SEMPLICI STEP Il moving di una macchina Linux sul Cloud Server Seeweb La migrazione in semplici step [ 1 ] Indice 1. Perché cambiare provider 2. La migrazione in pillole 3. Come cambiare

Dettagli

C Cloud computing Cloud storage. Prof. Maurizio Naldi

C Cloud computing Cloud storage. Prof. Maurizio Naldi C Cloud computing Cloud storage Prof. Maurizio Naldi Cos è il Cloud Computing? Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Progetto Virtualizzazione

Progetto Virtualizzazione Progetto Virtualizzazione Dipartimento e Facoltà di Scienze Statistiche Orazio Battaglia 25/11/2011 Dipartimento di Scienze Statiche «Paolo Fortunati», Università di Bologna, via Belle Arti 41 1 La nascita

Dettagli

Gartner Group definisce il Cloud

Gartner Group definisce il Cloud Cloud Computing Gartner Group definisce il Cloud o Cloud Computing is a style of computing in which elastic and scalable information technology - enabled capabilities are delivered as a Service. Gartner

Dettagli

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi Project Management Modulo: Introduzione prof. ing. Guido Guizzi Definizione di Project Management Processo unico consistente in un insieme di attività coordinate con scadenze iniziali e finali, intraprese

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership)

Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership) Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership) Fonte: CRM Outsiders sponsorizzato da SugarCRM Inc. Autore: Chris Bucholtz 1 SOLUZIONI CRM incluse nell'analisi: Microsoft Dynamics

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

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

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

RIDURRE I COSTI ENERGETICI!

RIDURRE I COSTI ENERGETICI! Otto sono le azioni indipendenti per raggiungere un unico obiettivo: RIDURRE I COSTI ENERGETICI! www.consulenzaenergetica.it 1 Controllo fatture Per gli utenti che sono o meno nel mercato libero il controllo

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

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

LE RETI: STRUMENTO AZIENDALE

LE RETI: STRUMENTO AZIENDALE LE RETI: STRUMENTO AZIENDALE INDICE -Introduzione -La rete e i principali tipi di rete -La rete delle reti: Internet -Evoluzione tecnologica di internet: cloud computing -Vantaggi della cloud all interno

Dettagli

IL CLOUD COMPUTING DALLE PMI ALLE ENTERPRISE. Salvatore Giannetto Presidente Salvix S.r.l

IL CLOUD COMPUTING DALLE PMI ALLE ENTERPRISE. Salvatore Giannetto Presidente Salvix S.r.l IL CLOUD COMPUTING Salvatore Giannetto Presidente Salvix S.r.l Agenda. - Introduzione generale : il cloud computing Presentazione e definizione del cloud computing, che cos è il cloud computing, cosa serve

Dettagli

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By La piattaforma per garantire l efficienza energetica Powered By L efficienza energetica come nuovo punto di forza Secondo la norma ISO EN 50001, l efficienza energetica rappresenta il modo per ottimizzare

Dettagli

Il modello di ottimizzazione SAM

Il modello di ottimizzazione SAM Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per

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

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

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

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

Introduzione al Cloud Computing

Introduzione al Cloud Computing Risparmiare ed innovare attraverso le nuove soluzioni ICT e Cloud Introduzione al Cloud Computing Leopoldo Onorato Onorato Informatica Srl Mantova, 15/05/2014 1 Sommario degli argomenti Definizione di

Dettagli

L utilizzo del cloud nel web marketing. for

L utilizzo del cloud nel web marketing. for L utilizzo del cloud nel web marketing 2 Cos è il Cloud Computing? Web Internet Cloud Il cloud computing è una nuova concezione di infrastruttura, ovvero il complesso ambiente di server dove risiedono

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

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

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

Ata_NiAg02. Modulo Gestione Agenti

Ata_NiAg02. Modulo Gestione Agenti Ata_NiAg02 Modulo Gestione Agenti Il software NiAg02 consente alle aziende che utilizzano il software gestionale ATA di gestire in maniera totalmente automatizzata l acquisizione ordini e/o clienti dalla

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Gestire le NC, le Azioni Correttive e Preventive, il Miglioramento

Gestire le NC, le Azioni Correttive e Preventive, il Miglioramento Scopo Responsabile Fornitore del Processo Input Cliente del Processo Output Indicatori Riferimenti Normativi Processi Correlati Sistemi Informatici Definire le modalità e le responsabilità per la gestione

Dettagli

Dal software al CloudWare

Dal software al CloudWare Dal software al CloudWare La tecnologia del cloud computing ha raggiunto ormai una maturità e una affidabilità tali da offrire risorse inimmaginabili rispetto all attuale sistema client/server. 3ware ha

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

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Retail L organizzazione innovativa del tuo punto vendita

Retail L organizzazione innovativa del tuo punto vendita fare Retail L organizzazione innovativa del tuo punto vendita fareretail è una soluzione di by www.fareretail.it fareretail fareretail è la soluzione definitiva per la Gestione dei Clienti e l Organizzazione

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

EasyPLAST. Siamo riusciti a trasferire in EasyPLAST tutte le informazioni e le procedure che prima erano gestite con fogli excel

EasyPLAST. Siamo riusciti a trasferire in EasyPLAST tutte le informazioni e le procedure che prima erano gestite con fogli excel Abbiamo completamente eliminato i costi di personalizzazione e di continuo sviluppo per cercare di adattare un prodotto software orizzontale e generalista alle problematiche del nostro settore Un software

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

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

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

LE CARATTERISTICHE. Caratteristiche. www.alessiopapa.it - tel. 0771.324312 - fax 0771.1870184 pag. 2

LE CARATTERISTICHE. Caratteristiche. www.alessiopapa.it - tel. 0771.324312 - fax 0771.1870184 pag. 2 Caratteristiche LE CARATTERISTICHE GESTIONE AVANZATA DEI CONTATTI Infomail ti consente di creare un database importando liste di contatti già esistenti o acquisendone di nuovi tramite un form di iscrizione

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

MANUALE DELLA QUALITÀ SIF CAPITOLO 08 (ED. 01) MISURAZIONI, ANALISI E MIGLIORAMENTO

MANUALE DELLA QUALITÀ SIF CAPITOLO 08 (ED. 01) MISURAZIONI, ANALISI E MIGLIORAMENTO INDICE 8.1 Generalità 8.2 Monitoraggi e Misurazione 8.2.1 Soddisfazione del cliente 8.2.2 Verifiche Ispettive Interne 8.2.3 Monitoraggio e misurazione dei processi 8.2.4 Monitoraggio e misurazione dei

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

ToolCare La gestione utensili di FRAISA NUOVO

ToolCare La gestione utensili di FRAISA NUOVO ToolCare La gestione utensili di FRAISA NUOVO [ 2 ] Più produttivi con ToolCare 2.0 Il nuovo sistema di gestione degli utensili Un servizio di assistenza che conviene Qualità ottimale, prodotti innovativi

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

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

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

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

COME AVERE SUCCESSO SUL WEB?

COME AVERE SUCCESSO SUL WEB? Registro 3 COME AVERE SUCCESSO SUL WEB? Guida pratica per muovere con successo i primi passi nel web MISURAZIONE ED OBIETTIVI INDEX 3 7 13 Strumenti di controllo e analisi Perché faccio un sito web? Definisci

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership)

Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership) Costo Complessivo della Proprietà CRM (TCO, Total-Cost-of-Ownership) Fonte: CRM Outsiders sponsorizzato da SugarCRM Inc. Autore: Chris Bucholtz 1 SOLUZIONI CRM incluse nell'analisi: -Microsoft Dynamics

Dettagli

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ In questa Appendice mostreremo come trovare la tariffa in due parti che massimizza i profitti di Clearvoice,

Dettagli

ICARO Terminal Server per Aprile

ICARO Terminal Server per Aprile ICARO Terminal Server per Aprile Icaro è un software aggiuntivo per Aprile (gestionale per centri estetici e parrucchieri) con funzionalità di terminal server: gira sullo stesso pc dove è installato il

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

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

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

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

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

CAPITOLO 10 I SINDACATI

CAPITOLO 10 I SINDACATI CAPITOLO 10 I SINDACATI 10-1. Fate l ipotesi che la curva di domanda di lavoro di una impresa sia data da: 20 0,01 E, dove è il salario orario e E il livello di occupazione. Ipotizzate inoltre che la funzione

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12%

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12% Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12% CASE STUDY TM ( Re ) discover Simplicity to Guarantee Application Performance 1 Gli

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

IN COLLABORAZIONE CON OPTA SRL

IN COLLABORAZIONE CON OPTA SRL PROGRAMMARE LA PRODUZIONE IN MODO SEMPLICE ED EFFICACE IN COLLABORAZIONE CON OPTA SRL SOMMARIO 1. L AZIENDA E IL PRODOTTO 2. IL PROBLEMA 3. DATI DI INPUT 4. VERIFICA CARICO DI LAVORO SETTIMANALE 5. VERIFICA

Dettagli

EasyMACHINERY ERPGestionaleCRM. partner

EasyMACHINERY ERPGestionaleCRM. partner ERPGestionaleCRM partner La soluzione software per le aziende di produzione di macchine Abbiamo trovato un software e un partner che conoscono e integrano le particolarità del nostro settore. Questo ci

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

Sistemi di Gestione dei Dati e dei Processi Aziendali. Computer-Assisted Audit Technique (CAAT)

Sistemi di Gestione dei Dati e dei Processi Aziendali. Computer-Assisted Audit Technique (CAAT) Sistemi di Gestione dei Dati e dei Processi Aziendali Computer-Assisted Audit Technique (CAAT) Indice degli argomenti Introduzione Metodologia Esempi Conclusioni Slide 2 Introduzione Metodologia Esempi

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

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative itime itime Il software di rilevazione presenze itime rappresenta lo strumento ideale per l automatizzazione della gestione del personale. L ampia presenza dei parametri facilita l operatore nel controllo

Dettagli

12. Evoluzione del Software

12. Evoluzione del Software 12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

WEB MARKETING. Indicizzazione nei motori di ricerca. SCHEDA PRODOTTO Versione 1.1

WEB MARKETING. Indicizzazione nei motori di ricerca. SCHEDA PRODOTTO Versione 1.1 WEB MARKETING nei motori di ricerca SCHEDA PRODOTTO Versione 1.1 1 1. INTRODUZIONE I motori di ricerca sono la funzione più utilizzata sul web e sono secondi solo alla posta elettronica nella lista delle

Dettagli

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

Rapporto ambientale Anno 2012

Rapporto ambientale Anno 2012 Rapporto ambientale Anno 2012 Pagina 1 di 11 1 ANNO 2012 Nell anno 2005 la SITI TARGHE srl ha ottenuto la certificazione ambientale secondo la norma internazionale ISO 14001:2004, rinnovata nel 2008 e

Dettagli

La Guida per l Organizzazione degli Studi professionali

La Guida per l Organizzazione degli Studi professionali La Guida per l Organizzazione degli Studi professionali Gianfranco Barbieri Senior Partner di Barbieri & Associati Dottori Commercialisti Presidente dell Associazione Culturale Economia e Finanza gianfranco.barbieri@barbierieassociati.it

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

Comunicazione per le PMI nuove soluzioni a un problema di sempre una practice di Orga 1925

Comunicazione per le PMI nuove soluzioni a un problema di sempre una practice di Orga 1925 Comunicazione per le PMI nuove soluzioni a un problema di sempre una practice di Orga 1925 1 LA PRATICA SOLITA La comunicazione delle PMI si basa di regola sull assoluto privilegio della comunicazione

Dettagli

Cloud Computing....una scelta migliore. ICT Information & Communication Technology

Cloud Computing....una scelta migliore. ICT Information & Communication Technology Cloud Computing...una scelta migliore Communication Technology Che cos è il cloud computing Tutti parlano del cloud. Ma cosa si intende con questo termine? Le applicazioni aziendali stanno passando al

Dettagli

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it LA SOLUZIONE SAP FOR PROFESSIONAL SERVICES IL CASO DELL AZIENDA Perché SAP Grazie a SAP siamo riusciti a pianificare meglio e ad ottenere tempestive informazioni su tempi e costi delle nostre commesse.

Dettagli

ANALISI DEI CONSUMI ENERGETICI

ANALISI DEI CONSUMI ENERGETICI Ambito progetto ANALISI DEI CONSUMI ENERGETICI Realizzato per INTERSEALS S.r.l. Esigenza IMPLEMENTAZIONE DI UN SISTEMA PER IL MONITORAGGIO E L ANALISI DEI CONSUMI ENERGETICI AI FINI DI VERIFICARE INEFFICENZE

Dettagli

Domande a scelta multipla 1

Domande a scelta multipla 1 Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

Dettagli

danilo.vaselli@opendotcom.it

danilo.vaselli@opendotcom.it Organizzazione dello studio e controllo di gestione -Introduzione - Gestione delle attività di Studio, Parcellazione e controllo della redditività del lavoro: criticità ed obiettivi di miglioramento. -

Dettagli

Sistemi di misurazione e valutazione delle performance

Sistemi di misurazione e valutazione delle performance Sistemi di misurazione e valutazione delle performance 1 SVILUPPO DELL'INTERVENTO Cos è la misurazione e valutazione delle performance e a cosa serve? Efficienza Efficacia Outcome Requisiti minimi Indicatori

Dettagli