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
