Master's Thesis

Multi-step Function-as-a-Service application profiler

Diogo Miguel Bernardo dos Santos — 2023

Key information

Authors:

Diogo Miguel Bernardo dos Santos (Diogo Miguel Bernardo dos Santos)

Supervisors:

Rodrigo Fraga Barcelos Paulus Bruno (Rodrigo Fraga Barcelos Paulus Bruno)

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:

Supervisors of this institution:

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