Commit graph

210 commits

Author SHA1 Message Date
Pradyumna Kaushik
bf6c5eded9 used the generic running average calculator 2016-12-22 22:59:01 -05:00
Pradyumna Kaushik
f304cd295a Completed couple of TODOs and added two more. 2016-12-22 22:59:01 -05:00
Pradyumna Kaushik
bd3802ddfd Made change to TODO 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
7aea52991b TODO to add another functionality to the runAvg interface to be able to remove element from the window based on a criteria. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
822ef0067c Removed TODO for creating generic running average calculator. Added TODO to use the generic running average calculator in proactiveclusterwidecappers.go 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
63a7f0acb5 Moved the check for fitting tasks into a different function. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
2e0ec0cc99 Added Piston Capper to the list of schedulers 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
c493bd066e used sort interface instead of the quickSort algorithm to sort tasks in ascending order of watts. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
d69c5006ed removed quickSort algorithm to sort tasks. We can do this using the sort interface 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
6ae5cd0cdd removed unnecessary import 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
bfcb254f23 formatted the code 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
a07806f570 Checked for task fitting watts requirement considering watts to be a hard limit. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
236be222cd Logging of capping happens only when there is no error with rapl.Cap. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
d9357f59e7 New scheduler. BinPacking with capping each node to different values (piston capping). 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
54a55ec523 Nit: Changed variable name 'runningAverageToTotalPowerPercentage' to 'ratios' 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
b0140a8b93 Using ranked proactive cluster wide capper with clever recapping 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
ef839c530d Fixed corner case bug with sorting of tasks. Not sorting if there are no more tasks to schedule. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
6c29f2c5a4 synchronized operations on tasksRunning and hence, prevented previously occuring race condition. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
395e8e3e3d synchronized operations on tasksRunning and hence prevented the previously occuring race condition. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
8eda0c68b1 Removed TODO comment in ResourceOffers(...), that wasn't necessary anymore. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
7f5d9c58a3 Added to TODO (generic running average computation). 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
6aa849bbe7 fixed naming convensions to be camel cased. Reformatted the code. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
978d51135b Removed a commented line. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
f606610232 Added the proactive cluster wide capping with ranked tasks scheduler to the list of schedulers. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
f67773dcde Added proactive cluster wide capping with ranked tasks as another scheduler. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
892d9b86dc formatted the code 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
948e00bfeb changed the keys in taskMonitor from offer.SlaveId() to offer.Hostname. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
7bea56206b fixed bug in cleverRecap(...). Now we switch from the primitive recap to the clever recap as the cap determined by the later would be lesser when the cluster is relatively idle. 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
44d355523b Markdown fix in README 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
5f32074c4c Fixed an error in markdown 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
abdfef2044 README to list the different scheduling algorithms defined 2016-12-22 22:59:00 -05:00
Pradyumna Kaushik
d7a5b10057 Praoctive cluster wide capping after ranking the tasks based on the requested watts 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
6c858c4e88 Added another line that needs to be uncommented to choose cleverRecap. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
a158f4a341 removed rankedDetermineCap(...) as it was not needed. This algorithm has been integrated into proactiveclusterwidecappingranked.go 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
3f90ccfe74 Sycnrhonized operations that change the value of the cluster wide cap. Added cleverRecap(...) that determines the recap value of the cluster at a much finer level, taking into account the average load on each node in the cluster. Bug fix in cap.go -- closed the session once capping had been done. This prevented from running out of file descriptors. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
7522cf9879 formatted the code 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
4cc1dd8e63 Kept track of totalPower per node. The watts resource for the first offer corresponds to the total power per node. Removed tasks, that had all their instances scheduled, from the list of tasks to schedule. Also, calling recap(...) every time a task completes to determine the new cluster wide cap." 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
7a69aff8d7 The computation of the cluster wide cap now considers total power per node rather than the available power per node. Also, added function recap(...) that is called to compute the cluster wide cap once a task completes. This value is used to change the cluster wide cap once a task completes." 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
a9f7ca5c91 Made a check to see whether cluster wide capping has started and if not then starting the go routine that performs the cluster wide capping at regular intervals. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
8a6ad00e21 fixed an error 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
46afab1be0 Removed these files and integrated them with electron 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
8d032f9547 Proactive cluster wide first come first server scheduler. This schedules tasks based on the fcfs cluster wide capping policy defined in proactiveclusterwidecappers.go 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
d8710385be Proactive cluster wide capper that defines two types of schedulers. First fit scheduling, that uses running average of task.Watts to calculate the cluster wide cap, and Ranked based cluster wide capper that ranks the tasks (sorts) based on the watts required and then performs fcfs in the sorted order. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
c578f9904d changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
6c3f48e324 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
42a15ec854 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
df553193fd changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
5bad32e15b changed the .go files heading in readme 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
5e96fc6158 fixed an error in the readme 2016-12-22 22:58:59 -05:00
Pradyumna Kaushik
0e8db53dee added description of the .go files. 2016-12-22 22:58:59 -05:00