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
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
#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)]
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"