Hi Everyone,

I have a very CPU-intensive bolt that requires a high (at least I think
it's high) number of executors per worker--in my case, 10.  I am finding
that about 40% of the time for the CPU-intensive bolt executor threads is
spent in the LMAX messaging layer.

My understanding of Storm executor internals is that each executor has two
threads to process LMAX messages--one incoming and one outgoing--and I am
thinking I am getting a lot of context switching due to the large number of
executors overall in my workers (15 between bolts and spouts).
Consequently, I am thinking of multithreading the CPU-intensive bolt so I
can get the same number of threads processing the data while decreasing
context switching I think is occurring between all of the CPU-intensive
bolt executor threads.

Question--does this make sense? Any thoughts by people who understand Storm
better than me are always welcome. :)

Thanks

--John

Reply via email to