Revision: 1365
Author:
alan.bar...@gmail.com
Date: Sun Mar 3 14:33:24 2013
Log: fixes to the tuple counter for aggregation, and to running
channel model over aggregations
http://code.google.com/p/snee/source/detail?r=1365
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/RelibaleChannelClient.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/planner/costbenifitmodel/model/channel/ChannelModelSite.java
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/CondorReliableChannelClient.java
Fri Feb 15 10:30:48 2013
+++
/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
@@ -133,6 +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");
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/RelibaleChannelClient.java
Fri Mar 1 10:49:08 2013
+++
/branches/alan_2012_07_19_unreliableChannels/clients/reliable-channel-client/src/main/java/uk/ac/manchester/snee/client/RelibaleChannelClient.java
Sun Mar 3 14:33:24 2013
@@ -233,7 +233,7 @@
SNEEController contol = (SNEEController) client.getController();
contol.setQueryID(queryid);
//added to allow recovery from crash
- updateRecoveryFile();
+ //updateRecoveryFile();
client.runCompilelation();
System.out.println("Ran all tests on query " + queryid + "." /*+
index*/);
queryid ++;
=======================================
---
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/executer/Executer.java
Fri Mar 1 10:09:26 2013
+++
/branches/alan_2012_07_19_unreliableChannels/snee-wsn-manager/src/main/java/uk/ac/manchester/cs/snee/manager/executer/Executer.java
Sun Mar 3 14:33:24 2013
@@ -45,7 +45,7 @@
private HashMapList<Executer.type, Integer>
tuplesReturnedFromEachTypeOfQEP =
new HashMapList<Executer.type, Integer>();
private File executerOutputFolder = null;
- private enum type{MAX, RQEP, QEP, AGG};
+ private enum type{MAX, RQEP, QEP, AGGR, AGGO};
private HashMap<String, RunTimeSite> runningSites;
private Topology network;
private int aggreTuples = 0;
@@ -80,14 +80,16 @@
ArrayList<Integer> max = tuplesReturnedFromEachTypeOfQEP.get(type.MAX);
ArrayList<Integer> rQEP =
tuplesReturnedFromEachTypeOfQEP.get(type.RQEP);
ArrayList<Integer> QEP = tuplesReturnedFromEachTypeOfQEP.get(type.QEP);
- ArrayList<Integer> AGG = tuplesReturnedFromEachTypeOfQEP.get(type.AGG);
+ ArrayList<Integer> AGGR =
tuplesReturnedFromEachTypeOfQEP.get(type.AGGR);
+ ArrayList<Integer> AGGO =
tuplesReturnedFromEachTypeOfQEP.get(type.AGGO);
/*assumption is that all lists have the same number of elements
(should be true, due
to them being ran the same number of times.
*/
Iterator<Integer> maxIterator = max.iterator();
Iterator<Integer> rQEPIterator = rQEP.iterator();
Iterator<Integer> QEPIterator = QEP.iterator();
- Iterator<Integer> AGGIterator = AGG.iterator();
+ Iterator<Integer> AGGRIterator = AGGR.iterator();
+ Iterator<Integer> AGGOIterator = AGGO.iterator();
int counter = 1;
while(maxIterator.hasNext())
@@ -95,15 +97,11 @@
Integer maxValue = maxIterator.next();
Integer rQEPValue = rQEPIterator.next();
Integer QEPValue = QEPIterator.next();
- Integer AGGValue = AGGIterator.next();
- out.write(counter + " " + maxValue + " " + QEPValue + " " +
rQEPValue + " " + AGGValue + "\n");
+ Integer AGGRValue = AGGRIterator.next();
+ Integer AGGOValue = AGGOIterator.next();
+ out.write(counter + " " + maxValue + " " + QEPValue + " " +
rQEPValue + " " + AGGRValue + " " + AGGOValue + "\n");
counter++;
}
- out.flush();
- out.close();
- outFile = new File(distanceFactorFolder.toString() + sep
+ "AggtupleOutput");
- out = new BufferedWriter(new FileWriter(outFile));
- out.write(aggreTuples);
out.flush();
out.close();
}
@@ -151,7 +149,7 @@
Integer maxTuplesReturnable = (int)
model.returnAgendaExecutionResult();
tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.RQEP,
tuplesReturned);
tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.MAX,
maxTuplesReturnable);
- tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.AGG,
aggreTuples);
+ tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.AGGR,
aggreTuples);
// ChannelModelUtils utils = new
ChannelModelUtils(channelModel.getChannelModel(),
rQEP.getLogicalOverlayNetwork());
// utils.plotPacketRates(iteration, executerOutputFolder);
channelModel.clearModel();
@@ -213,7 +211,9 @@
sitesEnergyValues.addAll(key, iterationSitesEnergyValues.get(key));
}
Integer tuplesReturned = determineTupleDeliveryRate(channelModel,
QEP);
+ aggreTuples =
channelModel.determineAggregationTupleContribtuion(QEP.getIOT());
tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.QEP,
tuplesReturned);
+ tuplesReturnedFromEachTypeOfQEP.addWithDuplicates(type.AGGO,
aggreTuples);
channelModel.clearModel();
}
=======================================
---
/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 1 10:49:08 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
Sun Mar 3 14:33:24 2013
@@ -628,6 +628,7 @@
while(inputSites.hasNext())
{
+ tupleRatio = findPacketTotupleRatio(op);
Site inputSite = (Site) inputSites.next();
boolean found = false;
boolean acqOperatorFound = false;
@@ -658,7 +659,7 @@
acqOperatorFound = true;
}
}
- while(trueInputSite.getInputsList().size() < 2 && !found);
+ while(trueInputSite.getInputsList().size() < 2 && !found &&
trueInputSite.getInputsList().size() > 0);
}
String inputNodeID = inputSite.getID();
@@ -672,9 +673,14 @@
while(receivedPacketIterator.hasNext())
{
Boolean recieved = receivedPacketIterator.next();
- for(int index = 0; index < tupleRatio; index++)
+ int oldtupleRatio = tupleRatio;
+ if(counter == receivedPackets.size() -1)
{
- currentSitesTracker.addWithDuplicates(((counter *
tupleRatio) + index), recieved);
+ tupleRatio = op.getLastPacketTupleCount();
+ }
+ for(int index = 1; index <= tupleRatio; index++)
+ {
+ currentSitesTracker.addWithDuplicates(((counter *
oldtupleRatio ) + index), recieved);
}
counter++;
}
@@ -794,15 +800,19 @@
throws SchemaMetadataException, TypeMappingException
{
int tupleSize = 0;
- if(op instanceof InstanceExchangePart)
+
+ while(!(op instanceof InstanceExchangePart))
{
- InstanceExchangePart exOp = (InstanceExchangePart) op;
- tupleSize =
exOp.getSourceFrag().getRootOperator().getSensornetOperator().getPhysicalTupleSize();
+ op = (InstanceOperator) op.getInput(0);
}
- else
- tupleSize = op.getSensornetOperator().getPhysicalTupleSize();
+ InstanceExchangePart exOp = (InstanceExchangePart) op;
+ tupleSize =
exOp.getSourceFrag().getRootOperator().getSensornetOperator().getPhysicalTupleSize();
int maxMessagePayloadSize = costs.getMaxMessagePayloadSize();
- int payloadOverhead = costs.getPayloadOverhead() + 8;
+ int payloadOverhead =0;
+ if(this.usePacketIDs)
+ payloadOverhead = costs.getPayloadOverhead() +
costs.getPacketIDOverhead();
+ else
+ payloadOverhead = costs.getPayloadOverhead();
return (int) Math.floor(maxMessagePayloadSize - payloadOverhead) /
(tupleSize);
}