class_docstr: Client for ParameterServer.
  Supports store, accumulate, swap, swap-accumulate, and get operations.
class_docstr_tok: ["Client","for","ParameterServer",".","Supports","store",",","accumulate",",","swap",",","swap-accumulate",",","and","get","operations","."]
docstr: ProcessGroup to use for communicating tensor data while metadata (e.g. cmds,
  keys, shapes) is communicated over self._metadata_pg(). In other words, these
  pgs handle most of the data transfer volume. Multiple pgs are used in order to
  max out the NIC.
code: def _data_pgs(self) -> Optional[List["td.ProcessGroup"]]:
      """
      ProcessGroup to use for communicating tensor data while metadata (e.g. cmds,
      keys, shapes) is communicated over self._metadata_pg(). In other words, these
      pgs handle most of the data transfer volume. Multiple pgs are used in order to
      max out the NIC.
      """
      return self.groups
  
imports: import logging
  import multiprocessing
  import queue
  import time
  import traceback
  from functools import lru_cache
  from typing import Callable, Dict, List, Optional, Sequence
  import torch
  import torch.distributed
  import torch.multiprocessing
  from torchbiggraph.distributed import init_process_group, Startable
  from torchbiggraph.types import CharTensorType, Rank
  from torchbiggraph.util import allocate_shared_tensor, split_almost_equally, tag_logs_with_process_name
label_desc: Use image node_id 3 for calling the ParameterClient obj's underlying member method code with example usage: obj._data_pgs() and returns: self