hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Abdelnur (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-4049) plugin for generic shuffle service
Date Fri, 07 Dec 2012 05:13:30 GMT

    [ 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

Mime
View raw message