Final Report: GSoC 2024
Organization : SPCL
Mentors: Marcin Copik, Marcin Chrapek
Project: SeBS: Expanded Benchmarks, New Invocation Methods, Workflows & Container Integration
Project Goals:
- Integrate Container Deployment Support for AWS Lambda.
- Integrate new Benchmarks and workflows on SeBS
- Integrate new Invocation methods ( Storage and Queue Based ) This work was already completed before I started working on this.
Project Outcomes:
-
Integrate container Deployment Support in SeBS: Implemented container deployment support for AWS Lambda. This feature enhances SeBS’s capabilities by overcoming limitations such as code size restrictions and enabling the use of larger deployment package thung paving way to benchmark larger functions in AWS Lambda. All the regression tests are completed and documented in this #PR205.
-
Add multi-architecture deployment: Different cloud provide ( like AWS ) provide support for diffremt CPU architectire to run the functions ( arm64 and x86). I intergrated multi-architecture deployment support in SeBS such that users would be able to choose desired architecture on which they wants to run the function. All the regression tests are completed, and detail documentation regarding this work is found in this #PR192.
-
Extending SeBS with Fission Integration: I integrated a new opensource kubernetes based serverless platform "Fission" into SeBS which makes SeBS more versatile and a right tool to compare between different commercial and open source serverless platforms. All the regression tests are completed, and detail documentation is found is this #PR61
-
Add new serverless Benchmarks: I added one new serverless benchmark : OCR ( Optical Character Recognition ) which uses tesseract to extract texts from images.
Left to Do:
- Test OCR benchmark on other platform ( other than Fission ), and with all the supported versions of Python in SeBS.
- Extend OCR benchmark to NodeJs by using ( tesseract.js ) and test for both NodeJS and Python.
Future Improvements:
- Itegrate new and diverse serverless benchmarks.
- Add a new module to extract more information friom serverless ( like memroyt, ram ) etc.
- Support for other languages.
Thank you @SPCL, Marcin Copik, Marcin Chrapek and Google Summer of code for this wonderful opportunity. I learned a lot while working on this project.