Commit graph

228 commits

Author SHA1 Message Date
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
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
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
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
Pradyumna Kaushik
dd3019735d Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into progressiveExtrema 2017-03-18 19:54:37 -04: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
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
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
ef6f74cd81 removed TODO for consolidating common scheduler struct members into base.go. 2017-02-20 22:42:07 -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
d4b1a85f79 resolved merge conflict with master. Formatted file. 2017-02-11 14:27:33 -05:00
Pradyumna Kaushik
02fede7184 resolved merge conflict with master. Also, changed the name of the constructor for BPSWMaxMin from NewBPMaxMinWatts to NewBPSWMaxMinWatts 2017-02-11 14:26:27 -05:00
Pradyumna Kaushik
ceff625d32 fixed formatting of function arguments for CheckFit(...) 2017-02-11 01:23:07 -05:00
Pradyumna Kaushik
13479e03a4 formatted files 2017-02-11 00:05:42 -05:00
Pradyumna Kaushik
ec78480067 renamed constants.CapMargin to constants.Tolerance for better semantics 2017-02-10 20:53:18 -05:00
Pradyumna Kaushik
f5ddc56f27 changed the name of takeOffer(...) to takeOfferBinPack(...) and then created another function called takeOfferFirstFit(...). Made sure that these functions are called instead of inlining code. 2017-02-10 16:39:13 -05:00
Pradyumna Kaushik
1dcf416849 Resolved merge conflicts with master 2017-02-10 16:23:09 -05:00
Pradyumna Kaushik
6c62b5326f Added a HostMismatch(...) in offerUtils that checks whether a task's host requirement matches the host corresponding to the offer. Made sure all schedulers call takeOffer(...) that is defined in each scheduler, to maintain consistency. 2017-02-09 22:48:34 -05:00
Pradyumna Kaushik
9dc5bdada2 Moved all the common scheduler attributes into base.go 2017-02-09 20:27:18 -05:00
Pradyumna Kaushik
57512ac2dd Changed ignoreWatts to wattsAsAResource. This resulted in flipping of the condition checks that use these variablees 2017-02-09 18:41:40 -05:00
Pradyumna Kaushik
fdcb401447 Made classMapWatts a commandLine option where one can enable and disable mapping of watts to powerclasses when accepting offers from Mesos. Removed the schedulers that were created solely for the classMapWatts feature. Retrofitted all schedulers to use the powerClass mapped watts attribute for a task, if classMapWatts has been enabled. Removed unnecessary functions and variables from constants.go. Removed unnecessary functions from utilities/utils.go. Fixed operator precendence issue with takeOffer(...) in some of the schedulers. Added TODO to decouple capping strategies from the schedulers completely. Added TODO to move all the common struct attributes in the schedulers into base.go. 2017-02-09 18:05:38 -05:00
Pradyumna Kaushik
eea0db0b3d retrofitted schedulers by renaming 'taken' to 'offerTaken' for the boolean to indicate whether an offer has been consumed. 2017-02-04 16:59:25 -05:00
Pradyumna Kaushik
f4b5ffc1de used offerUtils#PowerClass(...) instead of inlining the source code. 2017-01-31 16:33:59 -05:00
Pradyumna Kaushik
b815d65910 Add another category called Capping Strategies. 2017-01-31 16:29:06 -05:00
Pradyumna Kaushik
3af1d561c2 retrofitted to use offerUtils.PowerClass(...) instead of inlining the code in every scheduler. Reduced redundant code. Changed name of newTaskClass in newTask(...) to powerClass. 2017-01-31 16:07:44 -05:00
Pradyumna Kaushik
e188aff66f retrofitted to use clusterwidecapper from powerCapping/ instead of from pcp/ as clusterwidecapper was moved from pcp/ to powerCapping/ 2017-01-28 21:56:23 -05:00
Pradyumna Kaushik
4f5036bd32 Added TODO to retrofit schedulers to run either with classMapWatts enabled or disabled. 2017-01-28 21:31:05 -05:00
Pradyumna Kaushik
ae2e7eb3d7 Added function to determine the watts value to consider for each task, depending on weather -classMapWatts was enabled and also weather the workload contained a map of power-class to the watts requirement. 2017-01-28 21:09:43 -05:00
Pradyumna Kaushik
5128c51b22 formatted code. 2017-01-28 19:45:47 -05:00
Pradyumna Kaushik
8581749435 retrofitted all schedulers to call OfferAgg(...) and OffersSorter from utilities/offerUtils and also to use defaultFilter and longFilter from utilities/mesosUtils 2017-01-28 19:41:05 -05:00
Pradyumna Kaushik
354e89cac7 moved longFilter and defaultFilter to utilities/mesosUtils and OfferAgg and OffersSorter to utilities/offerUtils 2017-01-28 19:36:13 -05:00
Pradyumna Kaushik
44ce511eb1 Added classMapWatts, topHeavy and bottomHeavy schedulers to the list of schedulers. Also, added TODO for creating a package to hold all the source code to perform logging. 2017-01-28 19:34:28 -05:00
Pradyumna Kaushik
916581067b hybrid scheduler(TOP HEAVY) -- Pack Small tasks (less power intensive) using BinPacking and Spread large tasks (power intensive) using FirstFit. BOTTOM HEAVY -- Pack Large tasks (power intensive) using BinPacking and spread the small tasks (less power intensive) using FirstFit. 2017-01-28 18:06:59 -05:00
Pradyumna Kaushik
581803c2f0 FirstFit and BinPacking with SortedOffers based on CPU. 2017-01-28 17:52:24 -05:00
Pradyumna Kaushik
e60488f965 added OffersSorter that implements sort interface to sort offers based on CPU. 2017-01-28 17:47:24 -05:00
Pradyumna Kaushik
477a319688 Removed unnecessary whitespace. 2017-01-28 17:46:29 -05:00
Pradyumna Kaushik
62f199773a formatted the files 2017-01-14 20:04:37 -05:00
Pradyumna Kaushik
3b52fb3619 retrofitted schedulers to use base.go and to log the scheduling trace. Changed the name of piston capper to binpackedpistoncapping and also changed the variable names inside binpackedpistoncapping.go to indicate the name of the scheduler. 2017-01-14 19:44:50 -05:00
Pradyumna Kaushik
65263426b4 formatted code 2017-01-14 17:22:15 -05:00
Pradyumna Kaushik
6798807a0b Fixed bug in logging the correct cap value. 2017-01-14 17:21:46 -05:00
Pradyumna Kaushik
cb7e697cfa First Fit SortedWatts ClassMapWatts with Proactive Clusterwide Capping. 2017-01-14 16:20:58 -05:00
Pradyumna Kaushik
3b46dbc357 First Fit SortedWatts retrofitted to use ClassMapWatts in the workload. 2017-01-14 16:20:21 -05:00
Pradyumna Kaushik
170674720d updated the call to Recap(...) to NaiveRecap(...) to be in tune with the updated function name 2017-01-08 19:15:53 -08:00
Pradyumna Kaushik
afa31cc231 Added TODO to move the cappers to pcp/ and also to include the change made to cap only when necessary. 2017-01-08 19:09:58 -08:00