[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565493#comment-13565493
 ] 

Alejandro Abdelnur commented on MAPREDUCE-4049:
-----------------------------------------------

Hi Avner, patch looks good, just a few minor things:

* ReduceTask.java: IOException message " - The reduce copier failed" should be 
something like " - The ShuffleConsumerPluging '" + clazz.getSimpleName() + "' 
failed"
* ShuffleConsumerPlugin.java: unused imports JobConf & Task
* ShuffleProviderPlugin.java: stability/audience annotations are missing
* MultiShuffleProviderPlugin.java: log message on exception has typo, 
'instanciating', it should be 'instantiating'.
* MultiShuffleProviderPlugin.java: this class can be made private, the constant 
should be bubbled up to the TaskTracker. (I like this tweak rather than 
exposing it as a plugin).
* TaskTracker.java: new method getJobConf(JobID) should be synchronized because 
the TreeMap runningJobs is not threadsafe. BTW, why this new method? I assume 
you need to access a job specific jobConf from the provider plugin? What is the 
use case for doing this? 

After this I think it is ready. Have you run all testcases successfully to 
check if there are any regressions? 

Do you want to start the discussion in the alias about adding new features to 
branch-1 or you want me to start it.
                
> plugin for generic shuffle service
> ----------------------------------
>
>                 Key: MAPREDUCE-4049
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4049
>             Project: Hadoop Map/Reduce
>          Issue Type: Sub-task
>          Components: performance, task, tasktracker
>    Affects Versions: 1.0.3, 1.1.0, 2.0.0-alpha, 3.0.0
>            Reporter: Avner BenHanoch
>            Assignee: Avner BenHanoch
>              Labels: merge, plugin, rdma, shuffle
>             Fix For: 2.0.3-alpha
>
>         Attachments: HADOOP-1.x.y.patch, Hadoop Shuffle Plugin Design.rtf, 
> MAPREDUCE-4049--branch-1.patch, MAPREDUCE-4049--branch-1.patch, 
> mapreduce-4049.patch
>
>
> Support generic shuffle service as set of two plugins: ShuffleProvider & 
> ShuffleConsumer.
> This will satisfy the following needs:
> # Better shuffle and merge performance. For example: we are working on 
> shuffle plugin that performs shuffle over RDMA in fast networks (10gE, 40gE, 
> or Infiniband) instead of using the current HTTP shuffle. Based on the fast 
> RDMA shuffle, the plugin can also utilize a suitable merge approach during 
> the intermediate merges. Hence, getting much better performance.
> # Satisfy MAPREDUCE-3060 - generic shuffle service for avoiding hidden 
> dependency of NodeManager with a specific version of mapreduce shuffle 
> (currently targeted to 0.24.0).
> References:
> # Hadoop Acceleration through Network Levitated Merging, by Prof. Weikuan Yu 
> from Auburn University with others, 
> [http://pasl.eng.auburn.edu/pubs/sc11-netlev.pdf]
> # I am attaching 2 documents with suggested Top Level Design for both plugins 
> (currently, based on 1.0 branch)
> # I am providing link for downloading UDA - Mellanox's open source plugin 
> that implements generic shuffle service using RDMA and levitated merge.  
> Note: At this phase, the code is in C++ through JNI and you should consider 
> it as beta only.  Still, it can serve anyone that wants to implement or 
> contribute to levitated merge. (Please be advised that levitated merge is 
> mostly suit in very fast networks) - 
> [http://www.mellanox.com/content/pages.php?pg=products_dyn&product_family=144&menu_section=69]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to