Hi!

Thanks for your pointers!

I want to make sure the I/O message queue also being pined together with the 
corresponding executor, is it possible to do in Storm?

Follow Bobby's "easier solution" suggestion, in a machine with multiple CPU 
sockets, if I pin the executor thread to one CPU socket in the open method, 
what would happen to its input&output buffer (the disruptor queue)? Would it 
being "pined"? That is to ask, "who" creates the internal buffers and when?  

Any helps are appreciated. Thank you!

Tony.

> On 21 Jun 2016, at 10:16 PM, Bobby Evans <[email protected]> wrote:
> 
> If you really want to do this you should be able to do this is the open 
> method of your spout or in the prepare method of the bolt.  They execute on 
> the same thread so from that you should be able to do what you need to do.
> As for the clojure in executor.clj we use the async-loop macro for creating 
> the task threads.  
> 
> https://github.com/apache/storm/blob/v1.0.2/storm-core/src/clj/org/apache/storm/util.clj#L472-L514
> 
> and on line 479 you can see the clojure equivalent of `new Thread(...)`  
> `(Thread. ...)` - Bobby 
> 
>    On Tuesday, June 21, 2016 9:09 AM, #ZHANG SHUHAO# <[email protected]> 
> wrote:
> 
> 
> Hi all,
> 
> I want to manage the binding of Storm executor thread (NOT worker process) to 
> CPU cores (NOT host nodes).
> I assume if I would know how the executor thread are initiated, I can manage 
> the binding of it by relying on things like JNI.
> I have tried my best to look into the related source code of Storm.
> Unfortunately, I am very new to Clojure, and I don't get how the executor 
> thread are initiated, in particular, I'm looking for  something like "Thread 
> thread = new Thread(obj);", which is one of the most common way of creating 
> threads in Java.
> 
> Any helps are appreciated. Thank you!
> 
> Best regards.
> Shuhao Zhang (Tony)
> +65-86166722
> 
> 

Reply via email to