code: def test_remote_function_isolation(call_ray_start):
      # This test will run multiple remote functions with the same names in
      # two different drivers. Connect a driver to the Ray cluster.
      address = call_ray_start
  
      ray.init(address=address)
  
      # Start another driver and make sure that it can define and call its
      # own commands with the same names.
      driver_script = """
  import ray
  import time
  ray.init(address="{}")
  @ray.remote
  def f():
      return 3
  @ray.remote
  def g(x, y):
      return 4
  for _ in range(10000):
      result = ray.get([f.remote(), g.remote(0, 0)])
      assert result == [3, 4]
  print("success")
  """.format(
          address
      )
  
      out = run_string_as_driver(driver_script)
  
      @ray.remote
      def f():
          return 1
  
      @ray.remote
      def g(x):
          return 2
  
      for _ in range(10000):
          result = ray.get([f.remote(), g.remote(0)])
          assert result == [1, 2]
  
      # Make sure the other driver succeeded.
      assert "success" in out
  
file_path: ray/python/ray/tests/test_multi_node.py
imports: import os
  import sys
  import time
  import psutil
  import pytest
  import ray
  from ray._private import ray_constants
  from ray._private.test_utils import RayTestTimeoutException, get_error_message, init_error_pubsub, object_memory_usage, run_string_as_driver, run_string_as_driver_nonblocking, wait_for_condition
label_desc: Use image node_id 3 for calling a global function with example usage: test_remote_function_isolation(call_ray_start) and returns: int, int