This paper is available on arxiv under CC BY-SA 4.0 DEED license.
Authors:
(1) Juan Mera Men´endez;
(2) Martin Bartlett.
As far as we know, and up to this date, there aren’t too many articles seeking to enhance the Java approach with AWS Lambda in the same manner as we do. Nonetheless, there are some similar studies. In [21] Buliani addresses part of the performance issue and proposes and applies a series of techniques incrementally, analyzing the overall improvement step by step. [12] investigates the performance impact of cold start and containerization for Java-based FaaS functions and compares it to an alternative using Python. [2] takes a similar approach, suggesting a variety of ways to enhance the performance of AWS Lambda but without integrating it with Java. In [5] Dowd investigates the overhead and cold start for functions written in Java, attempting to determine the extent to which the findings depend on the programming language.
There are also other studies that have a certain relationship with ours, either because they explore some of the techniques we propose or because they are related with the performance of AWS Lambda. [3], [4] analyze the performance of the various managed runtimes provided by AWS for executing code in different languages on Lambda functions without optimizing it. In [1] Hussachai et al demonstrates how optimizing the Java artifact results in superior performance during the execution of the Lambda function. In [7] evaluate the use of a garbage collector control strategy concerning performance improvement, that is an interesting strategy that we didn’t take in considerationin our study. Related with GraalVM, [8], [10] incorporate this tool with the aim of leveraging the advantage it offers in terms of performance.