[infinispan-dev] Re: JProfiler snapshots for Infinispan+JBMAR
Galder Zamarreno
galder.zamarreno at redhat.com
Wed May 13 14:55:05 EDT 2009
Galder Zamarreno wrote:
> I've managed to get tests run making sure that the right JBMAR versions
> and the clusters are formed correctly.
>
> JBMAR looks faster is most cases of async communications already. It's
> worth noting that with sync, the differences are minimal, network and
> waiting for responses is probably a bigger latency than what u can gain
> with marshalling.
>
> I'll run another batch of async tests to see whether it's clearer which
> JBMAR version I should go for.
>
> Note that in async mode and 8 nodes, I started to see some view changes
> under load and also some NAKACK errors.
>
> I'll move now to implement pooling and improvement explained in
> https://jira.jboss.org/jira/browse/ISPN-59.
Manik, once I've done these two, I'll have a look at your two marshaller
related emails and will port whatever is necessary to the JBMAR.
>
> Regards,
>
> Galder Zamarreno wrote:
>>
>>
>> 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
>>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>
>>
>
>
> ------------------------------------------------------------------------
>
> This body part will be downloaded on demand.
--
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat
More information about the infinispan-dev
mailing list