Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.12.3
-
None
-
None
Description
I want to create a cluster with machines with different numbers of CPUs. Consequently, each machine should have a different value for mapred.tasktracker.tasks.maximum, since my map tasks are CPU bound.
When a new job starts up, the jobtracker uses its (single) value for mapred.tasktracker.tasks.maximum to assign tasks. This means that each tasktracker gets the same number of tasks, regardless of how I configured that particular machine.
The jobtracker should not consult its config for the value of mapred.tasktracker.tasks.maximum. It should assign tasks (or allow tasktrackers to request tasks) according to each tasktracker's value of mapred.tasktracker.tasks.maximum.
Originally, I thought the behavior was slightly different, so this issue contained this text:
After the first task finishes on each tasktracker, the tasktracker will request new tasks from the jobtracker according to the tasktracker's value for mapred.tasktracker.tasks.maximum. So after the first round of map tasks is done, the cluster reverts to a mode that works well for heterogeneous clusters.