Questions

  • Given a program dependence graph (see the board), schedule these tasks optimally given two CPU cores.
  • Do the same, but with three CPU cores.
  • Given a general PDG and a number of CPU cores, how could we calculate the minimum number of time steps needed to execute the PDG?
  • Now, let’s say each task is made up of two subtasks, and .
    • , and if , this means and .
    • Schedule these tasks optimally for two CPU cores.
  • Now, given the following for loop (see the board)
    • What are the different ways we could schedule this loop to run in parallel?
    • What are their (dis)advantages?

Board