def publish(self, iteration, message=''):
        """
        Called by learner. Publishes model parameters with additional info

        Args:
            iteration: current learning iteration
            message: any U.serialize serializable data
        """
        binary = self._module_dict.dumps()
        info = {
            'time': time.time(),
            'iteration': iteration,
            'message': message,
            'hash': U.binary_hash(binary)
        }
        self._publisher.pub(topic='ps', data=(binary, info))

        Called by learner. Publishes model parameters with additional info

        Args:
            iteration: current learning iteration
            message: any U.serialize serializable data
        
surreal/distributed/parameter_server.py