The pervasiveness and the growing processing capabilities of mobile and embedded computing systems are leading to a shift from the classical IoT paradigm to the Fog/Edge Computing scenario, where the environment is instrumented with high-performance distributed cyber-physical systems. In such a scenario, the classical static deployment of software services does not suffice because of i) the high dynamicity of the workload with applications entering and leaving the system with an unknown behaviour, based on external requests, and ii) the distributed architecture, which may dynamically change due to nodes' connection/disconnection. This thesis proposes a Runtime Resource Management Middleware (RRMM) for distributed systems in the discussed Fog/Edge Computing scenario. It is devoted to the dynamic distribution of the running applications on the various architectural nodes and on the fine-grained provisioning and tuning of the available processing resources. The RRMM is organized in two layers: the global level, hosted on a central node, has an overall view on the status of the system (architecture and network) and, based on that, decides the most promising mapping for the running and the incoming applications. The local level, running on each processing node, performs a runtime fine-grained tuning of resources to execute the received set of applications, thus consolidating the decisions taken at global level. In order to implement the management decisions at the two levels, the proposed middleware integrates a specific policy, also organized in two levels, which aims at optimizing the power consumption while guaranteeing the QoS requirements of the running applications. Such a policy is tailored to the specific scenario considered in the experimental sessions. Nonetheless, the middleware has been implemented in a modular and customizable way so that it allows the system architect to specify the desired policy to be used at both the global and the local levels to allow the management of the system in order to face with the peculiarities and needs of any different scenario. One of the goals of this thesis has been the prototyping of the envisioned middleware in a real test-bed, based on a distributed networked architecture consisting of various commercial embedded/mobile boards running a representative workload for the smart environment domain. Indeed, another relevant peculiarity of the designed middleware is its high portability, allowing to deploy it easily on a diverse and heterogeneous set of devices. Experimental results validate our proposals, showing how the approach allows for a reduction of power consumption while achieving the desired performance of each application and guaranteeing a re-adaptation of the system to a dynamical workload, accounting also the possible distributed architecture's runtime changes.
La pervasività e la crescente potenza di calcolo dei sistemi mobile ed embedded stanno portando ad un passaggio dal consolidato paradigma IoT ad uno scenario Fog/Edge Computing, in cui dei Cyber-Physical Systems (CPS) ad alte prestazioni sono distribuiti nell'ambiente. In questo scenario, la distribuzione statica dei servizi software non è più sufficiente a causa di i) un'elevata dinamicità del carico di lavoro, con applicazioni che entrano ed escono dal sistema in modo imprevedibile, in base a delle richieste esterne, e ii) un'architettura distribuita che può dinamicamente modificarsi per via della connessione/disconnessione dei nodi. Questa tesi propone un middleware per la gestione dinamica delle risorse, chiamato Runtime Resource Management Middleware (RRMM), in sistemi distribuiti nello scenario di Fog/Edge computing prima menzionato. Il middleware distribuisce dinamicamente le applicazioni in esecuzione sui vari nodi, oltre che a fornire e calibrare a grana fine le risorse di elaborazione disponibili su ciascuno di essi. Il middleware è organizzato su due livelli: il livello globale, in esecuzione su un nodo centrale, ha una visione generale sullo stato del sistema (architettura e rete) e, in base a queste informazioni, decide l'assegnamento più promettente ai nodi connessi delle applicazioni in esecuzione e in arrivo. Il livello locale, in esecuzione su ciascun nodo, esegue un'ottimizzazione dinamica delle risorse per eseguire le applicazioni ricevute su di esso, consolidando così le decisioni prese a livello globale. Al fine di implementare le decisioni di gestione sui due livelli, il middleware proposto integra una specifica politica, anch'essa organizzata su due livelli, che mira ad ottimizzare la potenza utilizzata dal sistema, garantendo al contempo i requisiti di qualità delle applicazioni in esecuzione. Questa politica è stata adattata allo scenario che è stato considerato nelle sessioni sperimentali. Tuttavia, il middleware è stato implementato in modo modulare e personalizzabile, così da permettere di specificare la politica desiderata a livello globale e locale, per consentire una gestione del sistema atta a far fronte alle peculiarità e necessità di scenari diversi. Uno degli obiettivi di questa tesi è anche quello di sviluppare e prototipare il middleware in uno scenario reale, basato su un'architettura distribuita in rete e costituita da varie schede embedded/mobile, che eseguono delle applicazioni rappresentative per il dominio degli Smart Environments. Pertanto, un'altra rilevante peculiarità del middleware proposto è la sua elevata portabilità, che consente di installarlo facilmente su un insieme vario ed eterogeneo di dispositivi. I risultati sperimentali hanno convalidato le nostre proposte, mostrando come l'approccio consenta una riduzione della potenza utilizzata dal sistema, mantenendo le prestazioni desiderate da ciascuna applicazione e garantendo il riadattamento del sistema a un carico di lavoro dinamico, tenendo conto anche delle possibili modifiche che l'architettura distribuita può subire durante l'esecuzione.
A runtime resource management middleware for distributed heterogeneous embedded systems
CATTANEO, RICCARDO
2017/2018
Abstract
The pervasiveness and the growing processing capabilities of mobile and embedded computing systems are leading to a shift from the classical IoT paradigm to the Fog/Edge Computing scenario, where the environment is instrumented with high-performance distributed cyber-physical systems. In such a scenario, the classical static deployment of software services does not suffice because of i) the high dynamicity of the workload with applications entering and leaving the system with an unknown behaviour, based on external requests, and ii) the distributed architecture, which may dynamically change due to nodes' connection/disconnection. This thesis proposes a Runtime Resource Management Middleware (RRMM) for distributed systems in the discussed Fog/Edge Computing scenario. It is devoted to the dynamic distribution of the running applications on the various architectural nodes and on the fine-grained provisioning and tuning of the available processing resources. The RRMM is organized in two layers: the global level, hosted on a central node, has an overall view on the status of the system (architecture and network) and, based on that, decides the most promising mapping for the running and the incoming applications. The local level, running on each processing node, performs a runtime fine-grained tuning of resources to execute the received set of applications, thus consolidating the decisions taken at global level. In order to implement the management decisions at the two levels, the proposed middleware integrates a specific policy, also organized in two levels, which aims at optimizing the power consumption while guaranteeing the QoS requirements of the running applications. Such a policy is tailored to the specific scenario considered in the experimental sessions. Nonetheless, the middleware has been implemented in a modular and customizable way so that it allows the system architect to specify the desired policy to be used at both the global and the local levels to allow the management of the system in order to face with the peculiarities and needs of any different scenario. One of the goals of this thesis has been the prototyping of the envisioned middleware in a real test-bed, based on a distributed networked architecture consisting of various commercial embedded/mobile boards running a representative workload for the smart environment domain. Indeed, another relevant peculiarity of the designed middleware is its high portability, allowing to deploy it easily on a diverse and heterogeneous set of devices. Experimental results validate our proposals, showing how the approach allows for a reduction of power consumption while achieving the desired performance of each application and guaranteeing a re-adaptation of the system to a dynamical workload, accounting also the possible distributed architecture's runtime changes.File | Dimensione | Formato | |
---|---|---|---|
main.pdf
solo utenti autorizzati dal 05/04/2020
Descrizione: Testo della tesi
Dimensione
4.21 MB
Formato
Adobe PDF
|
4.21 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/147433