Example #1
0
 def SetParams(self, request, context):
     assert len(self._params) != 0
     assert request.end - request.begin == len(request.thetas)
     # print("Server::SetParams update {} paramters".format(len(request.thetas)))
     for i in range(request.begin, request.end):
         self._params[i] = request.thetas[i - request.begin]
     return parameters_pb2.StateMessage(status='OK')
Example #2
0
 def SetParamsLocation(self, request, context):
     for params_location in request.params_location_list:
         self._param_location_dict[(params_location.ip,
                                    params_location.port)] = (
                                        params_location.begin,
                                        params_location.end)
         self._grpc_call[(params_location.ip,
                          params_location.port)] = util.GrpcCallServer(
                              params_location.ip, params_location.port)
     print(self._param_location_dict)
     return parameters_pb2.StateMessage(status='OK')
Example #3
0
 def AddWorker(self, request, context):
     ip, port = request.ip, request.port
     if self._running:
         self._worker_list[(ip, port)] = 'READY'
         '''
         set_range_thread = threading.Thread(target=self.SetRange())
         set_range_thread.start()
         self._worker_list[(ip, port)] = 'START'
         # call start worker
         util.StartWork(ip, port)
         '''
     else:
         self._worker_list[(ip, port)] = 'READY'
     return parameters_pb2.StateMessage(status='OK')
Example #4
0
 def FinishJob(self, request, context):
     ip, port = request.ip, request.port
     self._worker_list[(ip, port)] = 'FINISHED'
     print("FinishJob::", self._worker_list)
     self._running = False
     if 'START' not in self._worker_list.values():
         # call server get params
         temp_res = []
         for ip, port in self._params_server_map:
             grpc_call = util.GrpcCallServer(ip, port)
             params = grpc_call.GetParams()
             begin = self._params_server_map[(ip, port)][0]
             temp_res.append((params, begin))
         temp_res = [(param_feature.result().params, begin)
                     for param_feature, begin in temp_res]
         temp_res = sorted(temp_res, key=lambda x: int(x[1]))
         final_res = []
         for temp in temp_res:
             final_res.extend(temp[0])
         self._final_params = final_res
     return parameters_pb2.StateMessage(status='OK')
Example #5
0
 def StartWork(self, request, context):
     self._begin_cal = True
     print(self._data_begin, self._data_end, self._param_begin,
           self._param_end, self._param_location_dict, self._params,
           self._begin_cal)
     return parameters_pb2.StateMessage(status='OK')
Example #6
0
 def SetParamsRange(self, request, context):
     self._param_begin = request.begin
     self._param_end = request.end
     print(self._param_begin, self._param_end)
     return parameters_pb2.StateMessage(status='OK')
Example #7
0
 def AddServer(self, request, context):
     ip, port = request.ip, request.port
     self._server_list[(ip, port)] = len(self._server_list)
     return parameters_pb2.StateMessage(status='OK')
Example #8
0
 def GetParams(self):
     response_future = self.stub.GetParams.future(
         parameters_pb2.StateMessage(status='OK'))
     return response_future
Example #9
0
def StartWork(ip, port):
    channel = grpc.insecure_channel('{}:{}'.format(ip, port))
    stub = parameters_pb2_grpc.WorkerStub(channel)
    stub.StartWork(parameters_pb2.StateMessage(status='OK'))
Example #10
0
 def InitParams(self, request, context):
     self._params = request.params
     # print("InitParams::", self._params)
     return parameters_pb2.StateMessage(status='OK')