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
Added unit tests to test code in def/ module.
Currently, AverageNodePowerHistory(...) assumes that the DRAM power
readings are being monitored. In addition, it also assumes that the
host servers are dual socket machines. However, this assumption might
not always hold true. Thus, added a TODO to fix this.
Added support for dependency management using go modules.
Note that Go version 1.11+ is required if using go modules for
dependency management.
Updated the gitlab CI yaml file to use go modules instead of copying
everything to GOPATH. Ran go mod download before running build script to
download all dependencies into cache.
Initialization of the logger happens after all the command-line
arguments are validated. So, in case any of the command-line
arguments were invalid, the log directory is not created.
Retrofitted the driver code and the scheduler builder to only use
the language provided 'log' package as elektron's logger will not
yet be initialized.
Updated point in Usage section to indicate that power capping policies
are pluggable.
Mentioned that it is possible to plug in power capping policies.
Added the commandline option as well.
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.
Added HostKeyCallback to sshConfig. Right now using the
ssh.InsecureIgnoreHost() callback. This returns a function that
in turn returns nil. Note: returning nil would result in acceptance
of any host key. Hence, we need to change this to a callback of our
own implementation.
Fixed the command to run the throttling script. There were spacing
issues. Also, using strings.Join(...) instead of adding spaces in
the string (which is error prone).