soc-capacity-based-scheduler-with-dds

This project aims to implement a dynamic scheduler to extend the lifecycle of a cluster by taking into account the State of Charge of their devices and meeting service requirements.

https://github.com/alexllor1991/soc-capacity-based-scheduler-with-dds

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: mdpi.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

This project aims to implement a dynamic scheduler to extend the lifecycle of a cluster by taking into account the State of Charge of their devices and meeting service requirements.

Basic Info
  • Host: GitHub
  • Owner: alexllor1991
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 245 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 5 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

README.md

SOC and Capacity-based Scheduler (SOCCS) with DDS

This project aims to implement a dynamic scheduler to extend the lifecycle of a cluster by taking into account the State of Charge of their devices and meeting service requirements. Additionally, it incorporate a DDS module to exchange information in a multi-cluster environmment. The results of this project have been published in the paper entitled "An Energy-Friendly Scheduler for Edge Computing Systems" which can be found in the following link:

Article link: https://www.mdpi.com/1424-8220/21/21/7151

If you use this solution in your work, please cite it as 1.

Reference

[1] Llorens-Carrodeguas, A.; G. Sagkriotis, S.; Cervelló-Pastor, C.; P. Pezaros, D. "An Energy-Friendly Scheduler for Edge Computing Systems," Sensors 2021, vol. 21, 7151. https://doi.org/10.3390/s21217151

Steps to deploy a Kubernetes cluster and use SOCCS mechanism

  1. Install kind to simulate a kubernetes cluster and kubectl to manage it.

--Kubectl installation--

sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2 curl

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update

sudo apt-get install -y kubectl

--Kind installation--

Information about Kind here: https://kind.sigs.k8s.io/docs/user/quick-start/

wget https://golang.org/dl/go1.15.3.linux-amd64.tar.gz

tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz

export PATH=$PATH:/usr/local/go/bin

go version #to verify go installation

go get sigs.k8s.io/kind@v0.9.0

-----or-----

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64

chmod +x ./kind

mv ./kind /some-dir-in-your-PATH/kind

  1. Go to cluster folder and run the setup script to create the cluster

sudo ./setup.sh

  1. Go back to My_scheduler folder and run the deploy script

sudo ./deploy.sh 'my-scheduler'

  1. Verify in the dashboard that a deployment and pod named my_scheduler have been created.

  2. An option to the native kubernetes dashboard is Lens Ide. You can downloaded from this link:

https://github.com/lensapp/lens/releases/tag/v4.0.4

  1. After its installation, run the command 'kubectl config view --raw' to get your kubeconfig information. Then, you can add your kubernetes cluster to Lens using that information.

Owner

  • Login: alexllor1991
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this solution, please cite it as below."
preferred-citation:
  type: article
  authors:
  - family-names: "Llorens-Carrodeguas"
    given-names: "Alejandro"
    orcid: "https://orcid.org/0000-0002-4329-7962"
  - family-names: "Sagkriotis"
    given-names: "Stefanos"
    orcid: "https://orcid.org/0000-0001-9438-3636"
  - family-names: "Cervelló-Pastor"
    given-names: "Cristina"
    orcid: "https://orcid.org/0000-0002-8056-0774"
  - family-names: "Pezaros"
    given-names: "Dimitrios"
    orcid: "https://orcid.org/0000-0003-0939-378X"
  title: "An Energy-Friendly Scheduler for Edge Computing Systems"
  doi: "https://doi.org/10.3390/s21217151"
  journal: "Sensors"
  issue: 21
  volume: 21
  year: 2021

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • alexllor1991 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Dockerfile docker
  • python 3 build
My_Scheduler/metrics_server_deploy/docker/Dockerfile docker
  • BASEIMAGE latest build
My_Scheduler/pkg/my-scheduler/Dockerfile docker
  • python 3 build
My_Scheduler/pkg/my-scheduler/requirements.txt pypi
  • kubernetes ==10.0.0
  • numpy *
  • pandas *
  • psutil *
  • rticonnextdds_connector *
  • sklearn *
  • statsmodels *
requirements.txt pypi
  • kubernetes ==10.0.0
  • numpy *
  • pandas *
  • psutil *
  • sklearn *
  • statsmodels *