def METHOD_NAME(self):
    self.send_validation_signal_to_server(self.trainer.SERVER_RANK)
    self.trainer.eval_mode()
    for i in range(len(self.trainer.testloader)):
        self.run_forward_pass()
    self.send_validation_over_to_server(self.trainer.SERVER_RANK)
    self.args.round_idx += 1
    if (
        self.args.round_idx == self.trainer.MAX_EPOCH_PER_NODE
        and self.trainer.rank == self.trainer.MAX_RANK
    ):
        self.send_finish_to_server(self.trainer.SERVER_RANK)
    else:
        logging.info(
            "sending semaphore from {} to {}".format(
                self.trainer.rank, self.trainer.node_right
            )
        )
        self.send_semaphore_to_client(self.trainer.node_right)
    if self.args.round_idx == self.trainer.MAX_EPOCH_PER_NODE:
        self.finish()