class_docstr: Manage shuffle execution for ray by resolve dependencies between mappers outputs and reducers inputs based on
  mapper and reducer index.
docstr: A list of (mapper count, reducer count).
docstr_tok: ["A","list","of","(","mapper","count",",","reducer","count",")","."]
code: def info(self):
      """
      A list of (mapper count, reducer count).
      """
      return [
          shuffle_mapper.shape
          for shuffle_mapper in self._mapper_output_refs
      ]
  
file_path: mars/mars/services/task/execution/ray/shuffle.py
imports: import numpy
  from typing import List, Iterable
  from .....core.operand import MapReduceOperand, OperandStage
  from .....utils import lazy_import
  from ....subtask import Subtask, SubtaskGraph
label_desc: Use image node_id 8 for calling the ShuffleManager obj's underlying member method code with example usage: obj.info() and returns: unknown