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

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

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

    
https://github.com/apache/incubator-trafodion/pull/1228#discussion_r138488146
  
    --- 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 ;
    --- End diff --
    
    In case of master process  the unused memory quota is yielded to others 
operators within the statement and hence it is stored in  statement globals. In 
case of ESP, it is stored in the default context. In case of ESP, the unused 
memory quota to yielded to operators in other fragments within the process. 
Hence it is stored in the default context. I couldn't find the comment that you 
are referring to. The comment needs to be fixed, if you can show it.


> 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