def setupSimulation( theStore, database ): id = 0 sitesFile = open( "input/Sites.txt", 'r' ) for line in sitesFile: if line[0]=='#': continue ( name, space, cores, bandwidth ) = line.split() Site.Site.sites[name] = Site.Site( id, name, float(space), int(cores), float(bandwidth) ) database.execute( "INSERT INTO Sites VALUES(%d,'%s',%f,%d,%f)" % ( id, name, float(space), int(cores), float(bandwidth) ) ) id+=1 print "Read in %d sites." % len(Site.Site.sites) sitesFile.close() networkFile = open( "input/Network.txt", 'r' ) links=0 for line in networkFile: if line[0]=='#': continue ( fromSite, toSite, bandwidth, quality, latency ) = line.split() addNetwork( Site.Site.sites, links, fromSite, toSite, float(bandwidth), float(quality), float(latency) ) database.execute( "INSERT INTO Links VALUES(?,?,?,?,?,?)", ( links, Site.Site.sites[fromSite].id, Site.Site.sites[toSite].id, bandwidth, quality, latency ) ) links+=1 print "Read in %d network links." % links networkFile.close() if eventStoreInPickle: theStore.load( "input/EventStore.pkl" ) print "Read in %d files." % theStore.size() print "Read in %d locations." % theStore.numLocations() else: filesFile = open( "input/Data.txt", 'r' ) for line in filesFile: if line[0]=='#': continue ( lfn, size ) = line.split() theStore.addFile( lfn, float( size ) ) print "Read in %d files." % theStore.size() filesFile.close() locationsFile = open( "input/EventStore.txt", 'r' ) locations = 0 for line in locationsFile: if line[0]=='#': continue ( lfn, site ) = line.split() theStore.addSite( lfn, site ) locations+=1 if locations % 1000 == 0: print "Done %d..." % locations print "Read in %d locations." % locations locationsFile.close() theStore.save( "input/EventStore.pkl" ) latencyFile = open( "input/RemoteRead.txt", 'r' ) latencyBins = 0 for line in latencyFile: if line[0]=='#': continue ( binStart, effHit ) = line.split() Data.addLatencyBin( float(binStart), float(effHit) ) latencyBins += 1 print "Read in %d latency bins." % latencyBins latencyFile.close() transferFile = open( "input/FileTransfer.txt", 'r' ) transferBins = 0 for line in transferFile: if line[0]=='#': continue ( binStart, speed ) = line.split() Data.addTransferBin( float(binStart), float(speed) ) transferBins += 1 print "Read in %d transfer bins." % transferBins transferFile.close() setupJobEffMC()