Doug Cutting wrote:
Apache Wiki wrote:
+ Sort performances on 1400 nodes and 2000 nodes are pretty good too - sorting 14TB of data on a 1400-node cluster takes 2.2 hours; sorting 20TB on a 2000-node cluster takes 2.5 hours. The updates to the above configuration being: + * `mapred.job.tracker.handler.count = 60`
+   * `mapred.reduce.parallel.copies = 50`
+   * `tasktracker.http.threads = 50`

This is a pretty good indication of stuff that we might better specify as proportional to cluster size. For example, we might replace the first with something like mapred.jobtracker.tasks.per.handler=30. To determine the number of handlers we'd determine the number of task slots (#nodes * mapred.tasktracker.tasks.maximum) and divide that by tasks.per.handler to determine the number of handlers. Then folks wouldn't need to alter these settings as their cluster grows.

It's best if folks don't have to change defaults for good performance. Not only does that simplify configuration, but it means we can more easily change implementations. For example, if we switch to async RPC responses, then the handler count may change significantly, and we'll probably change the default, and it would be nice if most folks were not overriding the default.

Thoughts?  Should we file an issue?

I don't think there is an explanation of why increasing the handlers proportionally helps (I does help, but it might be a big hammer approach). I think ipc Q-length and q management also matters a lot. I will open a Jira with couple thoughts/explanation/improvements regd Q mangagement in our IPC.

Raghu.



Reply via email to