[ https://issues.apache.org/jira/browse/HADOOP-1338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648910#action_12648910 ]
Matei Zaharia commented on HADOOP-1338: --------------------------------------- I think pipelining requests should make sense either way because it avoids the connection latency and TCP ramp-up time for each one. Organizing the map output files so as to minimize scans is a different issue - potentially it will be done by some node-wide combiner, but we can solve it then. > 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.