Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
896 commits
Select commit Hold shift + click to select a range
8e7d13f
ProfileElementLoggers: logging format changed.
Sumanaruban Feb 3, 2015
b2eff74
BlobExecuter has been moved out to a new file
Sumanaruban Feb 4, 2015
20d418e
BlobThread2 has been moved to BlobExecuter.
Sumanaruban Feb 4, 2015
806932c
DrainCallback has been moved to BlobExecutor.
Sumanaruban Feb 4, 2015
ae5e14b
Field BlobExecuter.blobThreads has been made final
Sumanaruban Feb 4, 2015
2ee2e0a
New interface AffinityManager has been added.
Sumanaruban Feb 4, 2015
f00f9ee
Unused BlobThread2's constructor removed.
Sumanaruban Feb 4, 2015
65ff4e8
BlobThread2 sets processor affinity.
Sumanaruban Feb 4, 2015
69f7699
AffinityManagers have been added.
Sumanaruban Feb 4, 2015
f641317
BlobsManagerImpl keeps AffinityManager
Sumanaruban Feb 4, 2015
d1afebc
StreamNode joins Profiler thread b4 terminate
Sumanaruban Feb 5, 2015
7b10d7f
addBufferSize() moved to super class.
Sumanaruban Feb 6, 2015
4fd1a34
OnlineTuner.verifyTuningTimes() handles null cfgs.
Sumanaruban Feb 7, 2015
288b5f6
verifyTuningTimes() adds cfgPrefix.
Sumanaruban Feb 7, 2015
2437f88
Null checks.
Sumanaruban Feb 8, 2015
f541693
Checks profiler's status for null before join().
Sumanaruban Feb 8, 2015
813f67b
Profiler thread exits if IOExp occured.
Sumanaruban Feb 8, 2015
1ef4bbb
Checks isStillConnected() before try to close con
Sumanaruban Feb 8, 2015
54693f4
e.printStackTrace() commented at Profiler.
Sumanaruban Feb 8, 2015
e41dd08
Stops sending profile data after draining.
Sumanaruban Feb 8, 2015
866fb5a
reconfigure() returns various negative values
Sumanaruban Feb 9, 2015
134f65f
OnlineTuner: Codes moved out from try-catch block
Sumanaruban Feb 9, 2015
9c35807
ProfileLogProcessor added.
Sumanaruban Feb 9, 2015
01e4e80
Renamed: countMat->inputNotFirable.
Sumanaruban Feb 9, 2015
79c52b9
Prints notFirable count of input&output separately
Sumanaruban Feb 9, 2015
7ccfdf4
Renamed:mainclass -> mainclasspath
Sumanaruban Feb 9, 2015
a42524e
Ant:Sets mainclass from mainclasspath.
Sumanaruban Feb 9, 2015
1280d72
Ant:Remote setup target has been added.
Sumanaruban Feb 9, 2015
d6cc1e9
Ant:target "remotesetup" depends on "sendtoLanka"
Sumanaruban Feb 9, 2015
b75ce85
TimeLogProcessor:Handles negative running time
Sumanaruban Feb 10, 2015
f32be9e
TimeLogProcessor:Processing heapStatus is stopped.
Sumanaruban Feb 10, 2015
ddf9be1
TimeLogProcessor:Method summarize() has been added
Sumanaruban Feb 10, 2015
67dc59d
Utils.createDir() has been made public.
Sumanaruban Feb 10, 2015
be0a2d0
TimeLogProcessor:Creates Summary Dir
Sumanaruban Feb 10, 2015
1c2a64c
TimeLogProcessor:makePlotFile() has been added.
Sumanaruban Feb 10, 2015
b2bfcdc
TimeLogProcessor:Plots compile, Run & Drain times
Sumanaruban Feb 10, 2015
0d9700b
TimeLogProcessor:local variable dataFile added.
Sumanaruban Feb 10, 2015
0aefc31
TimeLogProcessor: plot() added
Sumanaruban Feb 10, 2015
0171153
TimeLogProcessor:summarize() has been made public.
Sumanaruban Feb 10, 2015
7b8a3af
OnlineTuner calls TimeLogProcessor.Summarize()
Sumanaruban Feb 10, 2015
b3b1d39
Uses BlockingTailChannel2.
Sumanaruban Feb 10, 2015
382006b
TCPTuner:Passes relative path instead of abs path.
Sumanaruban Feb 10, 2015
213575c
Ant:New property 'streamGraphName' has been added
Sumanaruban Feb 10, 2015
64cf86b
Ant: compile target has been added.
Sumanaruban Feb 12, 2015
7d166be
Spelling correction: draing->draining.
Sumanaruban Feb 13, 2015
86addc9
Renamed:ConfigurationManager->PartitionManager
Sumanaruban Feb 13, 2015
d3d5821
AbstractConfigurationManager->AbstractPartitionManager
Sumanaruban Feb 13, 2015
6544972
PartitionManager's comments modified.
Sumanaruban Feb 13, 2015
293cc77
getStaticCfg() has been moved to StreamJitapp.
Sumanaruban Feb 13, 2015
b1c9fcd
getDynamicCfg() has been moved to StreamJitApp
Sumanaruban Feb 13, 2015
eda7999
Renamed:cfgManager->partitionManager.
Sumanaruban Feb 13, 2015
20f572e
PartitionManger.getMachineWorkerMap() added.
Sumanaruban Feb 14, 2015
49d7855
Renamed:getMachineWorkerMap->partitionMap()
Sumanaruban Feb 14, 2015
7da4c5f
newConfiguration() moved to ConfigurationManager.
Sumanaruban Feb 14, 2015
e3c371b
OnlineTuner uses CfgManager.newConfiguration()
Sumanaruban Feb 14, 2015
b33132e
AbstractDrainer has been moved to drainer package.
Sumanaruban Feb 14, 2015
a324e5f
AbstractDrainer refers generic StreamJitApp.
Sumanaruban Feb 14, 2015
ca725b9
AbstractDrainer has been refactored.
Sumanaruban Feb 14, 2015
76b8828
AbsDriner.state&schExecutorService package visible
Sumanaruban Feb 14, 2015
8081fcd
field partitionManage removed from SJitAppManager
Sumanaruban Feb 14, 2015
35141a5
Renamed:coresPerMachine->machineCoreMap.
Sumanaruban Feb 14, 2015
1623560
BlobSpecifier carries maxCores for each blob.
Sumanaruban Feb 14, 2015
9272370
Tunes maximum number of cores.
Sumanaruban Feb 14, 2015
9fb3b01
Plots tuning round time
Sumanaruban Feb 16, 2015
10009a2
Utils.generateBlobGraphs() added.
Sumanaruban Feb 16, 2015
4500ad0
Utils.generateBlobGraphs prints execution time.
Sumanaruban Feb 16, 2015
69a6ff2
Stopped waiting for dot process.
Sumanaruban Feb 20, 2015
c20b0d2
A field has been made final.
Sumanaruban Feb 20, 2015
d91013f
Reads configurations from a file and run it.
Sumanaruban Feb 20, 2015
4c716a1
verifyTuningTimes() writes Draindata statistics
Sumanaruban Feb 20, 2015
7c38c13
Obsolete method evaluate() has been removed.
Sumanaruban Feb 20, 2015
ab11afa
TimeLogger.newConfiguration() takes cfgPrfx as arg
Sumanaruban Feb 20, 2015
3bbbc61
OnlineTuner.tune() refactored and newcfg() created
Sumanaruban Feb 20, 2015
47cfc9b
OnlineTuner.tune() refactored
Sumanaruban Feb 20, 2015
0e2b4fd
GlobalConstants.storeProperties() added.
Sumanaruban Feb 20, 2015
7bf5337
storeProperties() refactored, setProperty() added
Sumanaruban Feb 20, 2015
10e3636
Sets GlobalConstant values from a properties file.
Sumanaruban Feb 20, 2015
3b12041
getProperties() method has been added.
Sumanaruban Feb 20, 2015
a94c128
Utils store GlobalConstants.properties.
Sumanaruban Feb 20, 2015
dbd054b
Ant:Sends options.properties to Lanka cluster.
Sumanaruban Feb 20, 2015
50e09ee
evaluateConfig() updates logger.newConfiguration()
Sumanaruban Feb 20, 2015
a1efaa0
Shell script to setup an experiment in a cluster
Sumanaruban Feb 21, 2015
5303b47
generates run.sh based on tune arg value.
Sumanaruban Feb 21, 2015
86fdd5e
File path correction in setup.sh.
Sumanaruban Feb 21, 2015
6a1c9df
Comment added to setup.sh script.
Sumanaruban Feb 22, 2015
516975f
Ant script sends optionsLanka.properties to cluster
Sumanaruban Feb 22, 2015
8dac27e
Updates drainTime.txt with previousCfgPrefix.
Sumanaruban Feb 23, 2015
751b909
AsyncTCPConnection:Stopped printing "SoftClose"
Sumanaruban Feb 23, 2015
1706b37
Uses AsyncTCPNoParams as the default ConManger.
Sumanaruban Feb 23, 2015
0ca1bd8
BlockingInputChnl:Discards the data if stopType==3
Sumanaruban Feb 24, 2015
e5d4365
getBlobs() refactored and blobSet() method added.
Sumanaruban Feb 24, 2015
ae39740
blobSet1() added.It compiles the blobs in parallel
Sumanaruban Feb 24, 2015
5668dab
Uses blobSet1() to compile the blobs in parallel.
Sumanaruban Feb 24, 2015
1a6b01d
Noisy debug msgs have been commented.
Sumanaruban Feb 24, 2015
1e86798
Stopped storing profile data in a Map.
Sumanaruban Feb 25, 2015
5aa8031
Default constructor added to ChannelVocoder7
Sumanaruban Feb 25, 2015
fcd3489
DistAppRunner added.
Sumanaruban Feb 25, 2015
be813be
DistAppRunner is the new Ant's main class.
Sumanaruban Feb 25, 2015
8190bd4
FMRadio's default constructor's args changed.
Sumanaruban Feb 25, 2015
2a066c4
DistAppRunner uses FMRadio as the default app.
Sumanaruban Feb 25, 2015
ca89acb
String format bug fixed.
Sumanaruban Feb 25, 2015
4c46cee
AllocationStrategy uses GlobalConstants.maxNumCores
Sumanaruban Feb 25, 2015
0c200ce
Updates the README.txt with the benchmarkName.
Sumanaruban Feb 25, 2015
3c782d7
DistAppRunner updates total running time to README
Sumanaruban Feb 25, 2015
e8a7409
updateReadMeTxt() uses String.Format
Sumanaruban Feb 25, 2015
b9cffaf
TimeLogProcessor handles Slurm's sysout prefix.
Sumanaruban Feb 26, 2015
0ec316d
Generates all output files to summary directory.
Sumanaruban Feb 26, 2015
27602fd
backup.sh added.
Sumanaruban Feb 26, 2015
aacff75
Bug in startSNs() fixed.
Sumanaruban Feb 27, 2015
d03d978
Default const arg matches with benchmark's arg
Sumanaruban Feb 27, 2015
26f9faf
processCompileTime returns map with cfgPrfx as key
Sumanaruban Feb 28, 2015
86658b8
processCompileTime refactored and process() added
Sumanaruban Feb 28, 2015
14325e6
Prints tuning round time
Sumanaruban Feb 28, 2015
4015061
process() takes timeUnitLength
Sumanaruban Feb 28, 2015
d646955
processTuningRoundTime() uses process()
Sumanaruban Feb 28, 2015
d40dd84
processRunTime() writes cfgPrefix
Sumanaruban Feb 28, 2015
1871efa
processRunTime returns a map with cfgPrefix as key
Sumanaruban Feb 28, 2015
3c3d343
TimeLogProcessor summarize times based on cfgPrfix
Sumanaruban Feb 28, 2015
85714cd
process time based on the timepos in the string.
Sumanaruban Feb 28, 2015
f0127ad
TimeLogProcessor writes verify.txt.
Sumanaruban Feb 28, 2015
9e809c1
New time's pos in the string is 3.
Sumanaruban Feb 28, 2015
e42ddaf
OnlineTuner refactored, inner class Verifier added
Sumanaruban Feb 28, 2015
1d2cf87
Method cfgPrefixes() has been moved to verifier
Sumanaruban Feb 28, 2015
d218809
evaluateConfig() has been moved to verifier.
Sumanaruban Feb 28, 2015
d99fd25
verifyTuningTimes() takes a map as arg
Sumanaruban Feb 28, 2015
98a2704
cfgPrefixes() handles timeLogProcessor's output.
Sumanaruban Feb 28, 2015
8d5f9cf
Terminating the app is removed from verifier
Sumanaruban Feb 28, 2015
1e71cbe
verifyTuningTimes() updates the time to Eval.txt
Sumanaruban Feb 28, 2015
d5a622f
Writes header info to the Eval_.txt.
Sumanaruban Feb 28, 2015
4e29c1a
verifyTuningTimes writes cfgName & expected Time
Sumanaruban Feb 28, 2015
8b0fda3
evaluateConfig() returns running time list.
Sumanaruban Feb 28, 2015
f503ab2
processRunningTimes() added.
Sumanaruban Feb 28, 2015
4624be6
terminates the app after the verification.
Sumanaruban Feb 28, 2015
290ccdb
handleTermination calls verifier.verify().
Sumanaruban Feb 28, 2015
c9f9437
Eval.txt's header line changed.
Sumanaruban Feb 28, 2015
ae69adf
Utils backups ReadMe.txt before creating new.
Sumanaruban Feb 28, 2015
17b391d
Utils.rename() added.
Sumanaruban Feb 28, 2015
d716f3f
Utils.rename() returns true if renaming succeeded.
Sumanaruban Feb 28, 2015
3ce187b
Verifier backups the files before start evaluating
Sumanaruban Feb 28, 2015
e6c6dae
Orig->orig.
Sumanaruban Feb 28, 2015
6ee2aee
Ant target createDownloadScript added.
Sumanaruban Feb 28, 2015
64fc2b3
A sample file to download files from Lanka cluster
Sumanaruban Feb 28, 2015
2a338d3
Ant: sumanan -> ${username}.
Sumanaruban Feb 28, 2015
7250bd2
Stopped tuning maxNumCores.
Sumanaruban Mar 1, 2015
64bfc90
Moved program options to Options.java
Sumanaruban Mar 1, 2015
6d4aed8
Options.java added.
Sumanaruban Mar 1, 2015
d7cb5ca
Options.connectionManager added
Sumanaruban Mar 1, 2015
a88029b
Options.tailChannel added.
Sumanaruban Mar 1, 2015
b69b7e0
Uses jdk1.8.0_31
Sumanaruban Mar 2, 2015
a962519
File path problem in writeHeapStat() corrected.
Sumanaruban Mar 2, 2015
e46a904
New method to summarize heap status added.
Sumanaruban Mar 2, 2015
f1cb7e5
makeHeapPlotFile() added.
Sumanaruban Mar 2, 2015
ca27906
makeplotfile() returns the plotFile.
Sumanaruban Mar 2, 2015
e443b90
plot() takes plot file as arg.
Sumanaruban Mar 2, 2015
3eb410c
summarizeHeap calls plot() to generate the graph.
Sumanaruban Mar 2, 2015
2853fca
Problem in heapplot.plt corrected.
Sumanaruban Mar 2, 2015
6b66d52
TimeLogProcessor's main calls summarizeHeap()
Sumanaruban Mar 2, 2015
9273ffc
Processes GraphProperty.txt and prints cycle count.
Sumanaruban Mar 2, 2015
6a44bec
Proceses HeadFreeSize and plots on the heap graph.
Sumanaruban Mar 2, 2015
319a3a4
Alwys backups the files generated during prev run.
Sumanaruban Mar 2, 2015
5cbd111
Options.evaluationCount added.
Sumanaruban Mar 3, 2015
f6bc356
Options.verificationCount added.
Sumanaruban Mar 3, 2015
5623ad3
TimeLogger updates TuningRoundTime correctly
Sumanaruban Mar 3, 2015
0e18992
Options.multiplierMaxValue added.
Sumanaruban Mar 3, 2015
65179e0
GraphProperty.txt: Tailing tab space removed.
Sumanaruban Mar 4, 2015
63bfc05
GraphPropertyPrognosticator accept or reject
Sumanaruban Mar 4, 2015
4ce55b2
TimeLogProcessor:Very first timing is Init time.
Sumanaruban Mar 4, 2015
291a453
Shorten to fit to the tab size. Accepted->Acptd
Sumanaruban Mar 4, 2015
848d5f0
Options.timeOut added.
Sumanaruban Mar 4, 2015
d2543d6
Utils.fileWriter(dirName,fileName) added.
Sumanaruban Mar 4, 2015
36e922d
TailChannels.OutputCountPrinter prints in a file.
Sumanaruban Mar 4, 2015
08ae9ab
Logs searchTime
Sumanaruban Mar 4, 2015
43033ef
Removed downloading *jar in downloadscript
Sumanaruban Mar 5, 2015
70f1faf
Ant: Uses rsync to download a full app dir.
Sumanaruban Mar 5, 2015
e5cd1eb
TimeLogProcessor.processEvaltxt() added.
Sumanaruban Mar 5, 2015
199a6d7
TimeLogProcessor.processVerifycaionRun() added.
Sumanaruban Mar 5, 2015
5ae7a2e
Output file name changed. Eval_appName->evaluation
Sumanaruban Mar 5, 2015
7921ff9
TailChannels log reportingTime event.
Sumanaruban Mar 5, 2015
aa162a6
tailChannel()'s method args rearranged.
Sumanaruban Mar 5, 2015
7b6808e
TailChannels logs cfgPrefix
Sumanaruban Mar 5, 2015
c7a4c05
Writes header to tatalStats.txt
Sumanaruban Mar 6, 2015
65f2215
Stop writing null vals to tatalStats.txt.
Sumanaruban Mar 6, 2015
4a655df
OnlineTuner logs all important method's exe time.
Sumanaruban Mar 6, 2015
f9b734d
MethodTimeLogger writes in a teble format.
Sumanaruban Mar 6, 2015
edee860
OnlineTuner's method logger logs tuning round time
Sumanaruban Mar 6, 2015
824bc7f
BugFix: Closes files.
Sumanaruban Mar 6, 2015
ab35e10
file name starts with small letter. Online->online
Sumanaruban Mar 6, 2015
85b7282
MethodTimeLogger.newCfg() log cfgPrefix
Sumanaruban Mar 6, 2015
d59582c
DotVisualizer generates blobgraphs in svg format
Sumanaruban Mar 6, 2015
5d26412
PrintMethodTimeLogger added.
Sumanaruban Mar 6, 2015
925c04b
NoMethodTimeLogger added.
Sumanaruban Mar 6, 2015
9901f88
MethodTimeLogger measures cfgManager's newConfg()
Sumanaruban Mar 6, 2015
83f3c4e
MethodTimeLogger logs prognosticate()'s call time.
Sumanaruban Mar 7, 2015
8942b72
Comment modified
Sumanaruban Apr 25, 2014
d8a4c60
Gets noOfBlobs parameter from configuration
Sumanaruban Apr 27, 2014
a7405e5
Another constructor has been added.
Sumanaruban Apr 27, 2014
1dbe071
Comment modified
Sumanaruban Apr 27, 2014
f0c40e4
WorkerMachine has been made to public
Sumanaruban Apr 27, 2014
012b2bd
ConcurrentBlobFactory has been added
Sumanaruban Apr 27, 2014
1da5f73
Checks argument's preconditions.
Sumanaruban Apr 27, 2014
72ae579
Global variable made final
Sumanaruban Apr 27, 2014
3241678
hashCode() and equals() method has been added
Sumanaruban Apr 28, 2014
77b533e
Uses empty configuration if noOfMachines==1
Sumanaruban Apr 28, 2014
4ec23eb
ConcurrentStrmCmplr changes after the cherrypick
Sumanaruban Mar 7, 2015
1185bcb
OnlineTuner&related classes moved to tuner package
Sumanaruban Mar 7, 2015
64ac94f
reportingTime() writes cuttent count also
Sumanaruban Mar 8, 2015
77cecd9
BugFix:Always Creates ParititionManager.defaultCfg
Sumanaruban Mar 9, 2015
1e2ef6f
Ant:*.orig added to download script.
Sumanaruban Mar 9, 2015
b0f0110
Move all files to appDir/tune directory.
Sumanaruban Mar 10, 2015
9d7c0e1
ConfigurationUtils.configDir added
Sumanaruban Mar 10, 2015
3f02b69
Generates the graphs in pdf format.
Sumanaruban Mar 10, 2015
c8dd836
OnlineTuner refactored & Reconfigurer introduced.
Sumanaruban Mar 10, 2015
fae8027
reconfigure() has been moved to Reconfigurer class
Sumanaruban Mar 10, 2015
c0f8729
terminate() has been moved to Reconfigurer class
Sumanaruban Mar 10, 2015
fc80590
Inner class Verifier has been made static inner
Sumanaruban Mar 11, 2015
068c657
Verifier has been moved to a new file.
Sumanaruban Mar 11, 2015
8e3187f
Verifier implements Runnable.
Sumanaruban Mar 11, 2015
81096d7
DSC starts Tuner/Verifier based on Options.tune
Sumanaruban Mar 11, 2015
75bd7dc
Instance field OnlineTuner.verifer has been removed.
Sumanaruban Mar 11, 2015
b560582
OnlineTuner uses Reconfigurer's MethodTimeLogger.
Sumanaruban Mar 11, 2015
07c09b6
OnlineTuner's few instance fields have been removed
Sumanaruban Mar 11, 2015
5b36831
Unused imports removed.
Sumanaruban Mar 11, 2015
7864ef1
BugFix: time>1 -> time>0
Sumanaruban Mar 11, 2015
05f8cee
Minor optimization in TimeLog processing
Sumanaruban Mar 11, 2015
6285315
GnuPlot:Yaxis's label changed changed from ms to s
Sumanaruban Mar 11, 2015
630b657
GnuPlot: plots Runtime before compile time.
Sumanaruban Mar 11, 2015
34eefa6
TimeLogProcessor: output file names hard coded.
Sumanaruban Mar 11, 2015
ec8ebef
Renamed:makePlotFile()->createTotalStatsPlotFile()
Sumanaruban Mar 11, 2015
7ae5610
outputfile name changed (plot.plt->totalstats.plt)
Sumanaruban Mar 11, 2015
4ab2526
Unnecessary method param removed.
Sumanaruban Mar 11, 2015
a5bb76a
createProcessedPlotFile() added.
Sumanaruban Mar 11, 2015
c324dab
Renamed: name->appName
Sumanaruban Mar 12, 2015
c99529f
Gnuplot: Uses benchmark name for graph title.
Sumanaruban Mar 12, 2015
9757197
Verifier.cfgPrefixes() has been made public static
Sumanaruban Mar 12, 2015
3a3028a
cfgName removed from Verifier.evaluateConfig()
Sumanaruban Mar 12, 2015
a94041c
TimeLogProcessor processes verification run
Sumanaruban Mar 12, 2015
e699976
Verifier.cfgPrefixes:Stopped adding 'hand'&'final'
Sumanaruban Mar 12, 2015
ae13d23
Generates graphs for verification run.
Sumanaruban Mar 12, 2015
708fcee
Verifier generates graphs after the verification.
Sumanaruban Mar 12, 2015
902046e
Verifier calls TimeLogProcessor.summarize()
Sumanaruban Mar 12, 2015
dfbeec2
TimeLogProcessor appends to verify.txt
Sumanaruban Mar 12, 2015
f23b9c5
Missed change.Verifier.verify calls generateGraphs
Sumanaruban Mar 12, 2015
eac7b91
handleTermination() calls verifyTuningTimes()
Sumanaruban Mar 12, 2015
4cb1153
Merge branch 'master' of https://github.com/jbosboom/streamjit
Sumanaruban Mar 14, 2015
c6eff11
Merge branch 'tuning'
Sumanaruban Mar 14, 2015
8ff7383
Merge branch 'master' of https://github.com/jbosboom/streamjit
Sumanaruban Mar 15, 2015
a7e71d6
Merge branch 'master' of https://github.com/jbosboom/streamjit
Sumanaruban Mar 17, 2015
cbf010e
Merge branch 'master' of https://github.com/jbosboom/streamjit
Sumanaruban Mar 18, 2015
9503504
OT has renamed ArrayParameter->ParameterArray
Sumanaruban Mar 20, 2015
2609482
Use of Options removed from Compiler2.
Sumanaruban Mar 20, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/How to tune.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Go to lib/opentuner/ folder and run venv-bootstrap.py. This will setup a virtual

Run the edu.mit.streamjit.tuner.ConfigGenerator.java to generate configuration information for a particular app. Tuner.java will update the apps table in the streamjit.db with name, configuration, location and class name of the streamjit app.

Build the edu.mit.streamjit.tuner.RunApp.java and export it as runnable jar in to stramjit folder. If you need to change the input size, you can change it inside the function runApp() in the RunApp class.
Build the edu.mit.streamjit.tuner.RunApp.java and export it as runnable jar in to stramjit folder.

Run lib/opentuner/streamjit/tuner2.py.

Expand Down
8 changes: 8 additions & 0 deletions jarapp.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
app=FMRadio
streamGraphName=FMRadioCore
#app=NestedSplitJoin
#streamGraphName=NestedSplitJoinCore
username=sumanan
##password=abc123
mainclasspath=edu.mit.streamjit.test.DistAppRunner
numOfSNs=2
153 changes: 153 additions & 0 deletions jarapp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--Sumanan, sumanan@mit.edu, 15-12-2014 -->
<project default="exportAll" name="StreamJIT" basedir="/media/sumanan/D/StreamJit11/streamjit">
<property file="jarapp.properties" />
<!--property name="app" value="NestedSplitJoin" /-->
<!--property name="mainclasspath" value="edu.mit.streamjit.test.sanity.nestedsplitjoinexample.NestedSplitJoin" /-->
<!-- If you want, you can hard code your username and the password as plain
text here. Comment these properties (username or password or both) if you
don't want to keep it as a plain text. If these properties are not set (commented),
Ant will ask you to enter those at runtime. -->
<!-- property name="username" value="sumanan" /-->
<!-- property name="password" value="" / -->

<script language="javascript">
arr = project.getProperty('mainclasspath').split('.');
project.setProperty('mainclass', arr[arr.length -1]);
</script>

<target name="exportApp.jar" description="Exports ${app}.jar">
<jar destfile="${app}.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="${mainclasspath}" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="bin" />
<zipfileset excludes="META-INF/*.SF" src="lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/jsonp/javax.json-1.0-fab.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/ASM/asm-debug-all-4.1.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/ServiceProviderProcessor/ServiceProviderProcessor.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/JOptSimple/jopt-simple-4.5.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/sqlite/sqlite-jdbc-3.7.2.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/Guava/guava-15.0.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/BridJ/bridj-0.7-20140122.002307-56-c-only.jar" />
</jar>
</target>

<target name="exportStreamNode.jar" description="Exports StreamNode.jar">
<jar destfile="StreamNode.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="edu.mit.streamjit.impl.distributed.node.StreamNode" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="bin" />
<zipfileset excludes="META-INF/*.SF" src="lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/jsonp/javax.json-1.0-fab.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/ASM/asm-debug-all-4.1.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/ServiceProviderProcessor/ServiceProviderProcessor.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/JOptSimple/jopt-simple-4.5.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/sqlite/sqlite-jdbc-3.7.2.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/Guava/guava-15.0.jar" />
<zipfileset excludes="META-INF/*.SF" src="lib/BridJ/bridj-0.7-20140122.002307-56-c-only.jar" />
</jar>
</target>

<target name="exportAll" depends="exportApp.jar, exportStreamNode.jar">
</target>

<target name="runStreamNode" description="Runs two instances of StreamNode.jar">
<exec dir="." executable="gnome-terminal" osfamily="unix">
<arg value="--tab" />
<arg value="-e" />
<arg value="java -jar StreamNode.jar" />
<arg value="--tab" />
<arg value="-e" />
<arg value="java -jar StreamNode.jar" />
</exec>
</target>

<target name="runAll" description="Runs app.jar and two instances of StreamNode.jar">
<exec dir="." executable="gnome-terminal" osfamily="unix">
<arg value="--tab" />
<arg value="-e" />
<arg value="java -jar ${app}.jar" />
<arg value="--tab" />
<arg value="-e" />
<arg value="java -jar StreamNode.jar" />
<arg value="--tab" />
<arg value="-e" />
<arg value="java -jar StreamNode.jar" />
</exec>
</target>

<target name="exportAndRunAll" depends="exportAll, runAll">
</target>

<target name="sendtoLanka" depends="exportAll, getLogin">
<scp trust="true" sftp="true" todir="${username}:${password}@lanka.csail.mit.edu:/data/scratch/${username}/${app}">
<fileset file="StreamNode.jar" />
<fileset file="${app}.jar" />
<fileset file="optionsLanka.properties" />
</scp>
</target>

<target name="getLogin">
<input message="Enter Username:" addproperty="username" />
<input message="Enter Password:" addproperty="password">
<handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>
<!--echo message="Username: ${username}" /-->
<!--echo message="Password: ${password}" /-->
</target>

<target name="remotesetup" depends="sendtoLanka, createDownloadScript">
<sshexec trust="true" host="lanka.csail.mit.edu" username="${username}" password="${password}" command="/data/scratch/${username}/setup.sh ${app} ${streamGraphName} ${numOfSNs}" />
</target>

<!--http://www.vogella.com/tutorials/ApacheAnt/article.html-->
<!-- The value of a property is accessed via ${} -->
<property name="src.dir" location="src" />
<property name="lib.dir" location="lib" />
<property name="build.dir" location="bin" />

<!--Create a classpath container which can be later used in the ant task-->
<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>

<!-- Deletes the existing build directory-->
<target name="clean">
<delete dir="${build.dir}" />
</target>

<!-- Creates the build directory-->
<target name="makedir">
<mkdir dir="${build.dir}" />
</target>

<!-- Compiles the java code -->
<target name="compile" depends="clean, makedir">
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" />
</target>

<target name="createDownloadScript">
<echo file="../Experiments/${app}.sh" append="false">#!/bin/bash
#Author - Sumanan
app=${app}
mainClass=${streamGraphName}
if [ -d $app ]; then
echo "$app exists. No downloads..."
exit
fi
mkdir -p $app
cd $app
mkdir -p $mainClass
scp -r ${username}@lanka.csail.mit.edu:/data/scratch/${username}/$app/$mainClass/\{summary,*.txt,*.orig,streamgraph.dot\} $mainClass/
scp -r ${username}@lanka.csail.mit.edu:/data/scratch/${username}/$app/\{*.sh,slurm-*,options.properties\} .
#to download everything.
#rsync -avh --progress ${username}@lanka.csail.mit.edu:/data/scratch/${username}/$app .
</echo>
</target>
</project>
46 changes: 26 additions & 20 deletions lib/opentuner/streamjit/onlinetuner.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,26 @@

class StreamJitMI(MeasurementInterface):
''' Measurement Interface for tunning a StreamJit application'''
def __init__(self, args, ss, manipulator, inputmanager, objective):
def __init__(self, args, configuration, connection, manipulator, inputmanager, objective):
super(StreamJitMI, self).__init__(args = args, program_name = args.program, manipulator = manipulator, input_manager = inputmanager, objective = objective)
self.sdk = ss
self.connection = connection
self.trycount = 0
self.config = configuration

def run(self, desired_result, input, limit):
self.trycount = self.trycount + 1
print self.trycount
cfg = desired_result.configuration.data
#self.niceprint(cfg)
self.sdk.sendmsg("%s\n"%cfg)
msg = self.sdk.recvmsg()

cfg_data = desired_result.configuration.data
#self.niceprint(cfg_data)
for k in self.config.params:
self.config.getParameter(k).update_value_for_json(cfg_data)
self.connection.sendmsg(self.config.toJSON())

msg = self.connection.recvmsg()
if (msg == "exit\n"):
#data = raw_input ( "exit cmd received. Press Keyboard to exit..." )
self.sdk.close()
self.connection.close()
sys.exit(1)
exetime = float(msg)
if exetime < 0:
Expand All @@ -55,31 +60,32 @@ def program_version(self):

def save_final_config(self, configuration):
'''called at the end of autotuning with the best resultsdb.models.Configuration'''
cfg = configuration.data
print "Final configuration", cfg
self.sdk.sendmsg("Completed")
self.sdk.sendmsg("%s\n"%cfg)
self.sdk.close()
cfg_data = configuration.data
print "Final configuration", cfg_data
for k in self.config.params:
self.config.getParameter(k).update_value_for_json(cfg_data)

self.connection.sendmsg("Completed")
self.connection.sendmsg(self.config.toJSON())
self.connection.close()
sys.exit(0)


def main(args, cfg, ss):
def main(args, cfg, connection):
logging.basicConfig(level=logging.INFO)
manipulator = ConfigurationManipulator()

params = cfg.getAllParameters()
#print "\nFeature variables...."
for key in params.keys():
#print "\t", key
manipulator.add_parameter(cfg.getParameter(key))
for p in cfg.getAllParameters().values():
manipulator.add_parameter(p)

mi = StreamJitMI(args, ss, manipulator, FixedInputManager(),
mi = StreamJitMI(args, cfg, connection, manipulator, FixedInputManager(),
MinimizeTime())

m = TuningRunMain(mi, args)
m.main()

def start(argv, cfg, ss):
def start(argv, cfg, connection):
log = logging.getLogger(__name__)
parser = argparse.ArgumentParser(parents=opentuner.argparsers())

Expand All @@ -90,4 +96,4 @@ def start(argv, cfg, ss):
if not args.database:
args.database = 'sqlite:///' + args.program + '.db'

main(args, cfg, ss)
main(args, cfg, connection)
4 changes: 2 additions & 2 deletions lib/opentuner/streamjit/sjparameters.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import deps #fix sys.path
import random
import opentuner
from opentuner.search.manipulator import IntegerParameter, FloatParameter, SwitchParameter, PermutationParameter, ArrayParameter
from opentuner.search.manipulator import IntegerParameter, FloatParameter, SwitchParameter, PermutationParameter, ParameterArray

class sjIntegerParameter(IntegerParameter):
def __init__(self, name, min, max, value, javaClass = None, **kwargs):
Expand Down Expand Up @@ -86,7 +86,7 @@ def json_replacement(self):
"universe": self.universe,
"class": self.javaClass}

class sjCompositionParameter(ArrayParameter):
class sjCompositionParameter(ParameterArray):
def __init__(self, name, values, javaClass):
super(sjCompositionParameter, self).__init__(name, len(values), FloatParameter, 0.0, 1.0)
self.values = values
Expand Down
Loading