code: def distributed_context_multi_node_gloo(multi_node_conf):
      assert "MASTER_ADDR" in os.environ
      assert "MASTER_PORT" in os.environ
  
      dist_info = {
          "backend": "gloo",
          "init_method": "env://",
          "world_size": multi_node_conf["world_size"],
          "rank": multi_node_conf["rank"],
      }
      yield _create_mnodes_dist_context(dist_info, multi_node_conf)
      _destroy_mnodes_dist_context()
  
imports: import functools
  import os
  import shutil
  import sys
  import tempfile
  import time
  from pathlib import Path
  import pytest
  import torch
  import torch.distributed
  import ignite.distributed
label_desc: Use image node_id 17 for calling a global function with example usage: distributed_context_multi_node_gloo(multi_node_conf) without return types