
Being SMART: A Multi‑Objective Framework for Executing Bag‑of‑Tasks Workloads in the Cloud
Resumo:
Recentemente, a computação em nuvem tornou‑se a principal plataforma para a execução de aplicações científicas, industriais e corporativas, por oferecer acesso a uma ampla variedade de recursos computacionais por meio de modelos de precificação sob demanda. Apesar dessas vantagens, a comunidade de computação de alta performance (HPC) permanece relutante em migrar para a nuvem, pois suas aplicações historicamente dependem de grandes infraestruturas locais fortemente acopladas, implicando em altos custos de execução na nuvem. Uma alternativa potencialmente mais barata é o uso de instâncias Spot, por meio das quais provedores de nuvem oferecem capacidade ociosa com descontos significativos (até 90%), em contrapartida, podendo revogá-las sempre que a capacidade for necessária em outro lugar. Como resultado, a adoção prática da nuvem por usuários de HPC continua limitada por desafios como a heterogeneidade de tipos de instância, disponibilidade variável de capacidade, interrupções imprevisíveis e o custo de sincronizar dados entre a nuvem e o armazenamento local. Esta dissertação apresenta uma avaliação inicial de um framework de três fases proposto para Selecionar e escalonar instâncias, Monitorar e migrar aplicações HPC, levando em conta a disponibilidade (Availability) das instâncias, Repatriando resultados e buscando atender ao objetivo (Target) de custo‑desempenho do usuário (o framework SMART). Uma fase inicial de perfilamento offline constrói modelos de desempenho e de custo para a aplicação do usuário. A segunda fase utiliza esses modelos para identificar múltiplas configurações Pareto‑ótimas na nuvem, a partir das quais o usuário escolhe a opção que melhor atende ao tempo de execução e ao custo desejados. Esse requisito de qualidade de serviço orienta o SMART a escalonar o conjunto ideal de instâncias, considerando a disponibilidade atual dessas instâncias. Por fim, durante a fase de execução, o framework é capaz de adaptar o escalonamento da aplicação, quando necessário, utilizando uma ferramenta que estima o tempo restante de execução e um mecanismo de sincronização que sobrepõe a computação e a transferência de dados, para atender às exigências de soberania de dados e garantir que o estado da aplicação seja preservado em caso de revogações de instâncias Spot.
Abstract:
Over the past decade, cloud computing has become a dominant platform for running scientific, industrial, and enterprise applications, offering elastic access to a wide range of computational resources and capacities through flexible pay‑as‑you‑go pricing models. Despite these advantages, the High Performance Computing (HPC) community remains reluctant to migrate to the cloud, as HPC applications have historically relied on large, tightly coupled local infrastructures, and even the cloud’s cheaper long‑term contracts are often considered expensive when compared with the costs of maintaining local computing facilities. A potentially cheaper alternative is to use Spot instances, where cloud providers offer spare capacity at significantly discounted prices (up to 90%) but can reclaim the capacity whenever it is needed elsewhere. As a result, practical cloud adoption by HPC users remains limited by challenges such as heterogeneous instance types, variable instance availability, unpredictable interruptions, and the overhead of synchronizing data between the cloud and on-premises storage. This dissertation presents an initial evaluation of a proposed three-phase framework to effectively Select and schedule instances, Monitor and migrate HPC applications, while accounting for instance Availability, Repatriating results, and attempting to meet the user’s Target cost-performance objective (the SMART framework) using both On-demand and Spot instances. An initial one-off offline profiling phase builds performance and cost models for the user’s application. The second phase uses these models to identify multiple Pareto-optimal cloud configurations from which the user selects an option that best matches their desired execution time and cost. This quality of service requirement guides SMART to schedule the ideal set of instances, given their current availability. Finally, during the execution phase, the framework is able to adjust and adapt the application schedule, if necessary, by leveraging a tool to estimate the remaining runtime of jobs and a synchronization mechanism that transparently overlaps computation with data transfer to efficiently meet data sovereignty requirements while ensuring that application state is safely preserved in the event of spot revocations.
Banca examinadora:
Profa. Lúcia Maria de Assumpção Drummond, UFF
Prof. Eugene Francis Vinod Rebello, UFF
Prof. José Viterbo Filho, UFF
Profa. Aletéia Patricia Favacho de Araújo Von Paumgartten, UnB