def printDict(): """ Prints the contents of the local object store. """ objects = PyDOOMS._store.objects.copy() logging.debug("-------------------------------------Node: " + str(PyDOOMS.getNodeID()) + " --------------------------------------------") for element in objects: if (isinstance(objects[element],TestObject)): logging.debug(str(element) + " - " + str(objects[element]))
#logging.info("WriteLoopTest1 finished") reset() #WriteLoopTest2(workerID) #logging.info("WriteLoopTest2 finished") #reset() WriteLoopTest3(workerID) #logging.info("WriteLoopTest3 finished") reset() AttributeTest1(workerID) #logging.info("AttributeTest1 finished") reset() ObjectAttributeTest1(workerID) #logging.info("ObjectAttributeTest1 finished") ShutdownTest(workerID) #logging.info("ShutdownTest finished") try: PyDOOMS.execute(testSuite) if (PyDOOMS.getNodeID() == 0): logging.info("All tests passed") except Exception as e: logging.exception(e) logging.critical("Tests failed")
Assumes the argument supplied to the nodes is the node ID, starting from 0 Node 0 creates the shared objects and sums the result, all other nodes fetches the objects and each thread will work on one object each """ import random, math, sys, os, time, logging sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) import threading import PyDOOMS from Board import Board # SETUP start = time.time() myname = PyDOOMS.getNodeID() numberOfClients = eval(sys.argv[2]) threadsPerNode = eval(sys.argv[3]) darts = 4000000 totalClients = numberOfClients*threadsPerNode darts = darts / totalClients # Worker function def worker(workerID, myDarts): if (myname == 0 and workerID == 0): for boardID in range(totalClients): Board(boardID)