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:03 -05:00
constants changed the hosts from stratos-00x to stratos-00x.cs.binghamton.edu 2016-12-22 22:59:03 -05:00
def Formatted the code 2016-12-22 22:59:02 -05:00
pcp Added another log message to log the name of the file to which the pcplogs are getting written to. 2016-12-22 22:59:02 -05:00
rapl Sycnrhonized operations that change the value of the cluster wide cap. Added cleverRecap(...) that determines the recap value of the cluster at a much finer level, taking into account the average load on each node in the cluster. Bug fix in cap.go -- closed the session once capping had been done. This prevented from running out of file descriptors. 2016-12-22 22:59:02 -05:00
schedulers fixed bug in cleverRecap(...). Now we switch from the primitive recap to the clever recap as the cap determined by the later would be lesser when the cluster is relatively idle. 2016-12-22 22:59:03 -05:00
utilities Utility data structures and functions. 2016-12-22 22:59:02 -05:00
config basic configuration for pcp 2016-12-22 22:59:01 -05:00
README.md Made a mention to use --help option to get more information about the other command line options 2016-12-22 22:59:02 -05:00
scheduler.go changed extrema to non-extrema. This was done so that proactive cluster wide capping scheme doesn't conflict with the extrema capping scheme. 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 (Use the --help option to get information about other command-line options):

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