Skip to content

Latest commit

 

History

History
86 lines (67 loc) · 5.12 KB

README.md

File metadata and controls

86 lines (67 loc) · 5.12 KB

SeMoDe - Serverless Monitoring and Debugging

Getting Started

SeMoDe is a research prototype investigating different aspects of Serverless computing. The idea is the combination between a simulation and benchmarking environment as already published. Also further research interests, like performance measurement etc., are integrated in this tool to provide a cli tool for different purposes and platforms.

The tool itself is in an early stage and needs feedback and participation of the GitHub community. Feel free to contribute :)

Prerequisites

  1. Install Docker on your machine to be able to use the simulation and benchmarking facility.
  2. For AWS Lambda, create an AWS account and install the CLI.

Setup

  1. Run npm install in src/main/resources/static/js
  2. Run docker-compose up to start the PostgreSQL database
  3. Run gradlew bootRun to start the prototype and access the front page via `http://localhost:8080/setups

Hardware Calibration feature

introduced in V0.4.

This feature computes a linear regression of your used hardware when working on Linux OS. To run the hardware calibration go to the root directory of this project and execute the following commands.

./gradlew bootJar
java -jar -Dspring.main.web-application-type=NONE build/libs/SeMoDe-*.jar hardwareCalibration

This will run the Spring Boot application in CLI mode without starting a web server.

You can configure the calibration via the following properties, default configuration is also specified here:

-Dsemode.hardware.runs=3    # default is 1    - number how often the calibration is executed before computing a linear regression
-Dsemode.hardware.steps=0.4 # default is 0.1  - increments (cpus) which are used to invoke the LINPACK benchmark

Function Templates

Introduced in V1.1.

Since we use a custom response object to generate data about the VM identification in the cloud, the executing machine and other metadata, we included templates in the corresponding folder for AWS lambda functions implemented in Java and JS. When using these templates, a user can benefit from the data collection process and is able to get the most our of their data.

Publications