16 resultados para workflow scheduling
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Nel lavoro di tesi qui presentato si indaga l'applicazione di tecniche di apprendimento mirate ad una più efficiente esecuzione di un portfolio di risolutore di vincoli (constraint solver). Un constraint solver è un programma che dato in input un problema di vincoli, elabora una soluzione mediante l'utilizzo di svariate tecniche. I problemi di vincoli sono altamente presenti nella vita reale. Esempi come l'organizzazione dei viaggi dei treni oppure la programmazione degli equipaggi di una compagnia aerea, sono tutti problemi di vincoli. Un problema di vincoli è formalizzato da un problema di soddisfacimento di vincoli(CSP). Un CSP è descritto da un insieme di variabili che possono assumere valori appartenenti ad uno specico dominio ed un insieme di vincoli che mettono in relazione variabili e valori assumibili da esse. Una tecnica per ottimizzare la risoluzione di tali problemi è quella suggerita da un approccio a portfolio. Tale tecnica, usata anche in am- biti come quelli economici, prevede la combinazione di più solver i quali assieme possono generare risultati migliori di un approccio a singolo solver. In questo lavoro ci preoccupiamo di creare una nuova tecnica che combina un portfolio di constraint solver con tecniche di machine learning. Il machine learning è un campo di intelligenza articiale che si pone l'obiettivo di immettere nelle macchine una sorta di `intelligenza'. Un esempio applicativo potrebbe essere quello di valutare i casi passati di un problema ed usarli in futuro per fare scelte. Tale processo è riscontrato anche a livello cognitivo umano. Nello specico, vogliamo ragionare in termini di classicazione. Una classicazione corrisponde ad assegnare ad un insieme di caratteristiche in input, un valore discreto in output, come vero o falso se una mail è classicata come spam o meno. La fase di apprendimento sarà svolta utilizzando una parte di CPHydra, un portfolio di constraint solver sviluppato presso la University College of Cork (UCC). Di tale algoritmo a portfolio verranno utilizzate solamente le caratteristiche usate per descrivere determinati aspetti di un CSP rispetto ad un altro; queste caratteristiche vengono altresì dette features. Creeremo quindi una serie di classicatori basati sullo specifico comportamento dei solver. La combinazione di tali classicatori con l'approccio a portfolio sara nalizzata allo scopo di valutare che le feature di CPHydra siano buone e che i classicatori basati su tali feature siano affidabili. Per giusticare il primo risultato, eettueremo un confronto con uno dei migliori portfolio allo stato dell'arte, SATzilla. Una volta stabilita la bontà delle features utilizzate per le classicazioni, andremo a risolvere i problemi simulando uno scheduler. Tali simulazioni testeranno diverse regole costruite con classicatori precedentemente introdotti. Prima agiremo su uno scenario ad un processore e successivamente ci espanderemo ad uno scenario multi processore. In questi esperimenti andremo a vericare che, le prestazioni ottenute tramite l'applicazione delle regole create appositamente sui classicatori, abbiano risultati migliori rispetto ad un'esecuzione limitata all'utilizzo del migliore solver del portfolio. I lavoro di tesi è stato svolto in collaborazione con il centro di ricerca 4C presso University College Cork. Su questo lavoro è stato elaborato e sottomesso un articolo scientico alla International Joint Conference of Articial Intelligence (IJCAI) 2011. Al momento della consegna della tesi non siamo ancora stati informati dell'accettazione di tale articolo. Comunque, le risposte dei revisori hanno indicato che tale metodo presentato risulta interessante.
Resumo:
Il presente lavoro nasce dall’obiettivo di individuare strumenti statistici per indagare, sotto diversi aspetti, il flusso di lavoro di un Laboratorio di Anatomia Patologica. Il punto di partenza dello studio è l’ambiente di lavoro di ATHENA, software gestionale utilizzato nell’Anatomia Patologica, sviluppato dalla NoemaLife S.p.A., azienda specializzata nell’informatica per la sanità. A partire da tale applicativo è stato innanzitutto formalizzato il workflow del laboratorio (Capitolo 2), nelle sue caratteristiche e nelle sue possibili varianti, identificando le operazioni principali attraverso una serie di “fasi”. Proprio le fasi, unitamente alle informazioni addizionali ad esse associate, saranno per tutta la trattazione e sotto diversi punti di vista al centro dello studio. L’analisi che presentiamo è stata per completezza sviluppata in due scenari che tengono conto di diversi aspetti delle informazioni in possesso. Il primo scenario tiene conto delle sequenze di fasi, che si presentano nel loro ordine cronologico, comprensive di eventuali ripetizioni o cicli di fasi precedenti alla conclusione. Attraverso l’elaborazione dei dati secondo specifici formati è stata svolta un’iniziale indagine grafica di Workflow Mining (Capitolo 3) grazie all’ausilio di EMiT, un software che attraverso un set di log di processo restituisce graficamente il flusso di lavoro che li rappresenta. Questa indagine consente già di valutare la completezza dell’utilizzo di un applicativo rispetto alle sue potenzialità. Successivamente, le stesse fasi sono state elaborate attraverso uno specifico adattamento di un comune algoritmo di allineamento globale, l’algoritmo Needleman-Wunsch (Capitolo 4). L’utilizzo delle tecniche di allineamento applicate a sequenze di processo è in grado di individuare, nell’ambito di una specifica codifica delle fasi, le similarità tra casi clinici. L’algoritmo di Needleman-Wunsch individua le identità e le discordanze tra due stringhe di caratteri, assegnando relativi punteggi che portano a valutarne la similarità. Tale algoritmo è stato opportunamente modificato affinché possa riconoscere e penalizzare differentemente cicli e ripetizioni, piuttosto che fasi mancanti. Sempre in ottica di allineamento sarà utilizzato l’algoritmo euristico Clustal, che a partire da un confronto pairwise tra sequenze costruisce un dendrogramma rappresentante graficamente l’aggregazione dei casi in funzione della loro similarità. Proprio il dendrogramma, per la sua struttura grafica ad albero, è in grado di mostrare intuitivamente l’andamento evolutivo della similarità di un pattern di casi. Il secondo scenario (Capitolo 5) aggiunge alle sequenze l’informazione temporale in termini di istante di esecuzione di ogni fase. Da un dominio basato su sequenze di fasi, si passa dunque ad uno scenario di serie temporali. I tempi rappresentano infatti un dato essenziale per valutare la performance di un laboratorio e per individuare la conformità agli standard richiesti. Il confronto tra i casi è stato effettuato con diverse modalità, in modo da stabilire la distanza tra tutte le coppie sotto diversi aspetti: le sequenze, rappresentate in uno specifico sistema di riferimento, sono state confrontate in base alla Distanza Euclidea ed alla Dynamic Time Warping, in grado di esprimerne le discordanze rispettivamente temporali, di forma e, dunque, di processo. Alla luce dei risultati e del loro confronto, saranno presentate già in questa fase le prime valutazioni sulla pertinenza delle distanze e sulle informazioni deducibili da esse. Il Capitolo 6 rappresenta la ricerca delle correlazioni tra elementi caratteristici del processo e la performance dello stesso. Svariati fattori come le procedure utilizzate, gli utenti coinvolti ed ulteriori specificità determinano direttamente o indirettamente la qualità del servizio erogato. Le distanze precedentemente calcolate vengono dunque sottoposte a clustering, una tecnica che a partire da un insieme eterogeneo di elementi individua famiglie o gruppi simili. L’algoritmo utilizzato sarà l’UPGMA, comunemente applicato nel clustering in quanto, utilizzando, una logica di medie pesate, porta a clusterizzazioni pertinenti anche in ambiti diversi, dal campo biologico a quello industriale. L’ottenimento dei cluster potrà dunque essere finalmente sottoposto ad un’attività di ricerca di correlazioni utili, che saranno individuate ed interpretate relativamente all’attività gestionale del laboratorio. La presente trattazione propone quindi modelli sperimentali adattati al caso in esame ma idealmente estendibili, interamente o in parte, a tutti i processi che presentano caratteristiche analoghe.
Resumo:
In questa tesi ci occuperemo di fornire un modello MIP di base e di alcune sue varianti, realizzate allo scopo di comprenderne il comportamento ed eventualmente migliorarne l’efficienza. Le diverse varianti sono state costruite agendo in particolar modo sulla definizione di alcuni vincoli, oppure sui bound delle variabili, oppure ancora nell’obbligare il risolutore a focalizzarsi su determinate decisioni o specifiche variabili. Sono stati testati alcuni dei problemi tipici presenti in letteratura e i diversi risultati sono stati opportunamente valutati e confrontati. Tra i riferimenti per tale confronto sono stati considerati anche i risultati ottenibili tramite un modello Constraint Programming, che notoriamente produce risultati apprezzabili in ambito di schedulazione. Un ulteriore scopo della tesi è, infatti, comparare i due approcci Mathematical Programming e Constraint Programming, identificandone quindi i pregi e gli svantaggi e provandone la trasferibilità al modello raffrontato.
Resumo:
Il presente lavoro di tesi ha come punto focale la descrizione, la verifica e la dimostrazione della realizzabilità dei Workflow Patterns di Gestione del Flusso(Control-Flow) e Risorse (Resource) definiti da parte della Workflow Pattern Initiative (WPI)in JOLIE, un innovativo linguaggio di programmazione orientato ai servizi nato nell'ambito del Service Oriented Computing. Il Service Oriented Computing (SOC) è un nuovo modo di pensare la programmazione di applicazioni distribuite, i cui concetti fondamentali sono i servizi e la composizione. L’approccio SOC definisce la possibilità di costruire un’applicazione in funzione dei servizi che ne realizzano il comportamento tramite una loro composizione, definita secondo un particolare flusso di lavoro. Allo scopo di fornire la necessaria conoscenza per capire la teoria, le meccaniche e i costrutti di JOLIE utilizzati per la realizzazione dei pattern, il seguente lavoro di tesi è stato diviso in quattro parti, corrispondenti ad altrettanti capitoli. Nel primo capitolo viene riportata una descrizione generale del SOC e della Business Process Automation (BPA), che costituisce l’ambiente in cui il SOC è inserito. Per questo viene fatta una disamina della storia informatica sui sistemi distribuiti, fino ad arrivare ai sistemi odierni, presentando in seguito il contesto del BPA e delle innovazioni derivanti dalle sue macro-componenti, di cui il SOC fa parte. Continuando la descrizione dell’approccio Service Oriented, ne vengono presentati i requisiti (pre-condizioni) e si cerca di dare una definizione precisa del termine “servizio”, fino all'enunciazione dei principi SOC declinati nell’ottica delle Service Oriented Architectures, presentando in ultimo i metodi di composizione dei servizi, tramite orchestrazione e coreografia. L’ultima sezione del capitolo prende in considerazione il SOC in un’ottica prettamente industriale e ne evidenzia i punti strategici. Il secondo capitolo è incentrato sulla descrizione di JOLIE, gli aspetti fondamentali dell’approccio orientato ai servizi, che ne caratterizzano profondamente la definizione concettuale (SOCK), e la teoria della composizione dei servizi. Il capitolo non si pone come una descrizione esaustiva di tutte le funzionalità del linguaggio, ma considera soprattutto i concetti teorici, le strutture di dati, gli operatori e i costrutti di JOLIE utilizzati per la dimostrazione della realizzabilità dei Workflow Pattern del capitolo successivo. Il terzo capitolo, più lungo e centrale rispetto agli altri, riguarda la realizzazione dei workflow pattern in JOLIE. All'inizio del capitolo viene fornita una descrizione delle caratteristiche del WPI e dei Workflow Pattern in generale. In seguito, nelle due macro-sezioni relative ai Control-Flow e Resource pattern vengono esposte alcune nozioni riguardanti le metodologie di definizione dei pattern (e.g. la teoria sulla definizione delle Colored Petri Nets) e le convezioni adottate dal WPI, per passare in seguito al vero e proprio lavoro (sperimentale) di tesi riguardo la descrizione dei pattern, l’analisi sulla loro realizzabilità in JOLIE, insieme ad un codice di esempio che esemplifica quanto affermato dall'analisi. Come sommario delle conclusioni raggiunte sui pattern, alla fine di ognuna delle due sezioni definite in precedenza, è presente una scheda di valutazione che, con lo stesso metodo utilizzato e definito dalla WPI, permette di avere una rappresentazione generale della realizzabilità dei pattern in JOLIE. Il quarto capitolo riguarda gli esiti tratti dal lavoro di tesi, riportando un confronto tra le realizzazioni dei pattern in JOLIE e le valutazioni del WPI rispetto agli altri linguaggi da loro considerati e valutati. Sulla base di quanto ottenuto nel terzo capitolo vengono definite le conclusioni del lavoro portato avanti sui pattern e viene delineato un’eventuale scenario riguardante il proseguimento dell’opera concernente la validazione ed il completamento della studio. In ultimo vengono tratte alcune conclusioni sia riguardo JOLIE, nel contesto evolutivo del linguaggio e soprattutto del progetto open-source che è alla sua base, sia sul SOC, considerato nell’ambito del BPA e del suo attuale ambito di sviluppo dinamico.
Resumo:
In piattaforme di Stream Processing è spesso necessario eseguire elaborazioni differenziate degli stream di input. Questa tesi ha l'obiettivo di realizzare uno scheduler in grado di attribuire priorità di esecuzione differenti agli operatori deputati all'elaborazione degli stream.
Resumo:
Le reti ottiche, grazie alla loro elevata capacità, hanno acquisito sempre maggiore importanza negli ultimi anni, sia per via del crescente volume di dati scambiati, legato soprattutto alla larga diffusione di Internet, sia per la necessità di comunicazioni in tempo reale. Dati i (relativamente) lunghi tempi di adattamento, questa tecnologia nativamente non è quella ottimale per il trasporto di un traffico a burst, tipico delle telecomunicazioni odierne. Le reti ibride cercano, quindi, di coniugare al meglio le potenzialità della commutazione ottica di circuito e della commutazione ottica a pacchetto. In questo lavoro, in particolare, ci si è concentrati su un'architettura di rete ibrida denominata 3LIHON (3-Level Integrated Hybrid Optical Network). Essa prevede tre distinti livelli di qualità di servizio (QoS) per soddisfare differenti necessità: - Guaranteed Service Type (GST): simile ad un servizio a commutazione di circuito, non ammette perdita di dati. - Statistically Multiplexed Real Time (SM/RT): simile ad un servizio a commutazione di pacchetto, garantisce ritardo nullo o molto basso all'interno della rete, permette un piccolo tasso di perdita di dati e ammette la contesa della banda. - Statistically Multiplexed Best Effort (SM/BE): simile ad un servizio a commutazione di pacchetto, non garantisce alcun ritardo tra i nodi ed ammette un basso tasso di perdita dei dati. In un nodo 3LIHON, il traffico SM/BE impossibile da servire, a causa ad es. dell'interruzione da parte di pacchetti aventi un livello di QoS più prioritario, viene irrimediabilmente perso. Questo implica anche lo spreco del tempo e delle risorse impiegati per trasmettere un pacchetto SM/BE fino alla sua interruzione. Nel presente lavoro si è cercato di limitare, per quanto possibile, questo comportamento sconveniente, adottando e comparando tre strategie, che hanno portato alla modifica del nodo 3LIHON standard ed alla nascita di tre sue varianti.
Resumo:
In questa tesi sono stati apportati due importanti contributi nel campo degli acceleratori embedded many-core. Abbiamo implementato un runtime OpenMP ottimizzato per la gestione del tasking model per sistemi a processori strettamente accoppiati in cluster e poi interconnessi attraverso una network on chip. Ci siamo focalizzati sulla loro scalabilità e sul supporto di task di granularità fine, come è tipico nelle applicazioni embedded. Il secondo contributo di questa tesi è stata proporre una estensione del runtime di OpenMP che cerca di prevedere la manifestazione di errori dati da fenomeni di variability tramite una schedulazione efficiente del carico di lavoro.
Resumo:
il ruolo della tesi è stato di valorizzare attraverso la valutazione di un peso l'urgenza e la necessità di cure dei pazienti processati da un modello di ottimizzazione. Essa si inserisce all'interno di un progetto di creazione di tale modello per la schedulazione di interventi in un reparto chirurgico di un generico ospedale.si è fatto uso del software ibm opl optimization suite.
Resumo:
In questo lavoro di tesi verrà presentato un applicativo, sviluppato con l’azienda EBWorld, per dispositivi con sistema operativo Android. L’applicazione ha come destinatari i tecnici e gli operatori sul campo di aziende clienti di EBWorld. Nel dispositivo vengono caricati i dati estratti dal database (porzioni di mappe e informazioni ad esse correlate) che vengono lette e mostrate nello schermo. Le funzionalità fornite sono: utilizzo dello strumento trail, per effettuare misurazioni; creazione di progetti all’interno delle esportazioni; inserimento di sketch, definiti in accordo con l’azienda, all’interno dei progetti; selezione degli sketch e delle informazioni estratte dal database e visualizzazione delle relative informazioni / proprietà; eliminazione di sketch inseriti. È stato effettuato uno studio di progettazione dell’interfaccia per offrire un’ottima usabilità anche in situazioni critiche.
Resumo:
In questa tesi presentiamo una strategia, e la relativa implementazione, per il problema dell’allocazione e schedulazione, su risorse unarie, di applicazioni multi-task periodiche, composte da attività che interagiscono fra loro e la cui durata è incerta. Lo scopo che ci si propone di raggiungere, è l’implementazione di una strategia di allocazione schedulazione che garantisca robustezza ed efficienza, in quei contesti in cui la conoscenza a priori è limitata e in cui le applicazioni si ripetono indefinitamente nel tempo. Per raggiungere questo scopo, sarà usato un approccio ibrido fra statico e dinamico. Staticamente è generata una soluzione del problema, sfruttando la programmazione a vincoli, in cui le durate delle attività sono arbitrariamente fissate. Questa soluzione, non rappresenta la soluzione del nostro problema, ma è utilizzata per generare un ordinamento delle attività, che compongono le applicazioni periodiche. Dinamicamente, sfruttando l’ordinamento ottenuto, è effettuata l’allocazione e la schedulazione effettiva delle applicazioni periodiche, considerando durate variabili per le attività. L’efficienza ottenuta applicando il nostro approccio è valutata effettuando test su una vasta gamma di istanze, sia industriali, sia sintetiche appositamente generate. I risultati sono confrontati con quelli ottenuti, per le stesse istanze, applicando un approccio puramente statico. Come si vedrà, in alcuni casi, è possibile anche quadruplicale la velocità di completamento delle applicazioni trattate.
Resumo:
High Performance Computing e una tecnologia usata dai cluster computazionali per creare sistemi di elaborazione che sono in grado di fornire servizi molto piu potenti rispetto ai computer tradizionali. Di conseguenza la tecnologia HPC e diventata un fattore determinante nella competizione industriale e nella ricerca. I sistemi HPC continuano a crescere in termini di nodi e core. Le previsioni indicano che il numero dei nodi arrivera a un milione a breve. Questo tipo di architettura presenta anche dei costi molto alti in termini del consumo delle risorse, che diventano insostenibili per il mercato industriale. Un scheduler centralizzato non e in grado di gestire un numero di risorse cosi alto, mantenendo un tempo di risposta ragionevole. In questa tesi viene presentato un modello di scheduling distribuito che si basa sulla programmazione a vincoli e che modella il problema dello scheduling grazie a una serie di vincoli temporali e vincoli sulle risorse che devono essere soddisfatti. Lo scheduler cerca di ottimizzare le performance delle risorse e tende ad avvicinarsi a un profilo di consumo desiderato, considerato ottimale. Vengono analizzati vari modelli diversi e ognuno di questi viene testato in vari ambienti.
Resumo:
In questa tesi, viene illustrato un metodo risolutivo al problema dell’allocazione e schedulazione, su risorse eterogenee con capacità unaria rinnovabile e cumulativa non rinnovabile, di applicazioni multitask periodiche, con periodi in relazione armonica, strutturate in attività indipendenti o sottoposte a vincoli di precedenza e con durate dipendenti dalla specifica risorsa di allocazione. L’obiettivo è quello di fornire un’implementazione del modello in grado di gestire l’allocazione e la schedulazione di istanze (i.e. insieme di applicazioni) variabili, caratterizzate da una serie di parametri. La struttura implementativa, realizzata secondo la Logic-based Benders decomposition, prevede la suddivisione del problema in due moduli. Il primo in grado di generare un’allocazione e realizzato con tecniche di programmazione lineare intera mista, il secondo con lo scopo di controllare l’ammissibilità di tale allocazione attraverso una schedulazione ottima e realizzato mediante tecniche di programmazione a vincoli. Il meccanismo di comunicazione tra i due moduli avviene mediante vincoli lineari, denominati tagli di Benders, che vengono aggiunti dopo ogni iterazione del sistema. L’efficacia del modello sarà valutata confrontando i risultati ottenuti attraverso una serie di test, con i valori forniti da un metodo di allocazione e schedulazione alternativo.
Resumo:
In questo elaborato ,sono descritte le fasi di realizzazione del software di simulazione di scheduling di processi periodici per sistemi operativi real-time, realizzato per questa tesi.
Resumo:
Obiettivo di questa tesi è estendere la piattaforma sperimentale Home Manager e sviluppare il supporto alla schedulazione degli elettrodomestici. L’utente Home Manager notificherà al sistema la propria volontà di accendere un determinato dispositivo, delegando a quest’ultimo la scelta sul quando dovrà essere eseguito il compito corrispondente, sulla base delle politiche generali della Smart Home.