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:59:02 -05:00
constants Defined constants that help in scheduling of tasks. 2016-12-22 22:59:02 -05:00
def Added TaskID as a field. Added a function UpdateHost() to update the host on which the task runs. Added a setter for TaskID. Added a comparator called Compare() that compares to instances of Task 2016-12-22 22:59:02 -05:00
pcp changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
rapl Go FMT run on entire project 2016-12-22 22:59:02 -05:00
schedulers changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
config basic configuration for pcp 2016-12-22 22:59:01 -05:00
README.md More documentation 2016-12-22 22:59:01 -05:00
scheduler.go scheduler is now an instance of ProactiveClusterwideCapFCFS 2016-12-22 22:59:02 -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:59:01 -05:00

Electron: A power budget manager

To Do:

Requires Performance-Copilot tool pmdumptext to be installed on the machine on which electron is launched for logging to work

How to run:

./electron -workload <workload.json> -ignoreWatts <true or false>

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
   }
]