Commit graph

28 commits

Author SHA1 Message Date
PRADYUMNA KAUSHIK
e3caa90c31
Refactor imports, Add vendor/ as submodule (#5)
refact imports to github.xxx. update go.mod + go.sum

* removed vendor/ folder

* Added vendor/ submodule.

Moved dependencies that need to be vendored into separate repository.
	- https://github.com/spdfg/elektron-vendor
Added vendor/ as a submodule using the below command.
	- git submodule add https://github.com/spdfg/elektron-vendor vendor
If wanting to use vendor, run the following commands after cloning
elektron.
1. git submodule init
2. git submodule update

* added instructions to clone vendor/ submodule.

* updated module to spdfg. Refactored imports
2019-10-31 14:32:46 -04:00
Renan DelValle
291f4f3979
Adding GPLv3 Licensing. 2018-10-06 20:03:14 -07:00
Pradyumna Kaushik
bcc2b4e4cc Removed Degree of Collocation logger. 2018-10-05 14:11:49 -04:00
Pradyumna Kaushik
aca9dcd185 Added degcol logger to extrema and prog-extrema.
Degree of collocation logger (or task share variance logger) was
only present in pcp.go. Copied that code into extrema and prog-extrema.
Also, exposed visibility of pcp/utils.go#cpuUtilsPerNode(...) and
pcp/utils.go#memUtilsPerNode(...) to public.
2018-10-05 00:38:24 -04:00
Pradyumna Kaushik
c9d4e66236 Powercap policy and PCP config from commandline.
Added command line arguments corresponding to powercapping policy
and pcp config file path.
2018-10-04 19:21:45 -04:00
Pradyumna Kaushik
410a6ef1fa Added pcp config file to Command args. 2018-10-04 14:10:41 -04:00
Pradyumna Kaushik
1e9828c35b Provide pcp config file from commandline.
Taking pcp config file name (or path) from commandline.
In scheduler.go, also checking to see if provided pcp config file
exists. If not, then exitting.
2018-10-04 13:57:35 -04:00
Pradyumna Kaushik
8e87bcb439 Fixed import alias prefix.
Changed the prefix to import aliases to be 'elek' instead of 'elec'.
2018-10-04 13:45:31 -04:00
Renan DelValle
9554bf2666
Runing goimports on project as well as fixing README so that headers render correctly. 2018-09-30 18:23:38 -07:00
Renan DelValle
45f9efa578
Changing imports from bitbucket to gitlab. 2018-09-30 17:56:14 -07:00
Pradyumna Kaushik
5a28f8539a formatted code. 2018-09-23 18:23:37 -04:00
Akash Kothawale
acf9332a50 Comments: Explain what Variance is used for. 2018-09-23 18:16:27 -04:00
Akash Kothawale
2d3158d99a pcp: Remove unused functions 2018-09-23 18:16:17 -04:00
Akash Kothawale
c52bfb08c5 Handle case: host -> slaveID may not be available 2018-09-23 18:16:06 -04:00
Akash Kothawale
9c09321d81 Fix incorrect degColLog file location 2018-09-23 18:14:48 -04:00
Akash Kothawale
39d1cf980c Use existing Mean and Variance functions
Available in github.com/montanaflynn/stats
2018-09-23 18:13:47 -04:00
Akash Kothawale
46be28ef8d pcp: CPU/MEM utilization & task share variance per node 2018-09-23 18:13:28 -04:00
Pradyumna Kaushik
065705d480 Merged in experimentation/schedPolicySwitcher (pull request #1)
Experimentation/schedPolicySwitcher
1. Initial commit for consolidated loggers using observer pattern.
2. class factory for schedulers.
3. Using the scheduling policy class factory in schedulers/store.go and the scheduler builder helpers in schedulers/helpers.go, feature to be able to be able to plug a scheduling policy of your choice from the command line (right now only first-fit and bin-packing are possible. Will be updating the class factory to include other scheduling policies as well.
4. Removed TODO for using generic task sorters. Modified TODO for a config file input to run electron.
5. Added other schedulers to the factory
6. Partially retrofitted the other scheduling policies to use the logging library.
7. Retrofitted extrema and progressive to use the consolidated logging library. Fixed parameter issue with s.base.Disconnected(). Formatted project
8. Move statusUpdate(...) into base.go to remove redundant code.
9. Converted the baseScheduler into a state machine where the state is a scheduling policy that defines an approach to consume resource offers.
10. Added another command line argument to be used to enable switching of scheduling policies. Retrofitted scheduling policies to switch only if the particular feature has been enabled.

changed argument to coLocated(...) to take base type rather than ElectronScheduler type. Also, prepended the prefix to the directory of the logs so that it would be easier to determine what the files in a directory correspond to without viewing the contents of the directory.
Defined methods in ElectronScheduler. Each of these methods corresponds to a type of log that an ElectronScheduler would make. Each of these methods would need to be implemented by the scheduling policy.

Electron has only one scheduler that implements the mesos scheduler interface. All the scheduling policies are just different implementations of ways to consume mesos resource offers. Retrofitted scheduling policies to now embed SchedPolicyState instead of baseScheduler.

Approved-by: Pradyumna Kaushik <pkaushi1@binghamton.edu>
2018-09-23 17:19:28 -04:00
Pradyumna Kaushik
b807625b78 Fixed the comments to be capitalized at the start and also terminate with a period. 2017-09-28 15:36:47 -04:00
Abhishek Jain
85b14e125d Got rid of commented code 2017-03-24 17:28:53 -04:00
Renan DelValle
b73c30a8bf Implemented a scheduling tracer. Logs time date and host:task-ID. Made log prefix more global since it needs to be constant for all log files generated. 2017-01-03 20:30:21 -05:00
Pradyumna Kaushik
bbb83f4197 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
Renan DelValle
c2e2b7e554 Moved schedulers from the main programs to schedulers package. Can now choose different scheduelrs to use. Work on code sharing between schedulers remains to be done. 2016-12-22 22:59:02 -05:00
Renan DelValle
8f9b29cbcb SIGINT is now captured. Linux/MacOS shutdown for pcpdumptext child
processes added to clean up after we finish running. Made all tasks
run on bridged network mode so that benchmarks that heavily utilize
network are protected from eachother. I.e: Tradebeans, tradesoap
2016-12-22 22:59:01 -05:00
Renan DelValle
5dd64f1e16 Added Error state. Fixed bug with tasks returning error because 0.0 watts was requested as a resource. Changed name to be more readable by eliminating electron. PCP logs can now have a prefix. 2016-12-22 22:59:01 -05:00
Renan DelValle
cd430eede0 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:59:01 -05:00
Renan DelValle
4e2a1d99fd Tied metric columns to values, next step will be determining how to store them and retrieve them 2016-12-22 22:59:01 -05:00
Renan DelValle
58c6bfe7a8 PCP code is now able to deal with receiving information asynchronously from pmdumptext 2016-12-22 22:59:01 -05:00