Elektron is a lightweight, power-aware, pluggable Mesos framework that behaves as a playground to experiment with different scheduling policies to schedule ad-hoc jobs in docker containers.
This repository has been archived on 2024-04-10. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
2016-12-22 22:58:58 -05:00
pcp PCP is now controlled by main scheduler. It will start recording upon the acceptance of the very first offer. pcp is now it's own package. README has been updated with instructions on how to create workloads and running instructions. 2016-12-22 22:58:58 -05:00
config basic configuration for pcp 2016-12-22 22:58:58 -05:00
metrics.go PCP code is now able to deal with receiving information asynchronously from pmdumptext 2016-12-22 22:58:58 -05:00
README.md PCP is now controlled by main scheduler. It will start recording upon the acceptance of the very first offer. pcp is now it's own package. README has been updated with instructions on how to create workloads and running instructions. 2016-12-22 22:58:58 -05:00
scheduler.go PCP is now controlled by main scheduler. It will start recording upon the acceptance of the very first offer. pcp is now it's own package. README has been updated with instructions on how to create workloads and running instructions. 2016-12-22 22:58:58 -05:00
states.go Scheduler now has a first fit algorithm based on memory, cpu, and watts. Watts need to be set by the user but should be calculated through heuristics. Framework now also works by having a set of tasks and launching them. 2016-12-22 22:58:58 -05:00
task.go Fixed deadlock issue while running a large number of benchmarks. Changed names of tasks to indicate what they are running. Added name to task schema to append it to the name more easily. 2016-12-22 22:58:58 -05:00
workload_1.json Electron now launches a series of benchmarks and then shuts down when everything has been sucessfully scheduled 2016-12-22 22:58:58 -05:00

Electron: A power budget manager

To Do:

** Requires Performance-Copilot tool pmdumptext **

How to run:

./electron -workload <workload.json>

Workload schema:

[
   {
      "name": "minife",
      "cpu": 3.0,
      "ram": 4096,
      "watts": 50,
      "image": "gouravr/minife:v5",
      "cmd": "cd src && mpirun -np 1 miniFE.x -nx 100 -ny 100 -nz 100",
      "inst": 9
   },
   {
      "name": "dgemm",
      "cpu": 3.0,
      "ram": 4096,
      "watts": 50,
      "image": "gouravr/dgemm:v2",
      "cmd": "/./mt-dgemm 1024",
      "inst": 9
   }
]