[snee] r1372 committed - multitude of small changes to fix bugs in condor runs.

0 views
Skip to first unread message

sn...@googlecode.com

unread,
May 2, 2013, 8:07:11 AM5/2/13
to snee-...@googlegroups.com
Revision: 1372
Author: alan.bar...@gmail.com
Date: Thu May 2 05:06:41 2013
Log: multitude of small changes to fix bugs in condor runs.
http://code.google.com/p/snee/source/detail?r=1372

Added:

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/Storage.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/successorrelation/AdaptationMonitor.java
Modified:

/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/CondorReliableChannelClient.java

/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/utils/collateResults.java

/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/CondorSuccessorClient.java

/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/utils/CondorScriptGenerator.java

/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEProperties.java

/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEPropertyNames.java

/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CardinalityEstimatedCostModel.java

/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CollectionOfPackets.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/AutonomicManagerImpl.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/Adaptation.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/AdaptationUtils.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/executer/Executer.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/failednodestrategies/logicaloverlaynetwork/LogicalOverlayStrategy.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/Planner.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/costbenifitmodel/model/channel/ChannelModelSite.java

/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/successorrelation/SuccessorRelationManager.java

=======================================
--- /dev/null
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/Storage.java
Thu May 2 05:06:41 2013
@@ -0,0 +1,37 @@
+package uk.ac.manchester.cs.snee.manager.planner;
+
+
+
+public class Storage
+{
+ private Double robustLifetime;
+ private Double naiveLifetime;
+
+ public Storage(Double rLife, Double nLife)
+ {
+ setRobustLifetime(rLife);
+ setNaiveLifetime(nLife);
+ }
+
+ public void setRobustLifetime(Double robustLifetime)
+ {
+ this.robustLifetime = robustLifetime;
+ }
+
+ public Double getRobustLifetime()
+ {
+ return robustLifetime;
+ }
+
+ public void setNaiveLifetime(Double naiveLifetime)
+ {
+ this.naiveLifetime = naiveLifetime;
+ }
+
+ public Double getNaiveLifetime()
+ {
+ return naiveLifetime;
+ }
+
+
+}
=======================================
--- /dev/null
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/successorrelation/AdaptationMonitor.java
Thu May 2 05:06:41 2013
@@ -0,0 +1,56 @@
+package uk.ac.manchester.cs.snee.manager.planner.successorrelation;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import uk.ac.manchester.cs.snee.compiler.OptimizationException;
+import uk.ac.manchester.cs.snee.manager.common.Adaptation;
+import uk.ac.manchester.cs.snee.manager.common.AdaptationUtils;
+import uk.ac.manchester.cs.snee.manager.common.RunTimeSite;
+import uk.ac.manchester.cs.snee.manager.common.StrategyAbstract;
+import uk.ac.manchester.cs.snee.manager.common.StrategyIDEnum;
+import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.ChoiceAssessor;
+import
uk.ac.manchester.cs.snee.manager.planner.successorrelation.successor.Successor;
+import
uk.ac.manchester.cs.snee.manager.planner.successorrelation.successor.SuccessorPath;
+import uk.ac.manchester.cs.snee.metadata.CostParameters;
+import uk.ac.manchester.cs.snee.metadata.MetadataManager;
+import uk.ac.manchester.cs.snee.metadata.schema.SchemaMetadataException;
+import uk.ac.manchester.cs.snee.metadata.schema.TypeMappingException;
+import uk.ac.manchester.cs.snee.metadata.source.SourceMetadataAbstract;
+import uk.ac.manchester.cs.snee.metadata.source.sensornet.Topology;
+import uk.ac.manchester.cs.snee.sncb.CodeGenerationException;
+
+public class AdaptationMonitor
+{
+
+ public static void
+ outputAdaptationDataBetweenSuccessors(SuccessorPath successor,
+ SourceMetadataAbstract _metadata,
+ MetadataManager _metadataManager,
+ File outputFolder, Topology
network,
+ HashMap<String, RunTimeSite>
runningSites,
+ CostParameters costs)
+ throws IOException, OptimizationException, SchemaMetadataException,
+ TypeMappingException, CodeGenerationException
+ {
+ Iterator<Successor> successorIterator =
successor.getSuccessorList().iterator();
+ Successor first = successorIterator.next();
+ int coutner = 1;
+ while(successorIterator.hasNext())
+ {
+ Successor second = successorIterator.next();
+ ChoiceAssessor assessor =
+ new ChoiceAssessor(_metadata, _metadataManager, outputFolder,
network);
+ Adaptation adapt =
+ StrategyAbstract.generateAdaptationObject(first.getQep(),
second.getQep());
+ assessor.assessChoice(adapt, runningSites, true);
+ AdaptationUtils utils = new AdaptationUtils(adapt, costs);
+ utils.FileOutput(outputFolder, coutner);
+ coutner++;
+ first = second;
+ }
+ }
+
+}
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/CondorReliableChannelClient.java
Sun Mar 3 14:33:24 2013
+++
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/CondorReliableChannelClient.java
Thu May 2 05:06:41 2013
@@ -133,7 +133,7 @@

SNEEProperties.setSetting(SNEEPropertyNames.RUN_AVRORA_SIMULATOR, "FALSE");

SNEEProperties.setSetting(SNEEPropertyNames.RUN_AVRORA_SIMULATOR, "FALSE");

SNEEProperties.setSetting(SNEEPropertyNames.WSN_MANAGER_INITILISE_FRAMEWORKS, "FALSE");
-
SNEEProperties.setSetting(SNEEPropertyNames.WSN_MANAGER_UNRELIABLE_CHANNELS_NOISEMODEL, "meyer-heavy.txt");
+
SNEEProperties.setSetting(SNEEPropertyNames.WSN_MANAGER_UNRELIABLE_CHANNELS_NOISEMODEL, "TTX4-DemoNoiseTrace.txt");

control.addQuery(_query, _queryParams, seed, distanceConverter);
getController().close();
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/utils/collateResults.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/utils/collateResults.java
Thu May 2 05:06:41 2013
@@ -22,7 +22,7 @@
{
try
{
- File root = new File("/local/BigSubmit/BigSubmit2/");
+ File root = new File("/local/ChannelJoin/");
HashMap<String, Query> data = new HashMap<String, Query>();
File[] listedFiles = root.listFiles();
int max = listedFiles.length;
@@ -77,7 +77,7 @@
{
HashMap<String, Query> averagedData = new HashMap<String, Query>();
File distanceOutput = null;
- File output = new File("/local/BigSubmit/output");
+ File output = new File("/local/output");
output.mkdir();
Iterator<String> queryKeys = data.keySet().iterator();
while(queryKeys.hasNext())
@@ -112,8 +112,6 @@
while(queryKeys.hasNext())
{
String queryKey = queryKeys.next();
- if(queryKey.equals("query68"))
- System.out.println();
File queryOutput = new File(output.toString() + sep + queryKey);
HashMap<String, Distance> distances =
averagedData.get(queryKey).getData();
Iterator<String> distanceKeys = distances.keySet().iterator();
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/CondorSuccessorClient.java
Fri Mar 1 10:09:26 2013
+++
/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/CondorSuccessorClient.java
Thu May 2 05:06:41 2013
@@ -62,12 +62,13 @@
query = query.replace("_", " ");
String propertiesPath = args[1];
queryid = Integer.parseInt(args[2]);
+ int nodeFailureCount = Integer.parseInt(args[3]);
//File output = new File("output");
//output.mkdir();
//File result = new File(output.toString() + "/" + "ran" + query +
queryid);
//result.mkdir();
// System.out.println("made folder output and " + output.toString()
+ "/" + "ran" + query + queryid);
- recursiveRun(query, duration, queryParams, true, propertiesPath) ;
+ recursiveRun(query, duration, queryParams, true, propertiesPath,
nodeFailureCount) ;
}
catch (Exception e)
{
@@ -80,7 +81,8 @@

private static void recursiveRun(String currentQuery,
Long duration, String queryParams,
- boolean allowDeathOfAcquires, String
propertiesPath)
+ boolean allowDeathOfAcquires, String
propertiesPath,
+ int nodeFailureCount)
throws IOException
{
System.out.println("Running Tests on query " + (queryid));
@@ -95,7 +97,7 @@
System.out.println("setting queryid");
contol.setQueryID(queryid);
System.out.println("running compilation");
- client.runCompilelation();
+ client.runCompilelation(nodeFailureCount);
System.out.println("Ran all tests on query " + queryid);
queryid ++;
}
@@ -108,7 +110,7 @@
}
}

- private void runCompilelation()
+ private void runCompilelation(Integer nodeFailureCount)
throws
SNEECompilerException, MalformedURLException,
EvaluatorException, SNEEException, MetadataException,
@@ -130,6 +132,7 @@

SNEEProperties.setSetting(SNEEPropertyNames.RUN_AVRORA_SIMULATOR, "FALSE");

SNEEProperties.setSetting(SNEEPropertyNames.RUN_AVRORA_SIMULATOR, "FALSE");

SNEEProperties.setSetting(SNEEPropertyNames.WSN_MANAGER_INITILISE_FRAMEWORKS, "FALSE");
+
SNEEProperties.setSetting(SNEEPropertyNames.WSN_MANAGER_SUCCESSOR_NODE_FAILURES,
nodeFailureCount.toString());

control.addQuery(_query, _queryParams);
getController().close();
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/utils/CondorScriptGenerator.java
Wed Mar 13 03:48:31 2013
+++
/branches/alan_2012_07_19_unreliableChannels/clients/successorClient/src/main/java/uk/ac/manchester/snee/client/utils/CondorScriptGenerator.java
Thu May 2 05:06:41 2013
@@ -44,33 +44,61 @@
"#Error = error$(Process).txt \nlog = log.txt \nOutput =
out.txt \n"+
"Error = err.txt \nnotification = error \n \n");
int queryID = 1;
+ int maxNodefailure = 8;
Iterator<String> queryIterator = queries.iterator();
while(queryIterator.hasNext())
{
String query = queryIterator.next();
- if(!checkIDs)
+ for(int nodeFailureCount = 1; nodeFailureCount <= maxNodefailure;
nodeFailureCount++)
{
- out.write("Arguments = " + query + " " + "snee" + queryID
+ ".properties" +
- " " + queryID + " " + "\ninitialdir = query" +
queryID +
- "\nqueue \n \n");
- //make folder for the output to be stored in.
- File outputFolder = new File(condorFile.toString() + sep
+ "query" + queryID);
- outputFolder.mkdir();
- }
- else
- {
- if(validIds.contains(queryID))
+ if(!checkIDs)
{
out.write("Arguments = " + query + " " + "snee" + queryID
+ ".properties" +
- " " + queryID + " " + "\ninitialdir = query" + queryID +
- "\nqueue \n \n");
+ " " + queryID + " "+ nodeFailureCount + " " +
+ "\ninitialdir = query" + queryID + "." +
nodeFailureCount +
+ "\nqueue \n \n");
//make folder for the output to be stored in.
- File outputFolder = new File(condorFile.toString() + sep
+ "query" + queryID);
+ File outputFolder = new File(condorFile.toString() + sep
+ "query" + queryID + "." + nodeFailureCount);
outputFolder.mkdir();
}
+ else
+ {
+ if(validIds.contains(queryID))
+ {
+ out.write("Arguments = " + query + " " + "snee" + queryID
+ ".properties" +
+ " " + queryID + " " + nodeFailureCount + " "
+ "\ninitialdir = query" + queryID +
+ "." + nodeFailureCount + "\nqueue \n \n");
+ //make folder for the output to be stored in.
+ File outputFolder = new File(condorFile.toString() + sep
+ "query" + queryID + "." + nodeFailureCount);
+ outputFolder.mkdir();
+ }
+ }
}
queryID++;
}
+
+ ArrayList<String> sniperqueries = new ArrayList<String>();
+
sniperqueries.add("SELECT_RSTREAM_anow.x_as_qx_FROM_DetectorA[NOW]_anow_;");
+
sniperqueries.add("SELECT_RSTREAM_AVG(anow.x)_as_qx_FROM_DetectorA[NOW]_anow_;");
+ sniperqueries.add("SELECT * FROM DetectorA[now] a, DetectorB[now] b
where a.x > b.x;");
+ queryIterator = sniperqueries.iterator();
+ queryID = 1;
+ while(queryIterator.hasNext())
+ {
+ String query = queryIterator.next();
+ for(int nodeFailureCount = 1; nodeFailureCount <= maxNodefailure;
nodeFailureCount++)
+ {
+ out.write("Arguments = " + query + " " + "sneeSnipe.properties" +
+ " " + queryID + " "+ nodeFailureCount + " " +
+ "\ninitialdir = snipe" + queryID + "." + nodeFailureCount +
+ "\nqueue \n \n");
+ //make folder for the output to be stored in.
+ File outputFolder = new File(condorFile.toString() + sep
+ "snipe" + queryID + "." + nodeFailureCount);
+ outputFolder.mkdir();
+ }
+ queryID++;
+ }
+
out.flush();
out.close();

=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEProperties.java
Fri Feb 15 10:30:48 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEProperties.java
Thu May 2 05:06:41 2013
@@ -346,7 +346,7 @@
}
else
if(propName.equals("wsn_manager.unreliable.channels.pathLossExponent"))
{
- setSetting(propName, "2");
+ setSetting(propName, "3");
return getSetting(propName);
}
else
if(propName.equals("wsn_manager.unreliable.channels.simulationLength"))
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEPropertyNames.java
Fri Feb 15 10:30:48 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/common/SNEEPropertyNames.java
Thu May 2 05:06:41 2013
@@ -328,6 +328,8 @@
*/
public static final String WSN_MANAGER_EXECUTOR_EDGE_TUPLES
= "wsn_manager.executor.edge.tuples";
public static final String WSN_MANAGER_EXECUTOR_EDGE_LIFE
= "wsn_manager.executor.edge.lifetime";
+
+ public static final String WSN_MANAGER_SUCCESSOR_NODE_FAILURES
= "wsn_manager.successor_nodeFailureCount";

}

=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CardinalityEstimatedCostModel.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CardinalityEstimatedCostModel.java
Thu May 2 05:06:41 2013
@@ -232,6 +232,13 @@
new CardinalityDataStructure(0, 0);
return output;
}
+
+ if(!sucessfulReads(reducedInputs))
+ {
+ CardinalityDataStructure output =
+ new CardinalityDataStructure(0, 0);
+ return output;
+ }
//System.out.println("join newInput size is " + reducedInputs.size());
CardinalityDataStructure inputR = reducedInputs.get(0);
CardinalityDataStructure inputL = reducedInputs.get(1);
@@ -266,6 +273,20 @@
return output;
}

+ private boolean sucessfulReads(ArrayList<CardinalityDataStructure>
reducedInputs)
+ {
+ try
+ {
+ CardinalityDataStructure inputR = reducedInputs.get(0);
+ CardinalityDataStructure inputL = reducedInputs.get(1);
+ return true;
+ }
+ catch(Exception e)
+ {
+ return false;
+ }
+ }
+
protected CostModelDataStructure deliverModel(InstanceOperator
inputOperator)
throws OptimizationException
{
@@ -328,6 +349,11 @@
if(operator.isNodeDead())
return new CardinalityDataStructureChannel(new ArrayList<Window>());
String extent = operator.getExtent();
+ if(extent == null)
+ {
+ InstanceOperator op = (InstanceOperator) operator.getInput(0);
+ extent= op.getExtent();
+ }
ArrayList<Window> outputWindows = new ArrayList<Window>();

Iterator<Window> inputWindows =inputs.getWindowsOfExtent(operator,
extent).iterator();
@@ -481,6 +507,8 @@
doneExtents.add(currentExtent);
}
}
+
+

String extent1 = doneExtents.get(0);
String extent2 = doneExtents.get(1);
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CollectionOfPackets.java
Tue Mar 5 10:56:33 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-core/src/main/java/uk/ac/manchester/cs/snee/compiler/costmodels/cardinalitymodel/CollectionOfPackets.java
Thu May 2 05:06:41 2013
@@ -71,7 +71,11 @@
{
opExtent = op.getExtent();
}
- if(extent.equals(opExtent))
+ if(opExtent == null )
+ this.updateCollection(operator,this.windows.get(op),
allInputWindows);
+ if(extent == null )
+ this.updateCollection(operator,this.windows.get(op),
allInputWindows);
+ else if(extent.equals(opExtent))
this.updateCollection(operator,this.windows.get(op),
allInputWindows);
}
return allInputWindows.get(operator);
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/AutonomicManagerImpl.java
Wed Mar 13 03:48:31 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/AutonomicManagerImpl.java
Thu May 2 05:06:41 2013
@@ -40,6 +40,7 @@
import uk.ac.manchester.cs.snee.manager.executer.Executer;
import uk.ac.manchester.cs.snee.manager.monitor.Monitor;
import uk.ac.manchester.cs.snee.manager.planner.Planner;
+import uk.ac.manchester.cs.snee.manager.planner.Storage;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.ChoiceAssessorPreferenceEnum;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.model.Model;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.model.energy.SiteEnergyModel;
@@ -605,6 +606,11 @@

}

+ public SourceMetadataAbstract get_metadata()
+ {
+ return _metadata;
+ }
+
public MetadataManager get_metadataManager()
{
return _metadataManager;
@@ -632,12 +638,12 @@
* @throws NumberFormatException
* @throws CodeGenerationException
*/
- public void
calculateLifetimeDifferenceFromDeployments(RobustSensorNetworkQueryPlan
rQEP,
+ public Storage
calculateLifetimeDifferenceFromDeployments(RobustSensorNetworkQueryPlan
rQEP,

SensorNetworkQueryPlan qep, Long seed,
Double
distanceConverter)
throws NumberFormatException, SNEEConfigurationException,
OptimizationException,
SchemaMetadataException, TypeMappingException, IOException,
CodeGenerationException
{
- this.executer.calculateLifetimeDifferenceFromDeployments(rQEP, qep,
seed, distanceConverter);
+ return this.executer.calculateLifetimeDifferenceFromDeployments(rQEP,
qep, seed, distanceConverter);
}
}
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/Adaptation.java
Fri Aug 17 09:48:15 2012
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/Adaptation.java
Thu May 2 05:06:41 2013
@@ -49,27 +49,6 @@
this.setId(id);
this.numberID = numberID;
}
-
- /**
- * constructor
- * @param oldQep
- * @param id
- * @param numberID
- *
- */
- public Adaptation(SensorNetworkQueryPlan oldQep, SensorNetworkQueryPlan
newQep,
- StrategyIDEnum id, int numberID)
- {
- reprogrammingSites = new ArrayList<String>();
- redirectedionSites = new ArrayList<String>();
- temporalSites = new ArrayList<TemporalAdjustment>();
- deactivationSites = new ArrayList<String>();
- activateSites = new ArrayList<String>();
- this.setOldQep(oldQep);
- this.setNewQep(newQep);
- this.setId(id);
- this.numberID = numberID;
- }

/**
* returns an arraylist of all sites which are affected by the temporal
adjustments.
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/AdaptationUtils.java
Wed Feb 29 05:52:41 2012
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/common/AdaptationUtils.java
Thu May 2 05:06:41 2013
@@ -140,6 +140,31 @@
new
RTUtils(adapt.getOldQep().getRT()).exportAsDotFile(adaptFolder.toString() +
sep + "oldRT");
}
}
+
+ public void FileOutput(File outputFolder, int coutner) throws IOException
+ {
+ File adaptFolder = new File(outputFolder.toString() + sep
+ "Adaptations");
+ adaptFolder.mkdir();
+ File outputFile = new File(adaptFolder.toString() + sep + "adaptList"
+ coutner);
+ BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
+ if(adapt != null)
+ {
+ writer.write(adapt.toString() + "\n");
+ }
+ else
+ {
+ Iterator<Adaptation> adaptIterator = adaptList.iterator();
+ while(adaptIterator.hasNext())
+ {
+ Adaptation cAdapt = adaptIterator.next();
+ if(cAdapt != null)
+ writer.write(cAdapt.toString() + "\n");
+ }
+ }
+ writer.flush();
+ writer.close();
+
+ }


}
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/executer/Executer.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/executer/Executer.java
Thu May 2 05:06:41 2013
@@ -24,6 +24,7 @@
import uk.ac.manchester.cs.snee.manager.common.AutonomicManagerComponent;
import uk.ac.manchester.cs.snee.manager.common.RunTimeSite;
import
uk.ac.manchester.cs.snee.manager.failednodestrategies.logicaloverlaynetwork.LogicalOverlayStrategy;
+import uk.ac.manchester.cs.snee.manager.planner.Storage;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.model.channel.ChannelModel;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.model.channel.ChannelModelSite;
import
uk.ac.manchester.cs.snee.manager.planner.costbenifitmodel.model.channel.ChannelModelUtils;
@@ -54,6 +55,7 @@
{
manager = autonomicManager;
runningSites = manager.getCopyOfRunningSites();
+ this._metadata = manager.get_metadata();
}

public void adapt(Adaptation finalChoice)
@@ -374,12 +376,13 @@
cleardataStores();
}

- public void
calculateLifetimeDifferenceFromDeployments(RobustSensorNetworkQueryPlan
rQEP,
+ public Storage
calculateLifetimeDifferenceFromDeployments(RobustSensorNetworkQueryPlan
rQEP,

SensorNetworkQueryPlan qep, Long seed,
Double
distanceConverter)
throws NumberFormatException, SNEEConfigurationException,
OptimizationException,
SchemaMetadataException, TypeMappingException, IOException,
CodeGenerationException
{
+ this._metadata = this.manager.get_metadata();
SNEEProperties.setSetting("distanceFactor", new
Double(distanceConverter).toString());
File distanceFactorFolder =
new File(this.executerOutputFolder.toString() + sep +
distanceConverter);
@@ -393,9 +396,12 @@
String queryid = manager.getQueryID();
DecimalFormat format = new DecimalFormat("#.##");
BufferedWriter out = new BufferedWriter(new FileWriter(new
File(robustFolder.toString() + sep + "lifetimes")));
- out.write(queryid + " " + format.format(overallQEPShortestLifetime)
+ " " + format.format(overallRQEPShortestLifetime));
+ double overallQEPShortestLifetimeA = overallQEPShortestLifetime /
(rQEP.getUnreliableAgenda().getDeliveryTime_ms() / 1000);
+ double overallRQEPShortestLifetimeA = overallRQEPShortestLifetime /
(rQEP.getUnreliableAgenda().getDeliveryTime_ms() / 1000);
+ out.write(queryid + " " + format.format(overallQEPShortestLifetimeA)
+ " " + format.format(overallRQEPShortestLifetimeA));
out.flush();
out.close();
+ return new Storage(overallRQEPShortestLifetime,
overallQEPShortestLifetime);
}


@@ -420,6 +426,7 @@
IOException, SNEEConfigurationException, CodeGenerationException
{
boolean alive = true;
+ network = manager.getWsnTopology();
ArrayList<String> globalFailedNodes = new ArrayList<String>();
double overallQEPShortestLifetime = 0;
LogicalOverlayStrategy logicalOverlayGenerator = new
LogicalOverlayStrategy(this.manager, this._metadata,
@@ -430,9 +437,9 @@
{
LogicalOverlayNetworkHierarchy skelOverlay =
new
LogicalOverlayNetworkHierarchy(logicalOverlayGenerator.getLogicalOverlay(),
- qep, manager.getWsnTopology());
+ QEP, manager.getWsnTopology());
ChannelModel channelModel =
- new ChannelModel(skelOverlay, qep.getAgendaIOT(),
+ new ChannelModel(skelOverlay, QEP.getAgendaIOT(),
manager.getWsnTopology().getMaxNodeID(),
manager.getWsnTopology(),
manager.getCostsParamters(), robustFolder, seed,
false);
ArrayList<RunTimeSite> qepCostAveragesQeps = simulateRunOfQEP(QEP,
channelModel, skelOverlay);
@@ -443,7 +450,11 @@
RunTimeSite oldQEPCostContainer =
this.runningSites.get(newQEPCostContainer.toString());

oldQEPCostContainer.setQepExecutionCost(newQEPCostContainer.getQepExecutionCost());
}
- double agendaLength =
Agenda.bmsToMs(rQEP.getAgendaIOT().getLength_bms(false))/new Double(1000);
// ms to s
+ double agendaLength = 0.0;
+ if(QEP.getAgendaIOT() == null)
+ agendaLength =
Agenda.bmsToMs(QEP.getAgenda().getLength_bms(false))/new Double(1000); //
ms to s
+ else
+ agendaLength =
Agenda.bmsToMs(QEP.getAgendaIOT().getLength_bms(false))/new Double(1000);
// ms to s

//locate weakest node
Iterator<Node> siteIter = this.network.siteIterator();
@@ -486,8 +497,11 @@
List<Adaptation> result =
logicalOverlayGenerator.adapt(failedNodeIDs,
logicalOverlayGenerator.getLogicalOverlay());
if(result.size() == 0)
alive = false;
- QEP = result.get(0).getNewQep();
- shortestLifetime = Double.MAX_VALUE;
+ else
+ {
+ QEP = result.get(0).getNewQep();
+ shortestLifetime = Double.MAX_VALUE;
+ }
}
else
{
@@ -516,6 +530,7 @@
OptimizationException, SchemaMetadataException, TypeMappingException
{
this.network = this.manager.getWsnTopology();
+ this.runningSites = this.manager.getCopyOfRunningSites();
boolean alive = true;
ArrayList<String> globalFailedNodes = new ArrayList<String>();
double overallRQEPShortestLifetime = 0;
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/failednodestrategies/logicaloverlaynetwork/LogicalOverlayStrategy.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/failednodestrategies/logicaloverlaynetwork/LogicalOverlayStrategy.java
Thu May 2 05:06:41 2013
@@ -405,8 +405,20 @@
if(opInst.getOutput(0) instanceof InstanceExchangePart)
{
InstanceExchangePart exOpInst = (InstanceExchangePart)
opInst.getOutput(0);
+
exOpInst.removeInput(opInst);
exOpInst.setPrev(null);
+ Iterator<InstanceExchangePart> eqivExchangeIterator =
+ equivilentSite.getInstanceExchangeComponents().iterator();
+ while(eqivExchangeIterator.hasNext())
+ {
+ InstanceExchangePart eqPart = eqivExchangeIterator.next();
+ if(exOpInst.getID().equals(eqPart.getNext().getID()))
+ {
+ exOpInst.setPreviousExchange(eqPart);
+ exOpInst.addInput(eqPart);
+ }
+ }
}
}
}
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/Planner.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/Planner.java
Thu May 2 05:06:41 2013
@@ -483,12 +483,17 @@
// assessor.assessOverlayChoice(storage, runningSites,
rQEP.getLogicalOverlayNetwork(),
// local, channelModel);
boolean runLifeSim =
SNEEProperties.getBoolSetting(SNEEPropertyNames.WSN_MANAGER_EXECUTOR_EDGE_LIFE);
- runLifeSim = true;
+ runLifeSim = false;
if(runLifeSim)
- manager.calculateLifetimeDifferenceFromDeployments(rQEP, qep, seed,
distanceConverter);
- // System.out.println("new robust lifetime = " +
- // (storage.getLifetimeEstimate() /
- //
(rQEP.getUnreliableAgenda().getDeliveryTime_ms() / 1000)));
+ {
+ Storage storage =
manager.calculateLifetimeDifferenceFromDeployments(rQEP, qep, seed,
distanceConverter);
+ System.out.println("new robust lifetime = " +
+ (storage.getRobustLifetime() /
+ (rQEP.getUnreliableAgenda().getDeliveryTime_ms()
/ 1000)));
+ System.out.println("new robust lifetime = " +
+ (storage.getNaiveLifetime() /
+ (rQEP.getUnreliableAgenda().getDeliveryTime_ms() / 1000)));
+ }
return rQEP;
}

=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/costbenifitmodel/model/channel/ChannelModelSite.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/costbenifitmodel/model/channel/ChannelModelSite.java
Thu May 2 05:06:41 2013
@@ -124,9 +124,12 @@
public void recivedInputPacket(String source, int packetID)
{
ArrayList<Boolean> packets = arrivedPackets.get(source);
- arrivedPackets.remove(source);
- packets.set(packetID -1, true);
- arrivedPackets.put(source, packets);
+ if(packetID -1 < packets.size())
+ {
+ arrivedPackets.remove(source);
+ packets.set(packetID -1, true);
+ arrivedPackets.put(source, packets);
+ }
if(!needToListenTo.contains(source))
needToListenTo.add(source);
}
@@ -140,7 +143,7 @@
{
ArrayList<Boolean> packets = arrivedPackets.get(child);
if(packets == null)
- System.out.println();
+ return false;
Iterator<Boolean> packetIterator = packets.iterator();
int counter = 0;
while(packetIterator.hasNext())
@@ -273,10 +276,13 @@
public void recivedSiblingPacket(String string, int packetID)
{
ArrayList<Boolean> packetsFromSibling = arrivedPackets.get(string);
- packetsFromSibling.set(packetID -1, true);
- arrivedPackets.remove(string);
- arrivedPackets.put(string, packetsFromSibling);
- siblingTransmissions++;
+ if(packetID < packetsFromSibling.size())
+ {
+ packetsFromSibling.set(packetID -1, true);
+ arrivedPackets.remove(string);
+ arrivedPackets.put(string, packetsFromSibling);
+ siblingTransmissions++;
+ }
}

public int heardSiblings()
@@ -436,6 +442,9 @@
previousOp == null )
{
int maxTransmittablePacketCount =
exOp.getmaxPackets(IOT.getDAF(), beta, costs, !reliableChannelQEP);
+ if(currentPacketCount == null || exOp == null ||
exOp.getPrevious() == null ||
+ exOp.getPrevious().getSite() == null ||
exOp.getPrevious().getSite().getID() == null)
+ System.out.println();
Integer cPacketCount =
currentPacketCount.get(exOp.getPrevious().getSite().getID());
if(cPacketCount == null)
cPacketCount = 0;
@@ -478,6 +487,8 @@
List<Attribute> attributes =
op.getSensornetOperator().getLogicalOperator().getAttributes();
preivousOutputExtent = attributes.get(1).toString();
previousOp = op;
+ if(preivousOutputExtent == null)
+ System.out.println();
op.setExtent(preivousOutputExtent);
tuples.updateCollection(op, tuples.createAcquirePacket(beta));
}
@@ -1097,7 +1108,7 @@
else
usedUpPackets = usedPackets.get(preOp.getSite().getID());
int removeCoutner = 0;
- while(removeCoutner < usedUpPackets)
+ while(removeCoutner < usedUpPackets &&
receivedPacketBoolIterator.hasNext())
{
receivedPacketBoolIterator.next();
removeCoutner++;
@@ -1150,6 +1161,8 @@

int packetsRecieved = 0;
ArrayList<Boolean> packets = arrivedPackets.get(child);
+ if(packets == null)
+ return 0;
int index = 0;
int firstPoint = startingPoint;
int packetsSent = 0;
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/successorrelation/SuccessorRelationManager.java
Fri Mar 22 04:35:43 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/planner/successorrelation/SuccessorRelationManager.java
Thu May 2 05:06:41 2013
@@ -1,10 +1,15 @@
package uk.ac.manchester.cs.snee.manager.planner.successorrelation;


+import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -20,6 +25,8 @@
import uk.ac.manchester.cs.snee.SNEEDataSourceException;
import uk.ac.manchester.cs.snee.SNEEException;
import uk.ac.manchester.cs.snee.common.SNEEConfigurationException;
+import uk.ac.manchester.cs.snee.common.SNEEProperties;
+import uk.ac.manchester.cs.snee.common.SNEEPropertyNames;
import uk.ac.manchester.cs.snee.common.graph.Node;
import uk.ac.manchester.cs.snee.compiler.AgendaException;
import uk.ac.manchester.cs.snee.compiler.OptimizationException;
@@ -101,10 +108,13 @@
search = new TabuSearch(manager.getWsnTopology(), runningSites,
_metadata, _metadataManager, TABUFolder);
SuccessorPath bestSuccessorRelation =
search.findSuccessorsPath(initialPoint);
new SuccessorRelationManagerUtils(this.manager,
successorFolder).writeSuccessorToFile(bestSuccessorRelation.getSuccessorList(), "finalSolution");
+ AdaptationMonitor.
+ outputAdaptationDataBetweenSuccessors(bestSuccessorRelation,
_metadata,
+ _metadataManager,
successorFolder,
+ deployment, runningSites,
manager.getCostsParamters());
+ // testAdaptiveLifetime(bestSuccessorRelation);

- testAdaptiveLifetime(bestSuccessorRelation);
-
- // writeSuccessorPathToFile(bestSuccessorRelation);
+ writeSuccessorPathToFile(bestSuccessorRelation);
// SuccessorPath bestSuccessorRelation = readInSuccessor();
//new PlannerUtils(successorFolder,
this.manager).writeSuccessorToFile(bestSuccessorRelation.getSuccessorList(), "finalSolution");

@@ -160,59 +170,49 @@
this.globalAdaptationStrategy =
new CompleteReCompilationStrategy(this.manager, this._metadata,
this._metadataManager);
int overallSuccessorPathLifetime =
bestSuccessorRelation.overallSuccessorPathLifetime();
- int noNodefails = 1;
+ int noNodefails =
SNEEProperties.getIntSetting(SNEEPropertyNames.WSN_MANAGER_SUCCESSOR_NODE_FAILURES);
boolean globalFailed = false;
boolean successorFailed = false;
ArrayList<Integer> globalLifetimes = new ArrayList<Integer>();
ArrayList<Integer> successorLifetimes = new ArrayList<Integer>();
- for(int index =0; index <=8; index++)
+ for(int index =0; index <=noNodefails; index++)
{
globalLifetimes.add(null);
successorLifetimes.add(null);
}
- while(noNodefails <= 8 && !globalFailed)
- {
- //collects the global QEP;
- SensorNetworkQueryPlan golbalQEP =
bestSuccessorRelation.getSuccessorList().get(0).getQep();
- golbalQEP = cloner.deepClone(golbalQEP);
- //determines the time period for the unpredictable node failure
- double timeOfNodeFailure = overallSuccessorPathLifetime /
(noNodefails + 1);
- ArrayList<String> globalFailedNodes = new ArrayList<String>();
- HashMap<String, RunTimeSite> GlobalRunningSites =
manager.getCopyOfRunningSites();
- //do globals node failure lifetime
- boolean successful = doGlobalAdaptations(timeOfNodeFailure,
globalFailedNodes, GlobalRunningSites,
- golbalQEP, noNodefails,
globalLifetimes);
- globalFailed = !successful;
- if(!globalFailed)
- noNodefails++;
- }
- noNodefails = 1;
- while(noNodefails <= 8 && !successorFailed)
- {
- SuccessorPath successorRelation =
cloner.deepClone(bestSuccessorRelation);
- //determines the time period for the unpredictable node failure
- double timeOfNodeFailure = overallSuccessorPathLifetime /
(noNodefails + 1);
- ArrayList<String> globalFailedNodes = new ArrayList<String>();
- HashMap<String, RunTimeSite> SuccessorRunningSites =
manager.getCopyOfRunningSites();
- //do successor node failure lifetime
- boolean successful = doSucessorAdaptations(timeOfNodeFailure,
globalFailedNodes, SuccessorRunningSites,
- successorRelation,
noNodefails, successorLifetimes);
- successorFailed = !successful;
- if(!successorFailed)
- noNodefails++;
- }
- outputData(globalLifetimes, successorLifetimes,bestSuccessorRelation);
+ //collects the global QEP;
+ SensorNetworkQueryPlan golbalQEP =
bestSuccessorRelation.getSuccessorList().get(0).getQep();
+ golbalQEP = cloner.deepClone(golbalQEP);
+ //determines the time period for the unpredictable node failure
+ double timeOfNodeFailure = overallSuccessorPathLifetime / (noNodefails
+ 1);
+ ArrayList<String> globalFailedNodes = new ArrayList<String>();
+ HashMap<String, RunTimeSite> GlobalRunningSites =
manager.getCopyOfRunningSites();
+ //do globals node failure lifetime
+ boolean successful = doGlobalAdaptations(timeOfNodeFailure,
globalFailedNodes, GlobalRunningSites,
+ golbalQEP, noNodefails,
globalLifetimes);
+ globalFailed = !successful;
+ SuccessorPath successorRelation =
cloner.deepClone(bestSuccessorRelation);
+ //determines the time period for the unpredictable node failure
+ timeOfNodeFailure = overallSuccessorPathLifetime / (noNodefails + 1);
+ globalFailedNodes = new ArrayList<String>();
+ HashMap<String, RunTimeSite> SuccessorRunningSites =
manager.getCopyOfRunningSites();
+ //do successor node failure lifetime
+ successful = doSucessorAdaptations(timeOfNodeFailure,
globalFailedNodes, SuccessorRunningSites,
+ successorRelation,
noNodefails, successorLifetimes);
+ successorFailed = !successful;
+ outputData(globalLifetimes, successorLifetimes,bestSuccessorRelation,
noNodefails);

}



private void outputData(ArrayList<Integer> globalLifetimes,
- ArrayList<Integer> successorLifetimes,
SuccessorPath bestSuccessorRelation )
+ ArrayList<Integer> successorLifetimes,
SuccessorPath bestSuccessorRelation,
+ int nodeFailures)
throws IOException
{
BufferedWriter out = new BufferedWriter(new FileWriter(new
File(successorFolder.toString() + sep + "results")));
- for(int index = 0; index<= 8; index++)
+ for(int index = 0; index< nodeFailures; index++)
{
Integer successorLifetime = successorLifetimes.get(index);
Integer globalLifetime = globalLifetimes.get(index);
@@ -743,7 +743,7 @@
return null;
}
}
-
+*/
private void writeSuccessorPathToFile(SuccessorPath
bestSuccessorRelation)
{
try
@@ -758,5 +758,5 @@
{
System.out.println("cannot write successorpath to file");
}
- }*/
+ }
}
Reply all
Reply to author
Forward
0 new messages