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]>

Reply via email to