def routeQueries(self, newList, segmentRunningCount, time): self.queryList.extend(newList) self.log("Routing Queries") (routinglist, self.queryList) = self.findRoutableQueries(self.queryList, self.historicalNodeList) if len(routinglist) > 0: Utils.printQueryList(routinglist) Broker.routeQueries(routinglist, self.historicalNodeList, self.routingStrategy, segmentRunningCount, time) Utils.printQueryAssignment(self.historicalNodeList)
def routeQueries(self, newList, segmentRunningCount, time): self.queryList.extend(newList) self.log(time, "Routing Queries") (routinglist, self.queryList) = self.findRoutableQueries(self.queryList, self.historicalNodeList) if len(routinglist) > 0: self.queriesrouted += len(routinglist) Utils.printQueryList(routinglist) Broker.routeQueries(routinglist, self.historicalNodeList, self.routingStrategy, segmentRunningCount, time) Utils.printQueryAssignment(self.historicalNodeList) for query in routinglist: completiontime = query.getCompletionTime() assert completiontime > -1 self.totalcompletiontime += completiontime
def runExperiment(historicalNodeCount, segmentList, percentreplicate, replicationFactor, queryList, placementStrategy, routingStrategy): segmentcount = len(segmentList) #Creating Historical Nodes print "Creating Historical Nodes" historicalnodelist = createHistoricalNodes(historicalNodeCount) #Placing Segments print "Placing Segments" avgreplication = Coordinator.placeSegmentsAndReplicas(segmentList, segmentList, percentreplicate, replicationFactor, historicalnodelist, queryList, placementStrategy) Coordinator.printCurrentPlacement(historicalnodelist) print("%s,%s,%f Average Replication: %f" % (placementStrategy, routingStrategy, percentreplicate, avgreplication)) #Calculating Scores print "Routing Queries" timetaken = Broker.routeQueries(queryList, historicalnodelist, routingStrategy, segmentcount, 0) print("%s,%s,%f Overall Completion Time: %d" % (placementStrategy, routingStrategy, percentreplicate, timetaken))