Esempio n. 1
0
    def __init__(self, port, num_workers):
        self._workers = {}
        self.num_workers = num_workers
        self._port = port
        self._server = rpc.listen("0.0.0.0", port)
        self._server.register_object(self)
        self._initialized = False
        self._server.serve_nonblock()
        self._ctx = None

        self._worker_statuses = {}
        self._worker_scores = {}
        self._available_workers = []

        self._arrays = weakref.WeakSet()

        if FLAGS.profile_master:
            import yappi

            yappi.start()
            atexit.register(_dump_profile)
        atexit.register(_shutdown)

        global MASTER
        MASTER = self
Esempio n. 2
0
    def __init__(self, port, num_workers):
        self._workers = {}
        self.num_workers = num_workers
        self._port = port
        self._server = rpc.listen('0.0.0.0', port)
        self._server.register_object(self)
        self._initialized = False
        self._server.serve_nonblock()
        self._ctx = None

        self._worker_statuses = {}
        self._worker_scores = {}
        self._available_workers = []

        self._arrays = weakref.WeakSet()

        if FLAGS.profile_master:
            import yappi
            yappi.start()
            atexit.register(_dump_profile)
        atexit.register(_shutdown)

        global MASTER
        MASTER = self
Esempio n. 3
0
    #simulate the actual run kernel, reply the response in different thread.
    self._kernel_threads.apply_async(self._run_kernel, args=(req, handle)) 
  
  def _run_kernel(self, req, handle):
    handle.done(req)  
 
  def shutdown(self, req, handle):
    util.log_info("Server shutdown")
    handle.done()
    threading.Thread(target=self._shutdown).start() 

  def _shutdown(self):
    self._server.shutdown() 

client = rpc.connect(host, port)
server = rpc.listen(host, port)
server.register_object(EchoServer(server))

def server_fn():
  ''' Server thread '''
  server.serve()

def client_fn():
  ''' Client thread '''
  for i in range(200):
    assert client.ping("spartan").wait() == "spartan"
    assert client.run_kernel("kernel").wait() == "kernel"


def test_rpc():
  client_threads = [threading.Thread(target=client_fn) for i in range(NUM_THREADS)]
Esempio n. 4
0
        self._kernel_threads.apply_async(self._run_kernel, args=(req, handle))

    def _run_kernel(self, req, handle):
        handle.done(req)

    def shutdown(self, req, handle):
        util.log_info("Server shutdown")
        handle.done()
        threading.Thread(target=self._shutdown).start()

    def _shutdown(self):
        self._server.shutdown()


client = rpc.connect(host, port)
server = rpc.listen(host, port)
server.register_object(EchoServer(server))


def server_fn():
    ''' Server thread '''
    server.serve()


def client_fn():
    ''' Client thread '''
    for i in range(200):
        assert client.ping("spartan").wait() == "spartan"
        assert client.run_kernel("kernel").wait() == "kernel"