code: def _update_params_on_kvstore(
      param_arrays, grad_arrays, kvstore, param_names
  ):
      """Perform update of param_arrays from grad_arrays on kvstore."""
      for index, pair in enumerate(zip(param_arrays, grad_arrays)):
          arg_list, grad_list = pair
          if grad_list[0] is None:
              continue
          name = param_names[index]
          # push gradient, priority is negative index
          # pull back the weights
          if (
              grad_list[0].stype == "default"
              and arg_list[0].stype == "default"
          ):
              kvstore.pushpull(
                  name, grad_list, out=arg_list, priority=-index
              )
          else:
              kvstore.push(name, grad_list, priority=-index)
              kvstore.pull(name, out=arg_list, priority=-index)
  
file_path: mxnet/python/mxnet/model.py
imports: import os
  import logging
  from collections import namedtuple
  import numpy
  from .None import ndarray
  from .None import symbol
  from .None import kvstore
  from .device import cpu
label_desc: Use image node_id 5 for calling a global function with example usage: _update_params_on_kvstore(param_arrays, grad_arrays, kvstore, param_names) without return types