Re: What you get is what you want

Quartz <[email protected]> Mon, 15 Nov 2004 16:54:44 -0800 (PST)
Newsgroups gmane.comp.java.seda.user
Message-ID <[email protected]>
> Why would we need a 'blocking enqueue' feature?
> I just can't realize the needs of it ...
> And, by the way, it should defeat the main proposal of SEDA which is to be scalable (everything
> that blocks does not scale).

A better example to get it clear: if an upstream stage performs 1000x faster than its downstream
stage, you would need 1000x more threads in that downstream stage to be able to catchup. And that
happens very often. That is called an over-producing stage and if it cannot block, if will loose
the data which most obviously isn't acceptable, no more than a thousand threads per stage.

So:
-not everybody want a lossy systems, we need reliable message queues
-practical systems don't have infinite queues
-that's the only trivial backpressure mecanism.

Other backpressure mecanism will always end up blocking a thread, unless you want to spin-crazy in
a poll loop like a novice, wasting CPU.



		
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com 
 



-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8