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

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

Avner, thanks for the clarification, I've got confused as JIRA emailed an 
'updated patch' message.

On #1, the ShuffleConsumerPlugin should be in this JIRA.
On #2, I assume the trunk version does not (will not) have a Map side because 
the ShuffleHandler is already pluggable. Given that, the Map side 
(ShuffleProvider) seems an artifact of the backport of this JIRA. Because of 
that, I think is OK to have it here.

I assume you are working on updating the attached Hadoop-1 patch, following 
some comments on the current Hadoop-1 patch:

* Not having a ShuffleProviderPlugin in the TaskTracker should be reason to 
fail the TaskTracker at startup, no?
* We should follow the same pattern as in trunk:
** Define an interface instead of an abstract class for ShuffleConsumerPlugin, 
with init(), fetchOutput(), createKVIterator(), getMergeThrowable() methods.
** Define a Context for ShuffleConsumerPlugin initialization
** Use ReflectionUtil.newInstance() in ReducerTask to instantiate the 
ShuffleConsumerPlugin
** visibility/stability Annotations are missing

                
> 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: 3.0.0
>
>         Attachments: HADOOP-1.x.y.patch, Hadoop Shuffle Plugin Design.rtf, 
> 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