code: def _server_init(
      server: Startable,
      process_name: str,
      init_method: Optional[str],
      world_size: int,
      server_rank: Rank,
      groups: List[List[Rank]],
      subprocess_init: Optional[Callable[[], None]] = None,
  ) -> None:
      tag_logs_with_process_name(process_name)
      if subprocess_init is not None:
          subprocess_init()
      groups = init_process_group(
          init_method=init_method,
          world_size=world_size,
          rank=server_rank,
          groups=groups,
      )
      server.start(groups)
  
file_path: PyTorch-BigGraph/torchbiggraph/distributed.py
imports: import logging
  import multiprocessing
  import os
  from abc import ABC, abstractmethod
  from datetime import timedelta
  from typing import Callable, List, NamedTuple, Optional
  import torch.distributed
  import torch.multiprocessing
  from torchbiggraph.types import Rank
  from torchbiggraph.util import tag_logs_with_process_name
label_desc: Use image node_id 2 for calling a global function with example usage: _server_init(server, process_name, init_method, world_size, server_rank, groups, subprocess_init) without return types