Master's Thesis
Multi-step Function-as-a-Service application profiler
— 2023
Key information
Authors:
Supervisors:
Published in
November 14, 2023
Abstract
Hoje em dia tem havido muitos desafios sobre como analisar e otimizar funções de Serverless Computing por forma a melhorar o desempenho. O principal objetivo deste trabalho é desenvolver uma nova ferramenta, chamada Profiler, cujo objetivo é analisar diferentes parâmetros, recolher informação durante várias execuções de diferentes aplicações e guardar numa base de dados para mais tarde serem utilizadas para análise. Muitos estudos anteriores focam-se em problemas como a ordenação de funções, cold-starts e transferências e partilha de dados, por forma a encontrar o desempenho ótimo da aplicação. Diferentes tipos de informação, como operações de leitura e escrita, mas também tempos de início e de finalização são recolhidos durante as execuções, guardados numa base de dados para mais tarde serem utilizados para gerar dependências. Dependências de dados estão relacionados com dados produzidos por certos componentes da aplicação e que são utilizados por outros. Dependências de execução estão relacionados com a ordem de execução dos diferentes componentes. O Profiler começa por obter toda a informação recolhida para gerar dependências, sendo estas guardadas na mesma base de dados. O Profiler e as aplicações foram testados por forma a verificar os seus desempenhos. O número de execuções foi alterado por forma a verificar se afetava o desempenho. O tamanho dos dados de input foi também alterado por forma a perceber os problemas de transferências. Por fim o número de componentes foi também alterado para perceber as diferenças. A conclusão do estudo explica os diferentes resultados obtidos bem como a estrutura final do Profiler. Nowadays, cloud computing is evolving into Function-as-a-Service (FaaS). With FaaS, applications are now composed of simple functions executing small code. These single logic units (functions) call and pass arguments to each other in a call graph commonly referred to as a workflow. However, in this new FaaS programming model, where applications are split into multiple functions that execute separately (potentially in different nodes), traditional application optimizations cannot be applied due to the lack of a holistic component that monitors and finds optimization opportunities along the data and control planes. To solve this problem, we need to find another way to analyze and optimize FaaS workflows. This work proposes a new solution, the profiler, whose main purpose is to collect information about workflows and applications. This new component will analyze various metrics about the application such as function placement, control flow, data flow, and database accesses and operations. Then, all this information will be stored in a database to later be analyzed by the profiler in order to identify the overheads.
Publication details
Authors in the community:
Diogo Miguel Bernardo dos Santos
ist191054
Supervisors of this institution:
Rodrigo Fraga Barcelos Paulus Bruno
ist167074
RENATES TID
203766504
Degree Name
Mestrado em Engenharia Informática e de Computadores
Fields of Science and Technology (FOS)
electrical-engineering-electronic-engineering-information-engineering - Electrical engineering, electronic engineering, information engineering
Keywords
- Serverless
- Profiler
- FaaS
- Otimização
- Cloud
- Profiling
Publication language (ISO code)
eng - English
Rights type:
Embargo lifted
Date available:
September 27, 2024
Institution name
Instituto Superior Técnico