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)