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

Siddharth Seth commented on TEZ-1789:
-------------------------------------

Took a quick look over the patch. Mostly looked good.
- Instead of Vertex.handleSpeculatorEvent. Should this just be 
Vertex.getSpeculator() - followed by a handlEvent on the speculator itself.
- Is it easy to extend AsyncDispatcher to setup a custom thread name (without 
re-implementing the whole thing here)

In terms of multiple speculators, I agree we'll need our own version of 
AsynDispatcher (or an equivalent from something like guava) when we want to 
split processing contexts across different threads.
At the moment, the events would still end up going on to a single queue (the 
central dispatcher), then moving out to the new dispatcher 
(SpeculatorDispatcher) - where they're actually processed. A custom dispatcher 
could easily set up multiple queues if clear separation of contexts is known up 
front.

What we've done in the past to take processing off a thread is to setup queues 
in the local event handler - SchedulerEvents, ContainerLaunchEvents for example 
- these components have their own queues and threads. This approach ends up 
using the queueing and threading mechanism from a new dispatcher - which I 
think is also fine.




> Move speculator processing off the central dispatcher
> -----------------------------------------------------
>
>                 Key: TEZ-1789
>                 URL: https://issues.apache.org/jira/browse/TEZ-1789
>             Project: Apache Tez
>          Issue Type: Sub-task
>            Reporter: Bikas Saha
>            Assignee: Bikas Saha
>         Attachments: TEZ-1789.1.patch
>
>
> There may be a large number of such events and speculators may have expensive 
> logic while handling them. Moving off the central dispatcher will keep this 
> off critical execution path.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to