Riassunto analitico
L'interesse crescente per la gestione di sistemi Ultra-Large-Scale è stato il principale fattore trainante per la ricerca e lo sviluppo di nuove soluzioni e architetture di monitoraggio. I moderni data center, che spesso supportano servizi basati su cloud, sono caratterizzati da un numero enorme di risorse hardware e software che collaborano spesso in modi complessi e imprevedibili. Comprendere lo stato di questi sistemi al fine di supportare l'analisi prestazionale, la gestione del carico di lavoro, la capacità di produzione e il rilevamento dei guasti, richiede soluzioni di monitoraggio scalabili che dovrebbero raccogliere e valutare continuamente grandi flussi di dati in tempo quasi reale. Le soluzioni di monitoraggio odierne, sia proprietarie che open-source, presentano spesso alcuni aspetti negativi, tra cui carenza di scalabilità, scarsa rappresentatività delle condizioni di stato globali del sistema, incapacità nel garantire la persistenza nella fornitura dei servizi, e limitazioni nel monitoraggio di applicazioni multi-tenant. Inoltre, queste soluzioni di monitoraggio spesso non riescono a gestire grandi flussi di dati, ovvero a monitorare ad alte frequenze di campionamento le quali causano elevati costi computazionali e di comunicazione, per la raccolta, l'archiviazione e la gestione delle informazioni. Questa tesi valuta e propone soluzioni di monitoraggio innovative, che spaziano dai sistemi embedded, fino alla gestione di grandi flussi di dati in sistemi Ultra-Large-Scale. In particolare, forniamo soluzioni efficaci per la raccolta, l'archiviazione e la gestione di grandi flussi di dati proponendo: (i) architetture scalabili e robuste per monitorare numerose risorse che interagiscono con fonti eterogenee; (ii) algoritmi di gestione che decidono in modo adattativo la ridistribuzione trasparente delle sessioni live di macchine virtuali in sistemi su larga scala; (iii) nuove architetture che, combinando un approccio gerarchico con soluzioni decentralizzate, affrontano la sfida del monitoraggio intra-cluster in sistemi su larga scala; (iv) algoritmi adattativi per il monitoraggio di grandi flussi di dati che migliorano la scalabilità e garantiscono un'elevata affidabilità nel catturare rilevanti variazioni di carico; (v) nuove architetture di monitoraggio ibride che forniscono elevata scalabilità, efficienza e resilienza, nonché la possibilità monitorare servizi dislocati su diversi cluster e data centers in sistemi Ultra-Large-Scale.
|
Abstract
The growing interest on resource management of Ultra-Large-Scale systems has engendered novel research activities on adequate monitoring architectures and solutions.
Modern data centers, possibly supporting cloud-based services, are characterized by a huge number of hardware and software resources often cooperating in complex and unpredictable ways. Understanding the state of these systems in order to support performance analysis, workload management, capacity planning and fault detection, requires scalable monitoring solutions that should gather and evaluate continuously large flows in almost real-time.
Existing monitoring solutions are affected by lack of scalability, scarce representativity of global state conditions, inability in guaranteeing persistence in service delivery, and the impossibility of monitoring multi-tenant applications.
Moreover, most architectures fail in managing big data monitoring samples, which cause high computational and communication overheads in collecting, storing, and managing information.
This thesis addresses the challenge by proposing and evaluating innovative monitoring solutions ranging from embedded systems to distributed resource management that are suitable for Ultra-Large-Scale systems. In particular, we provide effective solutions for collecting, storing, and managing big data streams by proposing:
(i) scalable and robust architectures to monitoring multiple resources interacting with heterogeneous sources;
(ii) management algorithms which decide in an adaptive way the transparent reallocation of live sessions of virtual machines in large-scale systems;
(iii) a novel monitoring architecture that, by combining a hierarchical approach with decentralized monitors, addresses the challenge of intra-cluster monitoring in large-scale systems;
(iv) an adaptive algorithm for big data monitoring that improves scalability and guarantees high reliability in capturing relevant load changes;
(v) a novel hybrid monitoring architecture that strives to obtain high scalability, effectiveness and resilience, as well as the possibility of monitoring services spanning across different clusters or even different data centers in Ultra-Large-Scale systems.
|