[ https://issues.apache.org/jira/browse/HADOOP-1338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658122#action_12658122 ]
Owen O'Malley commented on HADOOP-1338: --------------------------------------- We should copy all of the map outputs from a single host until we have nothing more to get from them. There is *no* advantage to dropping the connection. It just costs time. We need to shuffle all of the map outputs, so there is no need to be "fair". We just want to maximize the throughput. The best way to do that is to pull everything off of a node as fast as we can, keeping the connection alive while we do it. > Improve the shuffle phase by using the "connection: keep-alive" and doing > batch transfers of files > -------------------------------------------------------------------------------------------------- > > Key: HADOOP-1338 > URL: https://issues.apache.org/jira/browse/HADOOP-1338 > Project: Hadoop Core > Issue Type: Improvement > Components: mapred > Reporter: Devaraj Das > > We should do transfers of map outputs at the granularity of > *total-bytes-transferred* rather than the current way of transferring a > single file and then closing the connection to the server. A single > TaskTracker might have a couple of map output files for a given reduce, and > we should transfer multiple of them (upto a certain total size) in a single > connection to the TaskTracker. Using HTTP-1.1's keep-alive connection would > help since it would keep the connection open for more than one file transfer. > We should limit the transfers to a certain size so that we don't hold up a > jetty thread indefinitely (and cause timeouts for other clients). > Overall, this should give us improved performance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.