Skip to content

This repository contains various optimizations for resource management techniques. Leveraging the `faas` project makes them ready-to-use for real-world clusters and simulations at the same time.

License

Notifications You must be signed in to change notification settings

edgerun/faas-optimizations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Edgerun FaaS Optimizations

Python 3.9+

This repository contains various optimizations for resource management techniques. Leveraging the faas project makes them ready-to-use for real-world clusters and simulations at the same time. This project collects different strategies for solutions around: scheduling, scaling and load balancing. It is meant to serve as a central ("market")place to implement and provide novel resource management techniques. The main goal is to provide mix & match components to conveniently evaluate different strategies.

Therefore, this project will contain only bare-minimum execution/test code. This project is intended to be used as dependency when performing sophisticated real-world evaluations or simulations.

Install

To install all dependencies, run:

make venv

Run

TODO

Project Structure

All code is contained in the faasopts module. Currently, we focus on the three main resource management techniques: autoscaling, scheduling and load balancing. You can find implemented approaches in the respective module, but we provide information for each in the following.

Autoscalers

This autoscaler replicates the behavior of the official Kubernetes Horizontal Pod Autoscaler. Originally, HPA only supported CPU-based scaling but has been extended to include various custom metrics. To this end, we implement different variants of this autoscalers. For example, we provide a HPA implementation that is CPU-based (HCPA) and one that takes the latency as metric (HLPA).

You can find the base HPA class and both implementations in the faasopts.autoscalers.k8s.hpa.global module.

Schedulers

TODO

Load balancing

TODO

About

This repository contains various optimizations for resource management techniques. Leveraging the `faas` project makes them ready-to-use for real-world clusters and simulations at the same time.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published