Paulo Gaspar wrote:
> Hi Berin,
>
>>Because the management is no longer performed synchronously.
>>Instead of managing
>>pool sizes as objects are requested and returned to the pool,
>>they are managed by
>>an asynchronous process. That asynchronous process will have the
>>intelligence to
>>predict the optimal pool size so that all get() requests pass
>>without wasting resources.
>>
>
> Ah! The kind of adaptive caching I recently discussed with Stefano
> on the Cocoon list!!! I love that!
Yes, but unlike Stefano's proposal, the tests are performed outside
the critical path.
>>Also, for a cache implementation example, the asynchronous
>>process will check the
>>validity of the entries in the Cache, and automatically purge
>>stale entries. That
>>way the Cache does not have to perform that check synchronously.
>>
>
> But any cache usually has a "janitor" (using a Cocoon term) to do
> that.
:) Imagine having 20 pools each with their own "janitor" to use the
Cocoon Store idiom. Each Janitor has it's own thread--that's 20 threads.
My solution has a formal "CommandManager" that allows any Component to
drop a Command into it's queue and have it executed when the processing
thread is ready. This allows 1 or maybe even 2 threads handle all
asynchronous management for all pools.
By adding the Concept of a PoolManager, we would have one manager for
n pools. That manager houses all the logic for the managed pools.
>>When management of resources are moved outside of the critical
>>path of execution,
>>the critical path is shorter and simpler.
>>Shorter and simpler == faster.
>>
>
> Ok, of course.
>
> This kind of things I have already been wondering about and you
> can do most without changing the ComponentManager.
>
> I thought you had some new black magic!
> =;o)
>
> The interesting new bit at Avalon is already the ability to
> serialize back to disk the new/adapted configuration of such
> adaptive components.
> =:o)
It's not implemented yet, but it will be.
> The most interesting bit of dynamic management, for me, is
> interaction trough some user interface tool. Looking at metrics,
> changing parameters on the run and saving the configuration
> with beautiful and easy to use tools... what a nice dream!
> =:oD
That is what Profile (Avalon instrumentation) will allow. I proposed
to JMeter to have their metering abilities expanded, but for now
they have not responded to my message. I will repost when I have
an implementation of Profile in place.
Another piece would be the GUI configuration.
<snip>All the other tasty stuff that I need to take alot
of time to review</snip>
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>