def main(): nprocs = (int(sys.argv[1]) if (len(sys.argv) > 1) else 10) nrequests = (int(sys.argv[2]) if (len(sys.argv) > 2) else 1) da.config(channel='fifo', clock='Lamport') ps = da.new(P, num=nprocs) for p in ps: da.setup(p, ((ps - {p}), nrequests)) da.start(ps)
def main(): init = da.new(Init) da.setup(init, ()) da.start(init) try: while True: pass except KeyboardInterrupt: self.output('SYSTEM EXITING') sys.exit((-1))
def main(): conf_file = (sys.argv[1] if (len(sys.argv) > 1) else '../tests/test/conf2.json') policy_file = (sys.argv[2] if (len(sys.argv) > 2) else '../tests/policy/policy2.xml') data_file = (sys.argv[3] if (len(sys.argv) > 3) else '../tests/data/data2.json') attr_file = (sys.argv[4] if (len(sys.argv) > 4) else '../tests/attr/attr2.json') random_input = (sys.argv[5] if (len(sys.argv) > 5) else False) print(random_input) m = da.new(Main) da.setup(m, (conf_file, policy_file, data_file, attr_file, random_input)) da.start(m)
def main(): nprocs = (int(sys.argv[1]) if (len(sys.argv) > 1) else 10) nrounds = (int(sys.argv[2]) if (len(sys.argv) > 2) else 1) da.config(clock='Lamport') ps = da.new(P, num=nprocs) mainProc = da.new(X, num=1) for p in mainProc: da.setup({p}, (nprocs, {}, mainProc)) da.start(mainProc) for p in ps: da.setup({p}, ((ps - {p}), nrounds, {}, mainProc)) da.start(ps)
def setup(self, config, coord_list, worker_count, data, work_list): self.config = config self.coord_list = coord_list self.worker_count = worker_count self.data = data self.work_list = work_list self.subj_attr_dict = {} self.res_attr_dict = {} self.tentative_dict = {} work = da.new(w.Worker, num=self.config.num_workers) self.work_list = list(work) da.setup(work, (self.coord_list, self.config.policy_file, self.data)) da.start(work)
def setup(self, config, coord_list, worker_count, data, work_list, sta): self.config = config self.coord_list = coord_list self.worker_count = worker_count self.data = data self.work_list = work_list self.sta = sta work = da.new(w.Worker, num=self.config.num_workers) da.setup(work, (self.coord_list, self.config)) da.start(work) self.work_list = list(work) self.attrVersionDict = {} self.pendingReadReq = {} self.currRunningWriteReq = {} self.sta = staticAnalysis.StaticAnalysis(self.config.attr_file, self.coord_list) self.common = None
def setup(self, numWorkers, coordinators, database, objectCoordMap): self.numWorkers = numWorkers self.coordinators = coordinators self.database = database self.objectCoordMap = objectCoordMap workers = da.new(worker.Worker, num=self.numWorkers) da.setup(workers, (self.coordinators, self.database, '../config/policy.xml')) da.start(workers) self.versionMap = dict() self.cachedUpdates = dict() self.readQueue = list() self.writeQueue = list() self.objectCoordMap = self.objectCoordMap self.workers = list(workers) self.workerNumber = 0 self.numWorkers = self.numWorkers
def initProcesses(self, numCoordinator, numWorkerPerCoordinator): try: coordinators = da.new(coordinator.Coordinator, num=numCoordinator) clients = da.new(client.Client) db = da.new(database.Database) if (len(sys.argv) < 3): self.output('Improper Arguments') return (-1) objectCoordMap = dict() objectCoordMap['movieA'] = random.randint(0, (numCoordinator - 1)) objectCoordMap['customerA'] = random.randint( 0, (numCoordinator - 1)) dbLoad = sys.argv[1] args = [] args.append(dbLoad) da.setup(db, args) self.output('DbEmulator process set up') da.setup(coordinators, (numWorkerPerCoordinator, list(coordinators), db, objectCoordMap)) self.output('Coordinators have been setup') da.setup(clients, (list(coordinators), sys.argv[2], objectCoordMap)) self.output('Client process has been set up') da.start(clients) da.start(coordinators) da.start(db) self.output('Started all processes') return 0 except: self.output('STACK TRACE') self.output(traceback.print_exc()) return (-1)
def init_all_processes(self, config): try: cl = da.import_da('client') co = da.import_da('coordinator') d = da.import_da('database') except ImportError: self.output('Error in import', sep='|') try: coord = da.new(co.Coordinator, num=config.num_coordinator) data = da.new(d.Database, num=1) clie = da.new(cl.Client, num=config.num_client) except: self.output('Error in process creation') try: coord_list = list(coord) data_list = list(data) counter = 0 for a in clie: da.setup(a, (config, coord_list, counter)) counter += 1 da.setup(coord, (config, coord_list, 0, data, None, None)) m = list() m.append(self.data_file) da.setup(data, m) except: self.output('Error in setup') try: da.start(clie) da.start(coord) da.start(data) except: self.output('Error in starting processes')
def main(): nprocs = (int(sys.argv[1]) if (len(sys.argv) > 1) else 10) nrounds = (int(sys.argv[2]) if (len(sys.argv) > 2) else 1) central = da.new(X, num=1) for p in central: da.setup({p}, (nrounds, nprocs, central)) da.start(central) ps = da.new(P, num=nprocs) lucky = ps.pop() da.setup(ps, ((ps | {lucky}), False, nrounds, central)) da.setup({lucky}, ((ps | {lucky}), True, nrounds, central)) da.start((ps | {lucky}))
def run(self): sub_co = da.new(Sub_Co, num=1) app = da.new(Application, num=3) da.setup(app, sub_co) da.start(sub_co) da.start(app)