Commit graph

555 commits

Author SHA1 Message Date
Abhishek Jain
34a9c89e45 Added a TODO regarding handling the powerclass not being configured on a node condition 2017-03-25 20:34:58 -04:00
Abhishek Jain
de7e73ff50 Changed a log message in the UpdateEnvironment(..) func. 2017-03-25 20:27:40 -04:00
Abhishek Jain
e01c7b1b1d Retrofitted all the schedulers to call UpdateEnvironment(..) function instead of the old named function i.e AddHostIfNew(..) 2017-03-25 18:06:39 -04:00
Abhishek Jain
8eddad4e17 Changed the function name from AddHostIfNew(..) to UpdateEnvironment(..) based on a comment in the PR 2017-03-25 18:05:36 -04:00
Abhishek Jain
85b14e125d Got rid of commented code 2017-03-24 17:28:53 -04:00
Abhishek Jain
9546529f80 Corrected a spelling mistake in a print statement 2017-03-24 17:13:21 -04:00
Abhishek Jain
1915e589cd Made a tiny change in the logging message in AddHostIfNew(..) function 2017-03-24 17:03:29 -04:00
Abhishek Jain
ca24706582 Removed the tag TODO from a TODO 2017-03-24 16:53:27 -04:00
Abhishek Jain
02aa1fac3c Removed a TODO which is basically this current PR 2017-03-24 16:40:14 -04:00
Abhishek Jain
6665ff4776 Fixed a bug. 2017-03-24 16:36:42 -04:00
Abhishek Jain
abc718b554 Performed a git fmt 2017-03-24 16:34:17 -04:00
Abhishek Jain
10358b418b Added a space before { 2017-03-24 16:31:49 -04:00
Abhishek Jain
b4f9a989cb Retrofitted all the schedulers to now call the offerutils.AddHostIfNew(..) utility function which will dynamically populate the constants.Hosts and constants.PowerClasses. 2017-03-24 16:28:49 -04:00
Abhishek Jain
841c7d5ee8 Added AddHostIfNew(..) utility function which is responsible to populate the constants.Hosts and constants.PowerClasses 2017-03-24 16:27:14 -04:00
Abhishek Jain
ed8799566b Removed the hardcoded nodes and their powerclasses from the PowerClasses map as now it will populated dynamically 2017-03-24 16:25:24 -04:00
Abhishek Jain
ee94e13d86 Updated a TODO from the list of TODOs, changed the usage of running electron with Watts as a resource and updated the workload schema 2017-03-23 22:25:35 -04:00
Abhishek Jain
aed4fd1073 Retrofitted all schedulers to now pick the hostname from the offer and add it to constants.Hosts 2017-03-23 22:16:05 -04:00
Abhishek Jain
f85ed944f4 Changed the loop as now we are looping over a map and not a slice. 2017-03-23 22:13:29 -04:00
Abhishek Jain
710447cb0d Changed the Hosts from being a slice to a map with the key as hostname and value as a struct which would be an empty struct in order to mimic a set 2017-03-23 22:11:38 -04:00
Abhishek Jain
26c49d4098 Restoring offerUtils. Had deleted this by mistake. 2017-03-23 22:09:51 -04:00
Abhishek Jain
b311ee81f5 Changed the loop as the Hosts is now a map and not a list and now looping over the keys is required. 2017-03-23 22:03:03 -04:00
Abhishek Jain
9365c2e51d Changed the Hosts from list to a set of hosts using a map with key as hostname and value as an empty struct 2017-03-23 22:01:29 -04:00
Pradyumna Kaushik
8b7a57519b Merged in progressiveExtrema (pull request #12)
ProgressiveExtrema

Approved-by: Renan DelValle <rdelval1@binghamton.edu>
Approved-by: ajain13 <ajain13@binghamton.edu>
2017-03-18 23:56:05 +00:00
Pradyumna Kaushik
dd3019735d Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into progressiveExtrema 2017-03-18 19:54:37 -04:00
Pradyumna Kaushik
e608ce4644 Merged in newPowerClasses (pull request #14)
reclassified nodes in the cluster into 4 power classes instead of the original 3. Retrofitted the hybrid schedulers TopHeavy and BottomHeavy to comply with the change classification of nodes"

Approved-by: Renan DelValle
2017-03-14 02:09:31 +00:00
Pradyumna Kaushik
190b395bc3 fixed bug to return []float64{...} as observations rather than one value. 2017-03-13 16:44:52 -04:00
Pradyumna Kaushik
34ab753491 Used the KMeans classification to classify the tasks. 2017-03-13 16:38:53 -04:00
Pradyumna Kaushik
668ae586fe Merge branch 'newPowerClasses' of https://bitbucket.org/sunybingcloud/electron into kmeansTaskClassification 2017-03-10 17:26:39 -05:00
Pradyumna Kaushik
505ccc0471 reclassified nodes in the cluster into 4 power classes instead of the original 3. Retrofitted the hybrid schedulers TopHeavy and BottomHeavy to comply with the change classification of nodes" 2017-03-10 17:03:54 -05:00
Pradyumna Kaushik
41206dd82e refactored name of CapThreshold to LowerCapLimit. Added comment to mention that floating point operations can lead to precision loss. 2017-03-09 19:20:13 -05:00
Pradyumna Kaushik
87bd8d7cf0 Added logging when there is no victim left to cap. 2017-03-09 19:17:06 -05:00
Pradyumna Kaushik
1897678452 Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into kmeansTaskClassification 2017-02-28 15:28:49 -05:00
Pradyumna Kaushik
9eab5db2ea Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into progressiveExtrema 2017-02-28 15:28:06 -05:00
Pradyumna Kaushik
3ea500461d Merged in fixAggregateResourceCheckForBinPacking (pull request #13)
Fixed aggregate check for BinPacking. This had been broken due to a previous merge.

Approved-by: Renan DelValle
Approved-by: Pradyumna Kaushik
2017-02-28 00:04:53 +00:00
Pradyumna Kaushik
c18dd0fa70 formatted 2017-02-27 19:03:36 -05:00
Pradyumna Kaushik
ef8a315e90 fixed aggregate check for BinPacking. This had been broken due to a previous merge. 2017-02-27 18:37:53 -05:00
Pradyumna Kaushik
74eb616a72 the observation that is to be considered for the classification of a task can now be given as a function that takes the task and returns the observations as a slice of float64. Retrofitted the other functions in taskUtils to make use of this feature. 2017-02-25 19:57:01 -05:00
Pradyumna Kaushik
e54697b0dc Added a task utility to be able to cluster tasks into N clusters based on their watts resource requirements. Electron now compatible with Go1.8 and no longer with 1.7. Added TODOs. 2017-02-25 15:43:32 -05:00
Pradyumna Kaushik
9dddc38cad created a utility for tasks that allows for KMeans clustering based on watts resource requirement 2017-02-24 20:52:59 -05:00
Pradyumna Kaushik
2939943afd Made sure that the victim that is capped the most is the one picked to be uncapped. This is to reduce the chances of benchmark starvation. Refined comments and logging. 2017-02-22 20:09:04 -05:00
Pradyumna Kaushik
64de61ac4e added function to initial list of Pairs from a map[string]float64. Removed unnecessary import. 2017-02-22 20:07:48 -05:00
Pradyumna Kaushik
de4e4c0141 removed unnecessary function. 2017-02-21 22:27:08 -05:00
Pradyumna Kaushik
373ba63933 fixed bugs. Made sure that we don't cap a victim below the threshold. Made sure the victims the can be capped and uncapped are maintained in both cappedVictims and orderCappedVictims. 2017-02-21 21:05:47 -05:00
Pradyumna Kaushik
531c1a120b Fixed messages for commandline arguments. 2017-02-20 23:49:27 -05:00
Pradyumna Kaushik
7d93215a7c added TODO for a generic task sorter that sorts based on any kind of resource, instead of having a sorter for each kind of resource. 2017-02-20 22:55:56 -05:00
Pradyumna Kaushik
ef6f74cd81 removed TODO for consolidating common scheduler struct members into base.go. 2017-02-20 22:42:07 -05:00
Pradyumna Kaushik
726c0555ed Fixed corner cases in progressive extrema -- When a node is capped and the new cap value is above a threshold then that node can be capped or uncapped in the next cycle. If the new cap value is equal to the threshold then the node cannot be capped further and can only be uncapped. When the node is uncapped and the newUncapValue is below 100 then the node can be capped or uncapped in the next cycle. If the newUncapValue is 100 then the node can only be capped. 2017-02-20 20:55:06 -05:00
Pradyumna Kaushik
d42b7a3a3b changed the type of percentage in rapl.Cap(...) from int to float64. Retrofitted power-capping strategies to cap using a float64 value instead of an int. Moved common functions in loganddynamiccap.go and logAndProgressiveExtrema.go into pcp/utils.go. New power-capping strategy that builds on top of extrema, where it caps the victims at different until it can't cap further, in which case it starts uncapping them in the reverse order of capping. 2017-02-15 19:22:56 -05:00
Pradyumna Kaushik
d5d3c87ff2 added a constant called CapThreshold that defines the lower limit below which we shouldn't cap a node. 2017-02-15 19:15:18 -05:00
Pradyumna Kaushik
ccbe7a14b7 Merged in schedulerAttributesConsolidation (pull request #11)
SchedulerAttributesConsolidation

Approved-by: Renan DelValle
Approved-by: ajain13
2017-02-14 19:42:22 +00:00