Commit graph

563 commits

Author SHA1 Message Date
Pradyumna Kaushik
e5aaf2dbe9 README to list the different scheduling algorithms defined 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
d555c37924 Made a mention to use --help option to get more information about the other command line options 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
1184016f8c changed the window size and capmargin to create differernt configurations. No chnage made to the code. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
87e2c802dd Praoctive cluster wide capping after ranking the tasks based on the requested watts 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
4bc81707e0 Added another line that needs to be uncommented to choose cleverRecap. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
ec4f4e0f03 removed rankedDetermineCap(...) as it was not needed. This algorithm has been integrated into proactiveclusterwidecappingranked.go 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
c1eaa453a2 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:59:02 -05:00
Pradyumna Kaushik
cd644bbf69 Formatted the code 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
b7394b8762 formatted the code 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
4d13c432c4 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:59:02 -05:00
Pradyumna Kaushik
3551de20da 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:59:02 -05:00
Pradyumna Kaushik
5dc3baab55 changed extrema to non-extrema. This was done so that proactive cluster wide capping scheme doesn't conflict with the extrema capping scheme. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
bbb83f4197 Added another log message to log the name of the file to which the pcplogs are getting written to. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
ed25adcc6c 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:59:02 -05:00
Pradyumna Kaushik
7b19cfb4fc fixed an error 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
0f8a2d3f0c fixed a an error. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
58289ed90f commented out the constant Clusterwide_cap_interval and its setter function. Instead hardcoding this in proactiveclusterwidecappingfcfs.go 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
c16e33d99d No change made. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
37b918d494 Removed these files and integrated them with electron 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
04d6d4b631 Utility data structures and functions. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
8e0ed6a014 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:59:02 -05:00
Pradyumna Kaushik
c728b1f733 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:59:02 -05:00
Pradyumna Kaushik
d3e4914f58 Defined constants that help in scheduling of tasks. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
31bbacf149 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
c1fa0b1a6e changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
d0e37811d6 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
bfbca705c8 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
6d0a3f8a90 scheduler is now an instance of ProactiveClusterwideCapFCFS 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
522b606165 changed bingcloud to sunybingcloud in the import statements. 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
0c53bb386f Added TaskID as a field. Added a function UpdateHost() to update the host on which the task runs. Added a setter for TaskID. Added a comparator called Compare() that compares to instances of Task 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
e27912f99e fixed an error in the readme file 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
fb2580bcad Modified readme to include commands to build and run the program and also added documentation to mention what main.go contains 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
353439464e Added proactive dynamic capping (FCFS and Rank based). Also added a primitive readme file. 2016-12-22 22:59:02 -05:00
Renan DelValle
86790133e1 Go FMT run on entire project 2016-12-22 22:59:02 -05:00
Renan DelValle
7c7d80b557 Minor renaming of receivers in some schedulers 2016-12-22 22:59:02 -05:00
Renan DelValle
cf3d83e712 Finished integrating dynamic capping policy that uses a high and a low threshold to start capping and uncapping node via an ssh commands that triggers a python script. Commit has sensitive data, scrub before releasing to public. 2016-12-22 22:59:02 -05:00
Renan DelValle
1386049d30 rapl capping via ssh command in rapl package 2016-12-22 22:59:02 -05:00
Renan DelValle
254528f4f1 Initial version of command which will cap system 2016-12-22 22:59:02 -05:00
Renan DelValle
e568dcc508 Averages are calculated correctly, PCP is able to determine a victim to be capped 2016-12-22 22:59:02 -05:00
Renan DelValle
39aa3cacc4 Binpacking algorithm based on 3 dimensions using a list of tasks sorted by watts 2016-12-22 22:59:02 -05:00
Renan DelValle
617fb8ac0f Sorting based on watts value added. bin packing based on watts is almost complete. 2016-12-22 22:59:02 -05:00
Renan DelValle
97002ea353 Adding First Fit Watts Only 2016-12-22 22:59:02 -05:00
Renan DelValle
c2e2b7e554 Moved schedulers from the main programs to schedulers package. Can now choose different scheduelrs to use. Work on code sharing between schedulers remains to be done. 2016-12-22 22:59:02 -05:00
Renan DelValle
407c350d3c Adding some fields 2016-12-22 22:59:02 -05:00
Renan DelValle
5e9db05d4c Temporary blank struct for metrics 2016-12-22 22:59:02 -05:00
Pradyumna Kaushik
45d84f9485 formatted code 2016-12-22 22:59:01 -05:00
Renan DelValle
8f9b29cbcb SIGINT is now captured. Linux/MacOS shutdown for pcpdumptext child
processes added to clean up after we finish running. Made all tasks
run on bridged network mode so that benchmarks that heavily utilize
network are protected from eachother. I.e: Tradebeans, tradesoap
2016-12-22 22:59:01 -05:00
Pradyumna Kaushik
373a437bae Added TODO to setup the constants at runtime. 2016-12-22 22:59:01 -05:00
Renan DelValle
5dd64f1e16 Added Error state. Fixed bug with tasks returning error because 0.0 watts was requested as a resource. Changed name to be more readable by eliminating electron. PCP logs can now have a prefix. 2016-12-22 22:59:01 -05:00
Pradyumna Kaushik
4ef038f22f updated comment 2016-12-22 22:59:01 -05:00