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

ASF GitHub Bot commented on TRAFODION-2733:
-------------------------------------------

Github user zellerh commented on a diff in the pull request:

    
https://github.com/apache/incubator-trafodion/pull/1228#discussion_r138498790
  
    --- Diff: core/sql/executor/ex_exe_stmt_globals.h ---
    @@ -307,18 +307,38 @@ class ExExeStmtGlobals : public ex_globals
     
       inline NABoolean grabMemoryQuotaIfAvailable(ULng32 size)
       { 
    +    CliGlobals *cli_globals = GetCliGlobals();
    +    if (cli_globals->isEspProcess())
    +       return cli_globals->grabMemoryQuotaIfAvailable(size);
         if ( unusedBMOsMemoryQuota_ < size ) return FALSE;
         unusedBMOsMemoryQuota_ -= size ;
         return TRUE;
       }
     
    -  inline void resetMemoryQuota() { unusedBMOsMemoryQuota_ = 0 ; }
    +  inline void resetMemoryQuota() 
    +  {
    +    CliGlobals *cli_globals = GetCliGlobals();
    +    if (cli_globals->isEspProcess())
    +       return cli_globals->resetMemoryQuota();
    +    unusedBMOsMemoryQuota_ = 0 ; 
    +  }
    --- End diff --
    
    Thanks very much for the detailed explanation! Now I understand that your 
model will work fine. My hope would be that we will share ESPs more, not less, 
in the future. A long time ago we designed them to be shared, but a lot of bugs 
made us share less and less. Maybe something to keep in mind for the future.


> Provide an improved memory quota assignment for big memory operators (BMO)
> --------------------------------------------------------------------------
>
>                 Key: TRAFODION-2733
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2733
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: sql-cmp, sql-exe
>    Affects Versions: 2.3-incubating
>            Reporter: Selvaganesan Govindarajan
>            Assignee: Selvaganesan Govindarajan
>             Fix For: 2.3-incubating
>
>
> The big memory operators in Trafodion are HashJoin, HashGroupBy and Sort.  
> Trafodion deploys multiple executor server processes (ESPs) to execute a 
> query via its data flow architecture. Each ESPs can have an instance of this 
> BMO operator. Currently, each instance of this operator can potentially have 
> memory quota of 800 MB assigned to do its BMO operation. However, the memory 
> allocation is usually limited by  the memory pressure when this BMO attempts 
> to allocate memory within the assigned quota. The assignment doesn't  depend 
> upon the estimation of memory needed by this operation.
> Improvement needed in BMO memory assignment are:
> 1. Limit the memory quota assignment for these BMO operations per node
> 2.  Memory quota assigned taking into consideration estimated memory needed 
> at every operator.
> 3. Ensure that the BMO gets the minimum memory needed at least to function 
> smoothly



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to