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
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
bff0fd2b1e
Merged in classMapWattsCommandLine (pull request #10 )
...
Adding classMapWatts as a command-line argument to make it possible to enable/disable watts to power class mapping
Approved-by: Renan DelValle
Approved-by: ajain13
2017-02-11 16:57:00 +00:00
Pradyumna Kaushik
ceff625d32
fixed formatting of function arguments for CheckFit(...)
2017-02-11 01:23:07 -05:00
Pradyumna Kaushik
6ac1b38883
Added comment to explain the classification of nodes in the cluster into power-classes.
2017-02-11 01:14:02 -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
ad925dfc8f
Added TODO for making WattsToConsider(...) a receiver of def.Task and changing its name to Watts(...)
2017-02-10 20:28:06 -05:00
Pradyumna Kaushik
ae55790c76
removed TODO for adding the possibility of enabling and disabling classMapWatts from command-line
2017-02-10 18:11:52 -05:00
Pradyumna Kaushik
05f92bcfd2
resolved merge conflict
2017-02-10 18:02:06 -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
814d16b54d
added hostmismatch function to be called by all schedulers
2017-02-10 15:46:20 -05:00
Pradyumna Kaushik
a0a3e78041
Merged in hybridSchedulerAndSortedOffers (pull request #8 )
...
Hybrid Scheduler -- TopHeavy, BottomHeavy, FirstFit and BinPacked schedulers with sortedOffers.
2017-02-10 20:21:04 +00:00
Pradyumna Kaushik
07ee19b3f8
fixed comment
2017-02-09 23:36:07 -05:00
Pradyumna Kaushik
d2f754e23b
fixed comment
2017-02-09 23:35:26 -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
aabdd716dd
Added TODO to clean up constants.go and use Mesos attributes instead.
2017-02-09 20:41:54 -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
a2b50dd313
Added TODO for making def.Task an interface where we can define different types of Task configuration. This increases Electron's flexivility on the workload format
2017-02-08 14:58:57 -05:00
Pradyumna Kaushik
faad66f78c
Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into classMapWattsCommandLine
2017-02-05 15:05:17 -05:00
Pradyumna Kaushik
0d79079bf6
changed scheduler to binPacked
2017-02-05 14:59:34 -05:00
Pradyumna Kaushik
77de99fd95
Merged in dram-extrema (pull request #9 )
...
Adding DRAM monitoring to Extrema.
Approved-by: Pradyumna Kaushik
2017-02-05 19:58:36 +00:00
Renan DelValle
12efaedaa9
Style and naming fixes.
2017-02-05 14:54:15 -05:00
Pradyumna Kaushik
b838c53c6d
added CPUSorter to task to be able to sort tasks based on CPU requirement.
2017-02-05 14:49:07 -05:00
Pradyumna Kaushik
395917a97e
changed pcplogger to pcplog and extrema
2017-02-05 01:08:48 -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
7fc5b5d19e
Added TODO to be able to choose schedulers from the config file (the creation of which is also in TODO) too.
2017-02-04 16:10:32 -05:00
Renan DelValle
610c006834
Adding DRAM monitoring to Extrema.
2017-02-03 23:12:49 -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
05ec39e35c
Merge branch 'hybridSchedulerAndSortedOffers' of https://bitbucket.org/sunybingcloud/electron into hybridSchedulerAndSortedOffers
2017-01-31 16:20:20 -05:00
Pradyumna Kaushik
a39cc39c8c
Added TODO for future work -- ClassMapWatts as commandLine argument
2017-01-31 16:19:58 -05:00
Pradyumna Kaushik
27bfbd6268
Merge branch 'master' of https://bitbucket.org/sunybingcloud/electron into hybridSchedulerAndSortedOffers
2017-01-31 16:13:57 -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
84cdea08fc
retrofitted to use offerUtils.PowerClass(...) instead of inlining the code in every scheduler. Reduced redundant code.
2017-01-31 15:33:31 -05:00
Pradyumna Kaushik
04d722d20f
removed the new commandline argument for powerClass. This will be part of another patch to the code.
2017-01-31 15:13:55 -05:00
Pradyumna Kaushik
f883abd36d
Changed the description of the file. Now mentions that this is a capping strategy that can be used with different schedulers.
2017-01-31 15:12:43 -05:00
Pradyumna Kaushik
d5ae027e41
fixed return value of String() by changing 'Cluster Capper' to 'Cluster-wide Capper'
2017-01-31 14:27:57 -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