Resource provisioning framework for CPU-FPGA environments with adaptive and synergistic HLS-versioning and DVFS
Visualizar/abrir
Data
2023Orientador
Co-orientador
Nível acadêmico
Doutorado
Tipo
Outro título
Framework de provisionamento de recursos para ambientes CPU-FPGA com uso adaptativo e sinérgico de HLS-Versioning e DVFS
Assunto
Abstract
Cloud companies have been exploiting CPU-FPGA collaborative environments to accel erate multi-tenant task requests with scalability and maximize resource utilization. In this scope, tasks may be dispatched to CPU and FPGA concurrently in a scenario with highly variant workloads and target architectures. The main challenge is having a well-balanced resource provisioning that handles these heterogeneous workloads efficiently. In addition to smart provisioning, both architectures offer particular ...
Cloud companies have been exploiting CPU-FPGA collaborative environments to accel erate multi-tenant task requests with scalability and maximize resource utilization. In this scope, tasks may be dispatched to CPU and FPGA concurrently in a scenario with highly variant workloads and target architectures. The main challenge is having a well-balanced resource provisioning that handles these heterogeneous workloads efficiently. In addition to smart provisioning, both architectures offer particular optimization techniques to lever age execution benefits. On the CPU side, the Dynamic Voltage and Frequency Scaling (DVFS) technique is a complementary alternative to boost energy savings. On the FPGA side, High-Level Synthesis (HLS) offers a simple exploration of hardware optimizations through code annotations, resulting in multiple design versions with the same function ality, each with variant latency, power, and area. We call this property HLS-Versioning, which opens up space to explore designs optimized for specific warehouse status. Despite the widespread use of DVFS and HLS-Versioning, these have never been synergistically exploited to improve resource provisioning advantages. For that, this thesis proposes RAHD, a framework that bridges the gap between these techniques to achieve maximum performance and energy savings in CPU-FPGA Cloud. RAHD uses HLS-Versioning to select optimized task designs to cover clients’ requests at runtime (i.e., either for perfor mance or energy optimization). Then, it adopts an arbiter that automatically selects the most suitable provisioning strategy to distribute the tasks based on the workload/architec ture properties. Finally, it uses DVFS without affecting the workload’s makespan. All the optimizations are employed in an adaptive fashion and are end-user transparent (i.e., no intervention by the end-user is required). Our experiments show that RAHD outperforms a standard provisioning strategy, delivering, on average, 15.11x performance and 50.05x energy improvements. Compared to an Oracle that always selects the best provisioning strategies, RAHD shows, at most, 4% degradation in performance and 7% in energy. ...
Resumo
Empresas da Nuvem têm explorado ambientes colaborativos CPU-FPGA para acelerar solicitações de tarefas de vários inquilinos com escalabilidade e maximizar a utilização de recursos. Nesse escopo, tarefas podem ser despachadas para a CPU e FPGA simultaneamente em um cenário com cargas de trabalho e arquiteturas alvo altamente heterogêneas. Diante disso, o principal desafio é ter um provisionamento de recursos bem equilibrado que lide eficientemente com essas cargas de trabalho heterogêneas. Além ...
Empresas da Nuvem têm explorado ambientes colaborativos CPU-FPGA para acelerar solicitações de tarefas de vários inquilinos com escalabilidade e maximizar a utilização de recursos. Nesse escopo, tarefas podem ser despachadas para a CPU e FPGA simultaneamente em um cenário com cargas de trabalho e arquiteturas alvo altamente heterogêneas. Diante disso, o principal desafio é ter um provisionamento de recursos bem equilibrado que lide eficientemente com essas cargas de trabalho heterogêneas. Além do provisionamento inteligente, ambas as arquiteturas oferecem técnicas de otimização específicas para aproveitar os benefícios de execução. Do lado da CPU, a técnica de Escalonamento Dinâmico de Voltagem e Frequência (DVFS do Inglês Dynamic Voltage and Frequency Scaling) é uma alternativa complementar para impulsionar a economia de energia. Do lado da FPGA, a Síntese de Alto Nível (HLS do Inglês High-Level Synthesis) oferece uma exploração simples de otimizações de hardware por meio de anotações de código, resultando em várias versões de design com a mesma funcionalidade, cada uma com latência, consumo de energia e área variantes. Chamamos essa propriedade de HLS-Versioning, que abre espaço para explorar designs otimizados para estados específicos da Nuvem. Apesar do uso generalizado de DVFS e HLS-Versioning, estes nunca foram explorados de forma sinérgica para melhorar as vantagens do provisionamento de recursos. Para isso, esta tese propõe o RAHD, um framework que une estas técnicas para alcançar o máximo desempenho e economia de energia em ambientes CPU-FPGA da Nuvem. O RAHD usa o HLS-Versioning para selecionar designs de tarefas otimizados para atender as solicitações dos clientes em tempo de execução (ou seja, para otimização de desempenho ou energia). Em seguida, adota um árbitro que seleciona automaticamente a estratégia de provisiona mento mais adequada para distribuir as tarefas com base nas propriedades de carga de trabalho/arquitetura. Por fim, usa o DVFS sem afetar o tempo de conclusão da carga de trabalho. Todas as otimizações são empregadas de forma adaptativa e são transparentes para o usuário final (ou seja, nenhuma intervenção do usuário final é necessária). Nossos experimentos mostram que o RAHD supera uma estratégia de provisionamento padrão, entregando, em média, 15,11 vezes de desempenho e 50,05 vezes de melhorias de ener gia. Em comparação com um oráculo que sempre seleciona as melhores estratégias de provisionamento, o RAHD mostra, no máximo, uma degradação de 4% no desempenho e 7% na energia. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Programa de Pós-Graduação em Computação.
Coleções
-
Ciências Exatas e da Terra (5129)Computação (1764)
Este item está licenciado na Creative Commons License