The High Performance Computing (HPC) systems typically include a large number of computing resources - CPUs, GPUs, etc. As a consequence, we must face with the problem of an effective utilization of them. In addition, we cannot avoid from taking into account power saving and thermal management strategies. The overall picture is made more complex by the fact that modern systems are affected by decreasing level of reliability. For all these reasons, we need effective and poorly invasive resource management mechanisms and policies to address these issues. Moreover, HPC systems need specific parallel programming paradigms, among these one of the most widespread is Message Passing Interface (MPI). This thesis presents an extension of the Open MPI implementation, called mig to transparently support the migration of application processes. This mechanism may be driven by a resource manager and in this work an example of exploitation based on the Barbeque Run-Time Resource Manager is proposed. This approach allows us also to overcome a limitation of the MPI paradigm. In fact, once the application is launched it is no more possible to redefine the assignment of computing resource at run-time. This represents also limitation from the point of view of effective usage of the resources and implementation of fault-tolerance strategies. The mig extension introduces more flexibility by enabling a more fine grained workload allocation, through the possibility of performing process migration. In this regard, a lot of migration techniques are already available in literature, but they suffer from the lack of transparency with respect to the application. In the past, Open MPI had fault-tolerance support based on Checkpoint/Restart techniques, but they were subsequently removed due to hard maintainability requirements. In this thesis we propose the mig framework as an Open MPI extension that overcomes the aforementioned issues in terms of transparency and poor maintainability. The implementation of a resource allocation policy for the BarbequeRTRM is also proposed as an example of exploitation of the framework.

I sistemi High Performance Computing (HPC) sono tipicamente caratterizzati da un gran numero di risorse - CPU, GPU, ecc - implicando, di conseguenza, la necessità di affrontare il problema di una loro efficace utilizzazione. In aggiunta a ciò, non è possibile ignorare le strategie di risparmio energetico e dissipazione del calore essenziali in ambiente HPC. Questo quadro è reso ancora più complesso dal fatto che i moderni sistemi sono caratterizzati da un livello decrescente di affidabilità. Per tutte queste ragioni, meccanismi e politiche poco invasive di gestione delle risorse diventano essenziali al fine di risolvere i problemi presentati. Proprio a causa della loro natura distribuita, i sistemi HPC utilizzano paradigmi di programmazione parallela, tra i quali annoveriamo uno dei più utilizzati: Message Passing Interface (MPI). Questa tesi presenta un'estensione dell'implementazione Open MPI, chiamata mig, al fine di supportare in modo trasparente la migrazione di processi di un'applicazione. Questo meccanismo è integrabile con un gestore delle risorse e in questo lavoro ne viene proposto uno basato su Barbeque Run-Time Resource Manager. Questo approccio ci consente di superare la limitazione di MPI che impedisce la ridefinizione dell'assegnamento delle risorse computazionali a runtime una volta che l'applicazione è stata lanciata. Ciò rappresenta anche una limitazione sia per quanto concerne l'implementazione di strategie di resilienza ai guasti, sia nei riguardi dell'uso efficace delle risorse. L'estensione mig aumenta la flessibilità introducendo una granularità più fine di allocazione del carico di lavoro, attraverso la possibilità di eseguire la migrazione dei processi. A tal proposito, in letteratura esistono già molte tecniche di migrazione, ma mancano principalmente di trasparenza rispetto all'applicazione. In passato in Open MPI esisteva un supporto per la tolleranza ai guasti basato su tecniche di Checkpoint/Restart, ma fu successivamente rimosso a causa della difficile manutenibilità. In questa tesi proponiamo il framework mig come un'estensione di Open MPI per risolvere i problemi precedentemente descritti, in particolare in termini di trasparenza e manutenibilità. L'implementazione di una politica di allocazione delle risorse per BarbequeRTRM è proposta come un possibile caso d'uso del framework.

Enabling and exploiting process-level task migration in Open MPI with BarbequeRTRM

REGHENZANI, FEDERICO
2015/2016

Abstract

The High Performance Computing (HPC) systems typically include a large number of computing resources - CPUs, GPUs, etc. As a consequence, we must face with the problem of an effective utilization of them. In addition, we cannot avoid from taking into account power saving and thermal management strategies. The overall picture is made more complex by the fact that modern systems are affected by decreasing level of reliability. For all these reasons, we need effective and poorly invasive resource management mechanisms and policies to address these issues. Moreover, HPC systems need specific parallel programming paradigms, among these one of the most widespread is Message Passing Interface (MPI). This thesis presents an extension of the Open MPI implementation, called mig to transparently support the migration of application processes. This mechanism may be driven by a resource manager and in this work an example of exploitation based on the Barbeque Run-Time Resource Manager is proposed. This approach allows us also to overcome a limitation of the MPI paradigm. In fact, once the application is launched it is no more possible to redefine the assignment of computing resource at run-time. This represents also limitation from the point of view of effective usage of the resources and implementation of fault-tolerance strategies. The mig extension introduces more flexibility by enabling a more fine grained workload allocation, through the possibility of performing process migration. In this regard, a lot of migration techniques are already available in literature, but they suffer from the lack of transparency with respect to the application. In the past, Open MPI had fault-tolerance support based on Checkpoint/Restart techniques, but they were subsequently removed due to hard maintainability requirements. In this thesis we propose the mig framework as an Open MPI extension that overcomes the aforementioned issues in terms of transparency and poor maintainability. The implementation of a resource allocation policy for the BarbequeRTRM is also proposed as an example of exploitation of the framework.
MASSARI, GIUSEPPE
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-set-2016
2015/2016
I sistemi High Performance Computing (HPC) sono tipicamente caratterizzati da un gran numero di risorse - CPU, GPU, ecc - implicando, di conseguenza, la necessità di affrontare il problema di una loro efficace utilizzazione. In aggiunta a ciò, non è possibile ignorare le strategie di risparmio energetico e dissipazione del calore essenziali in ambiente HPC. Questo quadro è reso ancora più complesso dal fatto che i moderni sistemi sono caratterizzati da un livello decrescente di affidabilità. Per tutte queste ragioni, meccanismi e politiche poco invasive di gestione delle risorse diventano essenziali al fine di risolvere i problemi presentati. Proprio a causa della loro natura distribuita, i sistemi HPC utilizzano paradigmi di programmazione parallela, tra i quali annoveriamo uno dei più utilizzati: Message Passing Interface (MPI). Questa tesi presenta un'estensione dell'implementazione Open MPI, chiamata mig, al fine di supportare in modo trasparente la migrazione di processi di un'applicazione. Questo meccanismo è integrabile con un gestore delle risorse e in questo lavoro ne viene proposto uno basato su Barbeque Run-Time Resource Manager. Questo approccio ci consente di superare la limitazione di MPI che impedisce la ridefinizione dell'assegnamento delle risorse computazionali a runtime una volta che l'applicazione è stata lanciata. Ciò rappresenta anche una limitazione sia per quanto concerne l'implementazione di strategie di resilienza ai guasti, sia nei riguardi dell'uso efficace delle risorse. L'estensione mig aumenta la flessibilità introducendo una granularità più fine di allocazione del carico di lavoro, attraverso la possibilità di eseguire la migrazione dei processi. A tal proposito, in letteratura esistono già molte tecniche di migrazione, ma mancano principalmente di trasparenza rispetto all'applicazione. In passato in Open MPI esisteva un supporto per la tolleranza ai guasti basato su tecniche di Checkpoint/Restart, ma fu successivamente rimosso a causa della difficile manutenibilità. In questa tesi proponiamo il framework mig come un'estensione di Open MPI per risolvere i problemi precedentemente descritti, in particolare in termini di trasparenza e manutenibilità. L'implementazione di una politica di allocazione delle risorse per BarbequeRTRM è proposta come un possibile caso d'uso del framework.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2016_09_Reghenzani.PDF

Open Access dal 17/09/2017

Descrizione: Testo della tesi
Dimensione 4.23 MB
Formato Adobe PDF
4.23 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/126367