[infinispan-dev] Re: JProfiler snapshots for Infinispan+JBMAR
Galder Zamarreno
galder.zamarreno at redhat.com
Tue May 12 14:38:34 EDT 2009
Galder Zamarreno wrote:
>
>
> David M. Lloyd wrote:
>> OK, then I think there must be something outside of JBMAR that is
>> impacting this. I've gone through and literally removed a number of
>> the top hotspots from the profiler reports which should have made a
>> big difference if the reports were correct.
>>
>> Is there any way I can get ahold of your whole test case?
>
> I'm a real ^%%$£%:
>
> 1.- In the cluster tests I had run, the nodes never joined and hence
> never formed a cluster, so each node run independently!
> Todo: improve benchmark framework so that if a cluster test is being run
> with multiple nodes, the cluster view does indeed have that number of
> nodes!!
>
> 2.- More importantly, all along I've been ignoring
> cache-products/xyz/config.sh and hence when updating JBMAR, I was simply
> copying the folder, without updating config.sh. Result? All the JBMAR
> tests have been running with the very 1st JBMAR version tested.
Todo: cache-products/xyz/config.sh should not have the directory
hard-coded, it should retrieve the directory name of pwd or something
similar.
>
> Once again, I'm a real ^%%$£%^%*&%*£!!
>
> I'm working to fix these two issues asap and will come back with
> information asap.
>
>>
>> - DML
>>
>> On 05/11/2009 11:06 AM, Galder Zamarreno wrote:
>>> Hey,
>>>
>>> Run a couple of round of tests with JBMAR trunk (r200) and please
>>> find attached the results. No real improvement I'm afraid. I'll look
>>> into the profile data from r200 tomorrow.
>>>
>>> I'm currently working on the pooling.
>>>
>>> Regards,
>>>
>>> David M. Lloyd wrote:
>>>> Galder, would you mind switching to trunk and trying that version
>>>> (unofficial 1.2.0.CR1 - yes I *promise* I'll fix the versioning and
>>>> get a source blob built asap!)?
>>>>
>>>> - DML
>>>>
>>>> On 05/08/2009 12:09 PM, Galder Zamarreno wrote:
>>>>> Profiler data with JBMAR r174
>>>>>
>>>>> Galder Zamarreno wrote:
>>>>>> Hi David,
>>>>>>
>>>>>> Please find attach graphs belonging to two runs that compare:
>>>>>>
>>>>>> infinispan-4.0.0(repl-sync) - home grown marshalling layer
>>>>>> infinispan-4.0.0(repl-sync-jbmar) - infinispan + jbmar 1.1.2
>>>>>> infinispan-4.0.0(repl-sync-jbmar)-rXYZ - infinispan + jbmar with
>>>>>> revision
>>>>>>
>>>>>> Not sure what's the conclusion here tbh. The results of 1.1.2
>>>>>> almost look opposite in each test.
>>>>>>
>>>>>> I've also attached some information from previously run profiling
>>>>>> sessions with a couple of local machines we have in Neuchatel. I
>>>>>> profiled the faster of the two machines.
>>>>>>
>>>>>> Actually, looking at this profiled data, these tests are for
>>>>>> synchronous replicated caches but I see no traces of actually
>>>>>> reading the stream, only writing to it, hmmmm.
>>>>>>
>>>>>> I'm adding Externalizers to class table and implementing
>>>>>> marshaller/unmarshaller pooling as my next tasks.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> David M. Lloyd wrote:
>>>>>>> OK, I tried out a few things. You might want to try introducing
>>>>>>> these one at a time (i.e. update up to rev 173, then 174, then
>>>>>>> 175 and see how each one does). In particular, I think 175 has
>>>>>>> just as much chance of slowing things down as speeding them up -
>>>>>>> either you're getting tons of collisions in the hash table or the
>>>>>>> profiler is skewing the results there (maybe try filtering out
>>>>>>> org.jboss.marshalling.util.IdentityIntMap and java.lang.System to
>>>>>>> see if that gives a different picture).
>>>>>>>
>>>>>>> I feel pretty good about 173 and 174 though I think the profiler
>>>>>>> will skew 173 unless you have that UTFUtils filter installed. If
>>>>>>> 175 slows things down (outside of the profiler), let me know and
>>>>>>> I'll revert it. None of my tests showed much difference but I
>>>>>>> don't have any good benchmarks that really exercise that code
>>>>>>> right now.
>>>>>>>
>>>>>>> There's a couple things left to try yet, like looking at
>>>>>>> replacing ConcurrentReferenceHashMap (assuming that isn't the
>>>>>>> profiler again).
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> r175 | david.lloyd at jboss.com | 2009-05-08 00:17:46 -0500 (Fri, 08
>>>>>>> May 2009) | 1 line
>>>>>>>
>>>>>>> Try a trick to decrease the liklihood of collisions
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> r174 | david.lloyd at jboss.com | 2009-05-08 00:04:39 -0500 (Fri, 08
>>>>>>> May 2009) | 1 line
>>>>>>>
>>>>>>> Replacement caching is not economical; the cost is one extra hash
>>>>>>> table get for non-replaced objects, two hash table gets (total)
>>>>>>> for replaced objects. Removing the cache gets rid of the cost
>>>>>>> for non-replaced objects, while replaced objects now have to be
>>>>>>> replaced again before the single hash table hit.
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> r173 | david.lloyd at jboss.com | 2009-05-07 23:44:52 -0500 (Thu, 07
>>>>>>> May 2009) | 1 line
>>>>>>>
>>>>>>> JBMAR-52 - Avoid extra copy of char array (1.5 of 2)
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> - DML
>>>>>>
>>>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
More information about the infinispan-dev
mailing list