You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by clay teahouse <cl...@gmail.com> on 2015/04/12 03:37:15 UTC

streams in storm and memory usage

Hi all,
I have a simple question which probably has been asked before, but I cannot
find a concrete answer. I'd appreciate your feedback.

Assume I have a spout that emit tuples which are consumed by 4 different
bolts .

Spout A ---> Bolt B
             ---> Bolt C
             ---> Bolt D
             ---> Bolt E

 I have 4 works, each with one executor thread. I understand that there are
send and receive queues for sending and receiving tuples. Does this mean in
this scenario, the memory usage would be 4 times as if I had one spout and
one bolt (ignoring all other overheads)?


thanks,
Clay

Re: streams in storm and memory usage

Posted by Bobby Evans <ev...@yahoo-inc.com>.
That depends on scheduling, but probably that would be true.  Until the tuple is sent across the wire its memory will be shared, as soon as it goes to a different worker, the memory is duplicated.
 - Bobby
 


     On Saturday, April 11, 2015 8:39 PM, clay teahouse <cl...@gmail.com> wrote:
   

 Hi all,I have a simple question which probably has been asked before, but I cannot find a concrete answer. I'd appreciate your feedback.
Assume I have a spout that emit tuples which are consumed by 4 different bolts .
Spout A ---> Bolt B             ---> Bolt C             ---> Bolt D             ---> Bolt E
 I have 4 works, each with one executor thread. I understand that there are send and receive queues for sending and receiving tuples. Does this mean in this scenario, the memory usage would be 4 times as if I had one spout and one bolt (ignoring all other overheads)?

thanks,Clay



  

Re: streams in storm and memory usage

Posted by Bobby Evans <ev...@yahoo-inc.com.INVALID>.
That depends on scheduling, but probably that would be true.  Until the tuple is sent across the wire its memory will be shared, as soon as it goes to a different worker, the memory is duplicated.
 - Bobby
 


     On Saturday, April 11, 2015 8:39 PM, clay teahouse <cl...@gmail.com> wrote:
   

 Hi all,I have a simple question which probably has been asked before, but I cannot find a concrete answer. I'd appreciate your feedback.
Assume I have a spout that emit tuples which are consumed by 4 different bolts .
Spout A ---> Bolt B             ---> Bolt C             ---> Bolt D             ---> Bolt E
 I have 4 works, each with one executor thread. I understand that there are send and receive queues for sending and receiving tuples. Does this mean in this scenario, the memory usage would be 4 times as if I had one spout and one bolt (ignoring all other overheads)?

thanks,Clay