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

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

Arun,

As per our phone conversation on WED, please correct me if I'm wrong:

You indicated that your concerns with the changes introduced by MAPREDUCE-2454 
(parent task of MAPREDUCE-4809, MAPREDUCE-4807, MAPREDUCE-4808, MAPREDUCE-4812, 
MAPREDUCE-4049) were:

 * Adding new interfaces to Hadoop that we'll later have to support.
 * Performance impact of these changes.

Regarding your first concern, in the current form all these patches create 
interfaces around the natural functional boundaries of the currently hardcoded 
classes. Because of that I don't think there is a high risk here. The fixes 
proposed for MAPREDUCE-4842 do not alter these interface, thus enforcing the 
theory the chosen interfaces seem right. We still are annotating them as 
LimitedPrivate and Unstable, thus any body implementing them understands they 
could have to make changes between release of Hadoop.

Regarding the performance impact of these changes, These JIRAs are changing 
hard coded 'new' instantiations with 'ReflectionUtils.newInstance()' calls. And 
as in the current code, all this happens at setup time, they don't happen 
during the shuffle. 

You said you would like to have gridmix runs to confirm with facts that there 
is no performance impact. 

Also you indicated that you have some comments on MAPREDUCE-4812 and 
MAPREDUCE-4808 and once they are addressed you are good.

I know you have put a HUGE amount of effort reviewing this patches, as they are 
in the core of MAPREDUCE, I did so.

These JIRAs have been sitting around for long already and quite a few people 
have manifested their interest of having them in the next Hadoop release.

My proposal of work to move forward quickly with this set of patches, and I 
think I'm just echoing your ideas:

 * 1 Complete the work in the branch, so we can see the whole picture regarding 
interfaces being added to Hadoop.
 * 2 Run a gridmix on trunk and on the branch to see if there is any 
performance impact. And if there any, decide if it is acceptable or not.

To move forward with #1, it would be great if you provide the feedback you said 
already have for MAPREDUCE-4812 and MAPREDUCE-4808.

To move forward with #2, I'll set up a cluster with a reasonable number of 
nodes and run gridmix with and without the patch.

So again, please revert the commit of MAPREDUCE-4049 from trunk until we do the 
outlined work.

                
> 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, mapreduce-4049.patch, mapreduce-4049.patch, 
> mapreduce-4049.patch, mapreduce-4049.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