Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.3, 1.1.0, 2.0.0-alpha, 3.0.0-alpha1
-
-
Reviewed
-
Allow ReduceTask loading a third party plugin for shuffle (and merge) instead of the default shuffle.
Description
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
Attachments
Attachments
Issue Links
- is related to
-
MAPREDUCE-5329 APPLICATION_INIT is never sent to AuxServices other than the builtin ShuffleHandler
- Closed
-
MAPREDUCE-4812 Create reduce input merger plugin in ReduceTask.java and pass it to Shuffle
- Resolved
-
MAPREDUCE-2454 Allow external sorter plugin for MR
- Closed
-
MAPREDUCE-3060 Generic shuffle service
- Open
-
MAPREDUCE-4977 Documentation for pluggable shuffle and pluggable sort
- Closed