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 Proactive cluster wide capper that defines two types of schedulers. First fit scheduling, that uses running average of task.Watts to calculate the cluster wide cap, and Ranked based cluster wide capper that ranks the tasks (sorts) based on the watts required and then performs fcfs in the sorted order. 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
   }
]