You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/08/25 10:53:00 UTC

[jira] [Work logged] (HIVE-24061) Improve llap task scheduling for better cache hit rate

     [ https://issues.apache.org/jira/browse/HIVE-24061?focusedWorklogId=474236&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-474236 ]

ASF GitHub Bot logged work on HIVE-24061:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 25/Aug/20 10:52
            Start Date: 25/Aug/20 10:52
    Worklog Time Spent: 10m 
      Work Description: rbalamohan opened a new pull request #1431:
URL: https://github.com/apache/hive/pull/1431


   https://issues.apache.org/jira/browse/HIVE-24061
   
   Changes:
   1. Adjust locality delay when the task is getting scheduled.
   2. Reset locality delay when all nodes in the cluster are busy and wouldn't be able to schedule tasks.
   3. Optimize schedulePendingTasks to exit early, when all nodes are busy. This helps in reducing lock contention as well.
   
   Patch was tested on a medium scale cluster and observed good improvement in runtime of queries.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 474236)
    Remaining Estimate: 0h
            Time Spent: 10m

> Improve llap task scheduling for better cache hit rate 
> -------------------------------------------------------
>
>                 Key: HIVE-24061
>                 URL: https://issues.apache.org/jira/browse/HIVE-24061
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Rajesh Balamohan
>            Priority: Major
>              Labels: perfomance
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> TaskInfo is initialized with the "requestTime and locality delay". When lots of vertices are in the same level, "taskInfo" details would be available upfront. By the time, it gets to scheduling, "requestTime + localityDelay" won't be higher than current time. Due to this, it misses scheduling delay details and ends up choosing random node. This ends up missing cache hits and reads data from remote storage.
> E.g Observed this pattern in Q75 of tpcds.
> Related lines of interest in scheduler: [https://github.com/apache/hive/blob/master/llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskSchedulerService.java |https://github.com/apache/hive/blob/master/llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskSchedulerService.java]
> {code:java}
>    boolean shouldDelayForLocality = request.shouldDelayForLocality(schedulerAttemptTime);
> ..
> ..
>     boolean shouldDelayForLocality(long schedulerAttemptTime) {
>       return localityDelayTimeout > schedulerAttemptTime;
>     }
> {code}
>  
> Ideally, "localityDelayTimeout" should be adjusted based on it's first scheduling opportunity.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)