code: def test_schedule_many_actors_and_normal_tasks(ray_start_cluster):
      cluster = ray_start_cluster
  
      node_count = 10
      actor_count = 50
      each_actor_task_count = 50
      normal_task_count = 1000
      node_memory = 2 * 1024**3
  
      for i in range(node_count):
          cluster.add_node(
              memory=node_memory,
              _system_config={"gcs_actor_scheduling_enabled": True}
              if i == 0
              else {},
          )
      ray.init(address=cluster.address)
      cluster.wait_for_nodes()
  
      @ray.remote(memory=100 * 1024**2, num_cpus=0.01)
      class Foo:
          def method(self):
              return 2
  
      @ray.remote(memory=100 * 1024**2, num_cpus=0.01)
      def fun():
          return 1
  
      normal_task_object_list = [
          fun.remote() for _ in range(normal_task_count)
      ]
      actor_list = [Foo.remote() for _ in range(actor_count)]
      actor_object_list = [
          actor.method.remote()
          for _ in range(each_actor_task_count)
          for actor in actor_list
      ]
      for object in ray.get(actor_object_list):
          assert object == 2
  
      for object in ray.get(normal_task_object_list):
          assert object == 1
  
file_path: ray/python/ray/tests/test_advanced_5.py
imports: import logging
  import sys
  import time
  import numpy
  import pytest
  import ray.cluster_utils
  from ray._private.test_utils import SignalActor, client_test_enabled
label_desc: Use image node_id 3 for calling a global function with example usage: test_schedule_many_actors_and_normal_tasks(ray_start_cluster) and returns: int, int