code: def helloworld():
      comm = get_comm_workers()
      comm.Barrier()
  
      size = comm.Get_size()
      rank = comm.Get_rank()
      name = MPI.Get_processor_name()
  
      greet = f"Hello, World! I am worker {rank} of {size} on {name}."
  
      sbuf = bytearray(128)
      rbuf = bytearray(128)
      dest = (rank + 1) % size
      source = (rank - 1) % size
      rbuf[: len(greet)] = greet.encode()
      for _ in range(size):
          sbuf, rbuf = rbuf, sbuf
          comm.Sendrecv(
              sbuf,
              dest,
              42,
              rbuf,
              source,
              42,
          )
      return bytes(rbuf).decode()
  
imports: from mpi4py import MPI
  from mpi4py.futures import MPIPoolExecutor, wait
  from mpi4py.futures import get_comm_workers
label_desc: Use image node_id 1 for calling a global function with example usage: helloworld() and returns: bytes