Mapping Data

Every program variable must reside in a specific memory level of the target machine, and it's typically the case that the decision about what task instances to create is interlinked with the decision about where data will live and how much space it will take.

In the matrix multiplication running example, the data objects in the task instances will be mapped as follows:

  • MatMulInstLarge : A, B, C -> Memory level 2 (disk)
  • MatMulInstMedium : A, B, C -> Memory level 1 (main memory)
  • MatMulInstSmall : A, B, C -> Memory level 0 (LS)

This is illustrated in the updated task instance call graph below: