LibProf: A Python Profiler for Improving Cold Start Performance in Serverless Applications

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Tariq, Syed Salauddin Mohammad, Zein, Ali Al, Vaidya, Soumya Sripad, Khanolkar, Arati, Roy, Probir
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910491266252800
author Tariq, Syed Salauddin Mohammad
Zein, Ali Al
Vaidya, Soumya Sripad
Khanolkar, Arati
Roy, Probir
author_facet Tariq, Syed Salauddin Mohammad
Zein, Ali Al
Vaidya, Soumya Sripad
Khanolkar, Arati
Roy, Probir
contents Serverless computing abstracts away server management, enabling automatic scaling and efficient resource utilization. However, cold-start latency remains a significant challenge, affecting end-to-end performance. Our preliminary study reveals that inefficient library initialization and usage are major contributors to this latency in Python-based serverless applications. We introduce LibProf, a Python profiler that uses dynamic program analysis to identify inefficient library initializations. LibProf collects library usage data through statistical sampling and call-path profiling, then generates a report to guide developers in addressing four types of inefficiency patterns. Systematic evaluations on 15 serverless applications demonstrate that LibProf effectively identifies inefficiencies. LibProf guided optimization results up to 2.26x speedup in cold-start execution time and 1.51x reduction in memory usage.
format Preprint
id arxiv_https___arxiv_org_abs_2406_11734
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle LibProf: A Python Profiler for Improving Cold Start Performance in Serverless Applications
Tariq, Syed Salauddin Mohammad
Zein, Ali Al
Vaidya, Soumya Sripad
Khanolkar, Arati
Roy, Probir
Software Engineering
Distributed, Parallel, and Cluster Computing
Performance
Serverless computing abstracts away server management, enabling automatic scaling and efficient resource utilization. However, cold-start latency remains a significant challenge, affecting end-to-end performance. Our preliminary study reveals that inefficient library initialization and usage are major contributors to this latency in Python-based serverless applications. We introduce LibProf, a Python profiler that uses dynamic program analysis to identify inefficient library initializations. LibProf collects library usage data through statistical sampling and call-path profiling, then generates a report to guide developers in addressing four types of inefficiency patterns. Systematic evaluations on 15 serverless applications demonstrate that LibProf effectively identifies inefficiencies. LibProf guided optimization results up to 2.26x speedup in cold-start execution time and 1.51x reduction in memory usage.
title LibProf: A Python Profiler for Improving Cold Start Performance in Serverless Applications
topic Software Engineering
Distributed, Parallel, and Cluster Computing
Performance
url https://arxiv.org/abs/2406.11734