Our major work in September is to complete the final version of the paper. Links to download:
We will next briefly introduce the test cases in the current version and the following plans of the project:
Two-stage ALU application.
This test case features a CPU-intensive ALU application with two execution phases: In the first phase, it connects to S3 and requests for a number N (Load configuration phase); in the second phase, 100 threads are spawned to conduct arithmetic calculations and loop for N times (Compute phase).
Parallelable ALU application
This test case features a CPU-intensive ALU application with parallelizable core handling logic. Three versions are presented to analyze parallelization in serverless computing: no-parallel version; instance-parallel version; in-function-parallel version.
Long function chain application
This test case includes the Array Sum application, a serverless application with a configurable number of chained functions. Two versions of the application are provided, implemented with the sequence function chain method and the nested function chain method, respectively.
Realworld applications
This test case includes four real-world serverless applications: Image processing, Alexa skill, Online-compiling, and Data analysis.
Data transfer costs
This test case presents a Node.js serverless application that transfers images with different sizes (the payload size) between two functions. We provide the application to be evaluated on three serverless platforms: OpenWhisk, Fn, AWS Lambda.
Startup breakdown
This test case includes serverless functions with different language runtimes, which can be used to analyze the startup performance of multiple platforms. The applications can be evaluated on two serverless platforms: OpenWhisk, Fn.
Sandbox comparison
A simple Hello function and a more complex serverless function are provided in Python, Ruby, and Node.js.
Function size
The application consists of Python functions with varying package sizes, constructed by packing the handler codes with different dependency packages.
Concurrent startup
Simple Hello functions in C and Java are provided to evaluate the startup latencies when invoked concurrently.
Stateless costs
A Java ImageResize function is provided to analyze the impact of losing implicit states (e.g., JIT profiles) in serverless computing's "stateless" nature.
The short-term plans mainly include two parts:
If there is any problem or requirement, welcome to contact us through the Github (issue) or email.