"adrian(a)jboss.org" wrote : * Not all services define their dependencies
properly. It's only the implicit sequential order that makes them work correctly.
If they don't define their dependencies properly, what guarantee is there that they
will even work at all?
"adrian(a)jboss.org" wrote : * Finally, less of a practical issue, but more a
generic note. Using mulitple threads for startup will only work if there are multiple
cpus/cores. In non SMP environments the bootstrap could be slower with multiple competing
threads, although it may be able to take advantage of times during disk I/O waits
| to do some processing on other threads?
Two things - first, I don't even know where I'd be able to buy a server-class
system (heck even a desktop-class system come to think of it) that didn't have at
least two cores (if not two or more multi-core CPUs). But that issue aside, any service
that has non-CPU bound tasks (which includes not just disk I/O but network I/O) could
possibly see a performance benefit from concurrent startup, even on a single-core system.
And in any case we're talking about service deployment - I doubt the additional
overhead of context switching between multiple threads could possibly make a measurable
impact on performance. Especially in comparison to examples like Bela's 5-second
timeout.
Also one could reasonably expect that rather than firing off a thread for every task,
there would be a thread pool Executor of some sort. The thread pool could be sized in
proportion to the number of cores available, or in some configurable fashion. Then the
simple rule would be, any deployment task with no remaining dependencies gets put into the
queue for execution.
I don't really understand the hairy details behind some of the classloader problems,
but surely they could be worked around by imposing some reliance on the dependency system
for them as well?
I agree with Bela - a concurrent startup would be hugely beneficial for startup time, not
to mention just being cool. In fact when first learning about the MC and its dependency
system, I had simply assumed that dependencies were resolved concurrently and never gave
it a moment's thought. It wasn't until I spoke with Bela at JBW that I learned
otherwise.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4131491#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...