All Projects → edgerun → faas-sim

edgerun / faas-sim

Licence: MIT license
A framework for trace-driven simulation of serverless Function-as-a-Service platforms

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
Makefile
30231 projects

Projects that are alternatives of or similar to faas-sim

coord-sim
Lightweight flow-level simulator for inter-node network and service coordination (e.g., in cloud/edge computing or NFV).
Stars: ✭ 33 (+0%)
Mutual labels:  simpy, edge-computing
cep
CEP is a software platform designed for users that want to learn or rapidly prototype using standard A.I. components.
Stars: ✭ 140 (+324.24%)
Mutual labels:  edge-computing
Zenoh
zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
Stars: ✭ 182 (+451.52%)
Mutual labels:  edge-computing
ekuiper
Lightweight data stream processing engine for IoT edge
Stars: ✭ 975 (+2854.55%)
Mutual labels:  edge-computing
Neuralet
Neuralet is an open-source platform for edge deep learning models on edge TPU, Jetson Nano, and more.
Stars: ✭ 200 (+506.06%)
Mutual labels:  edge-computing
object-flaw-detector-cpp
Detect various irregularities of a product as it moves along a conveyor belt.
Stars: ✭ 19 (-42.42%)
Mutual labels:  edge-computing
Edge Ai
A curated list of resources for embedded AI
Stars: ✭ 157 (+375.76%)
Mutual labels:  edge-computing
MicrosoftCloudWorkshop-Asia
Microsoft Cloud Workshop Asia for Intelligent Cloud / Intelligent Edge
Stars: ✭ 20 (-39.39%)
Mutual labels:  edge-computing
microblx
microblx: real-time, embedded, reflective function blocks.
Stars: ✭ 37 (+12.12%)
Mutual labels:  edge-computing
SparkFun Edge BSP
BSP and examples to integrate the SparkFun TensorFlow board with the AmbiqSuite
Stars: ✭ 19 (-42.42%)
Mutual labels:  edge-computing
Fastseg
📸 PyTorch implementation of MobileNetV3 for real-time semantic segmentation, with pretrained weights & state-of-the-art performance
Stars: ✭ 202 (+512.12%)
Mutual labels:  edge-computing
FleetSim
Event-based Simulation for Electric Vehicle Fleets
Stars: ✭ 21 (-36.36%)
Mutual labels:  simpy
managed ml systems and iot
Managed Machine Learning Systems and Internet of Things Live Lesson
Stars: ✭ 35 (+6.06%)
Mutual labels:  edge-computing
Deviceplane
Open source device management for embedded systems and edge computing
Stars: ✭ 917 (+2678.79%)
Mutual labels:  edge-computing
duedge-recipes
DuEdge百度边缘网络计算样例代码
Stars: ✭ 25 (-24.24%)
Mutual labels:  edge-computing
Microsoft Rocket Video Analytics Platform
A highly extensible software stack to empower everyone to build practical real-world live video analytics applications for object detection and counting with cutting edge machine learning algorithms.
Stars: ✭ 162 (+390.91%)
Mutual labels:  edge-computing
terraform-google-scheduled-function
Sets up a scheduled job to trigger events and run functions
Stars: ✭ 55 (+66.67%)
Mutual labels:  serverless-computing
EdgeSim
Simulate the real environment, perform edge computing, edge caching experiments
Stars: ✭ 53 (+60.61%)
Mutual labels:  edge-computing
iot-edge-samples
Showcase of various extension scenarios for SAP IoT Edge, intelligent edge computing software that provides "microservices at the edge" for Internet of Things (IoT).
Stars: ✭ 16 (-51.52%)
Mutual labels:  edge-computing
smart-social-distancing
Social Distancing Detector using deep learning and capable to run on edge AI devices such as NVIDIA Jetson, Google Coral, and more.
Stars: ✭ 129 (+290.91%)
Mutual labels:  edge-computing

faas-sim: A trace-driven Function-as-a-Service simulator

Faas-sim is a powerful trace-driven simulation framework to simulate container-based function-as-a-service platforms. It can be used to develop, and evaluate the performance of operational strategies for such systems, like scheduling, autoscaling, load balancing, and others. faas-sim was developed at the Distributed Systems Group at TU Wien as part of a larger research effort surrounding serverless edge computing systems.

High-level architecture

faas-sim is based on the SimPy discrete-event simulation framework. It uses Ether as network simulation layer, and to create cluster configurations and network topologies. By default, it uses the Skippy scheduling system for resource scheduling, but schedulers, autoscalers, and load-balancers can be plugged in by the user. faas-sim is trace-driven, and relies on profiling data from workloads and devices to simulate function execution. It comes pre-packaged with traces from several common computing devices and representative cluster workloads. The following figure shows a high-level overview:

architecture-overview

Run examples

You can run the examples we provide in https://github.com/edgerun/faas-sim/tree/master/examples by first creating a virtual environment and installing the necessary dependencies.

make venv
source .venv/bin/activate
python -m examples.<example>.main

Where example refers to the specific example package. Check out the examples README for more information.

Run notebooks

Notebooks are located in notebooks. You need to install faas-sim in editable state to run the notebooks. Inside notebooks import modules from sim.

To install the project (assuming you already created and activated a virtual environment via make venv):

  pip install -e .
  jupyter notebook

Documentation

You can find the documentation at https://edgerun.github.io/faas-sim/

Maintainers

Related publications

  1. Raith, P. (2021) Container Scheduling on Heterogeneous Clusters using Machine Learning-based Workload Characterization. Diploma Thesis. TU Wien. [Thesis]
  2. Rausch, T., Lachner, C., Frangoudis, P. A., Raith, P., & Dustdar, S. (2020). Synthesizing Plausible Infrastructure Configurations for Evaluating Edge Computing Systems. In 3rd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 20). USENIX Association. [Paper]
  3. Rausch, T., Rashed, A., & Dustdar, S. (2020) Optimized container scheduling for data-intensive serverless edge computing. In Future Generation Computer Systems.. [Paper]
  4. Rashed, A. (2020) Optimized Container Scheduling for Serverless Edge Computing. Diploma Thesis. TU Wien. [Thesis]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].