trivial: to have exclusive mapping, number of workers <= number of
processors
Bug: while terminating master & workers
 - master terminates when it gets terminating message and there is no
   ready task
 - after master terminate, it broadcasts terminating message to workers
trivial: only update the heap if task priority changes