Skip to content

Releases: johannes-manner/SeMoDe

A Simulation Framework for Function as a Service

26 Jul 13:39
b873394
Compare
Choose a tag to compare

This is the final code release for the PhD project on "A Simulation Framework for Function as a Service".
Supporting material for generating plots, tables, diagrams etc. are archived at Zenodo, 10.5281/zenodo.7447912

Resource Scaling Strategies for Open-Source FaaS Platforms compared to Commercial Cloud Offerings

30 Mar 09:45
3c49d89
Compare
Choose a tag to compare

This is a snapshot of the source code used for generating the experimental data presented in the paper of the same name.
Furthermore, we document the installation of OpenFaaS on a single node deployed on K3s, a lightweight K8s distribution.

Installation of OpenFaaS:

  1. Install Docker on your machine
  2. Install K3s
curl -sfL https://get.k3s.io/ | sh -

Update K8s configuration and store it in the default directory:

sudo kubectl config view --raw > ~/.kube/config

Change the permissions of the rancher yaml, otherwise you will get an error on some machine, follow also this guide here.

 sudo chmod 744 /etc/rancher/k3s/k3s.yaml
  1. Install OpenFaaS
export TIMEOUT=2h

arkade install openfaas \
  --set gateway.upstreamTimeout=$TIMEOUT \
  --set gateway.writeTimeout=$TIMEOUT \
  --set gateway.readTimeout=$TIMEOUT \
  --set faasnetes.writeTimeout=$TIMEOUT \
  --set faasnetes.readTimeout=$TIMEOUT \
  --set queueWorker.ackWait=$TIMEOUT

Rollout of the gateway and port-forwarding

kubectl rollout status -n openfaas deploy/gateway

kubectl port-forward -n openfaas svc/gateway 8080:8080 &

Store the credentials within the current bash session.

PASSWORD=$(kubectl get secret -n openfaas basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode; echo)

echo -n $PASSWORD | faas-cli login --username admin --password-stdin

Uninstall OpenFaaS

Using helm therfore: https://artifacthub.io/packages/helm/openfaas/openfaas/6.0.2

helm delete openfaas --namespace openfaas

kubectl delete namespace openfaas openfaas-fn

kill $(fuser 8080/tcp)

/usr/local/bin/k3s-uninstall.sh

An update of the technical report which includes the new OpenFaaS functionalities will also follow.
We executed the benchmarks locally on the machine via bash scripts since the timeouts of the system made trouble (an undeployment of a function on OpenFaaS was only possible after the specified timeout. Therefore we configured the function accordingly and used bash scripts to execute the functions and log the infos in text files. For the integration into our research prototype, we implemented a small web service to transfer the experiment data to the research prototype - more information can be found in the update technical report.

If you have any questions regarding the integration of SeMoDe with the OpenFaaS experiment data, feel free to contact me.

v1.1 - TechRep release

17 Nov 17:44
Compare
Choose a tag to compare

Added some features the last weeks to the research prototype when conducting the SLR mentioned in the technical report.
SLR and technical report are attached to this version.

20211118_slr.xlsx
20211118_slr-bib-files.zip
fisba52238.pdf

V1.0

26 Jul 13:07
Compare
Choose a tag to compare

This is the first production-ready release and contains the source code and features described in the technical report following in the next weeks.

Why a lot of Benchmarks might be Compromised

14 Apr 16:32
Compare
Choose a tag to compare

Enables an independent calibration of your hardware via LINPACK benchmark functionality.

R.zip
utilization.txt

Optimizing Cloud Function Configuration via Local Simulations

10 Apr 15:44
Compare
Choose a tag to compare

This release tackles the simulation options presented in our research roadmap.
All data and scripts are included to reproduce the experiments.
dataAndR.zip
aws-java-prime.zip
aws-js-fibonacci.zip
fibonacci-local.zip
linpack-calibration.zip

Impact of Application Load in Function as a Service

14 Mar 12:26
1d15f75
Compare
Choose a tag to compare

The input files and parameters (readme.md) to reproduce the experiment mentioned in the paper.

Cold Start Influencing Factors in Function as a Service (v0.1)

10 Oct 13:38
db6c555
Compare
Choose a tag to compare

Scope

This release includes the source code of our utitlity on the time of performing the experiments and the data extraction. It inlcudes the data for a paper accepted at the 4th Workshop on Serverless Computing (WoSC)
https://www.serverlesscomputing.org/wosc4/. It also includes the R script to reproduce the box plots and also to play around with our collected data.