You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Rajesh Balamohan (JIRA)" <ji...@apache.org> on 2015/05/18 07:15:01 UTC
[jira] [Comment Edited] (TEZ-2244) PipelinedSorter: Progressive
allocation for sort-buffers
[ https://issues.apache.org/jira/browse/TEZ-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14547538#comment-14547538 ]
Rajesh Balamohan edited comment on TEZ-2244 at 5/18/15 5:14 AM:
----------------------------------------------------------------
- Uploading the rebased patch
- "tez.runtime.pipelined.sorter.min-block.size.in.mb" can be used to reduce the min block size that needs to be allocated. e.g tez.runtime.pipelined.sorter.min-block.size.in.mb=128 would start initializing 128 MB block sizes.
- If a record is greater than min block size, this would end up throwing error. Need to enhance to spill entire contents of the buffers and then reconfigure the min_block_size.
[~gopalv] - Please have a look at the patch when you find time.
was (Author: rajesh.balamohan):
- Uploading the rebased patch
- "tez.runtime.pipelined.sorter.min-block.size.in.mb" can be used to reduce the min block size that needs to be allocated. e.g tez.runtime.pipelined.sorter.min-block.size.in.mb=128 would start initializing 128 MB block sizes.
- If a record is greater than min block size, this would end up throwing error. Need to enhance to spill entire contents of the buffers and then reconfigure the min_block_size.
> PipelinedSorter: Progressive allocation for sort-buffers
> --------------------------------------------------------
>
> Key: TEZ-2244
> URL: https://issues.apache.org/jira/browse/TEZ-2244
> Project: Apache Tez
> Issue Type: Improvement
> Affects Versions: 0.7.0
> Reporter: Gopal V
> Assignee: Rajesh Balamohan
> Attachments: TEZ-2244.1.patch, TEZ-2244.WIP.patch
>
>
> Currently, the sort buffers are allocated pessimistically for all tasks so that the largest task's spill stays within memory.
> After the chained buffer implementation inside PipelinedSorter, it brings up the possibility of only allocating the first chunk of the sort buffer when the sorter starts up.
> This allows for the tasks which do not heavily use the sort buffer (like a grouping aggregation) to use the sort-space only when the map-aggregation turns itself off.
> Not reserving memory on startup hurts the worst-case scenario for the pipelined sorter, but improves the average case.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)