Mustafa Iman created HIVE-23744: ----------------------------------- Summary: Reduce query startup latency Key: HIVE-23744 URL: https://issues.apache.org/jira/browse/HIVE-23744 Project: Hive Issue Type: Task Components: llap Affects Versions: 4.0.0 Reporter: Mustafa Iman Assignee: Mustafa Iman Attachments: am_schedule_and_transmit.png, task_start.png
When I run queries with large number of tasks for a single vertex, I see a significant delay before all tasks start execution in llap daemons. Although llap daemons have the free capacity to run the tasks, it takes a significant time to schedule all the tasks in AM and actually transmit them to executors. "am_schedule_and_transmit" shows scheduling of tasks of tpcds query 55. It shows only the tasks scheduled for one of 10 llap daemons. The scheduler works in a single thread, scheduling tasks one by one. A delay in scheduling of one task, delays all the tasks. !am_schedule_and_transmit.png|width=831,height=573! Another issue is that it takes long time to fill all the execution slots in llap daemons even though they are all empty initially. This is caused by LlapTaskCommunicator using a fixed number of threads (10 by default) to send the tasks to daemons. Also this communication is synchronized so these threads block communication staying idle. "task_start.png" shows running tasks on an llap daemon that has 12 execution slots. By the time 12th task starts running, more than 100ms already passes. That slot stays idle all this time. !task_start.png|width=1166,height=635! -- This message was sent by Atlassian Jira (v8.3.4#803005)