code: def start_server(
      num_clients,
      ip_config,
      server_id=0,
      num_servers=1,
  ):
      print("Sleep 1 seconds to test client re-connect.")
      time.sleep(1)
      server_state = dgl.distributed.ServerState(
          None, local_g=None, partition_book=None
      )
      dgl.distributed.register_service(
          HELLO_SERVICE_ID, HelloRequest, HelloResponse
      )
      dgl.distributed.register_service(
          TIMEOUT_SERVICE_ID, TimeoutRequest, TimeoutResponse
      )
      print("Start server {}".format(server_id))
      dgl.distributed.start_server(
          server_id=server_id,
          ip_config=ip_config,
          num_servers=num_servers,
          num_clients=num_clients,
          server_state=server_state,
      )
  
imports: import multiprocessing
  import os
  import socket
  import time
  import unittest
  import backend
  import dgl
  import pytest
  from numpy.testing import assert_array_equal
  from utils import generate_ip_config, reset_envs
label_desc: Use image node_id 3 for calling a global function with example usage: start_server(num_clients, ip_config, server_id, num_servers) without return types