You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Karande Samir <Sa...@comverse.com> on 2003/04/16 20:06:45 UTC

symmetric multiprocessor performance issue

Hello,
	I am using xerces-c 2.1 using the SAX interface for parsing small
(1K - 5K) documents on linux 7.2 using gcc 2.96-112 on 24.7-10smp kernel. 

The parse() routine takes x milliseconds to parse the document with moderate
load (100 concurrent users) and with higher load the same document parsing
takes for example x seconds (1000 times more time) with 150 concurrent users
and 4x seconds (4000 times more) with 200 concurrent users. 

This problematic behavior is only happening on an SMP (Duel processor) and
isn't a problem on uniprocessor system in same scenarios. 


Any and every help will be greatly appreciated.

Thank you,
Samir

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


RE: symmetric multiprocessor performance issue

Posted by Triger Konstantin <ko...@mainsoft.com>.
Hello,

I'm not sure about your exact problem, but I'm aware of 2 scalability
problems in xerces library:

1. Allocator. The problem is that everything is allocated thru malloc,
what leads to the heavy load on malloc mutex. The xerces team already
works on some implementation of providing the custom allocator, but as a
temporary workaround you may consider about malloc/calloc/realloc/free
implementation of your own and linking it with the xerces library.

2. Atomic operations (surely correct up to xerces 2.0 - I did not use
later versions). All the atomic operations are protected with a mutex.
This may be easily fixed by using native CPU-specific instructions.

-Kosta

-----Original Message-----
From: Karande Samir [mailto:Samir.Karande@comverse.com] 
Sent: Wednesday, April 16, 2003 9:07 PM
To: 'xerces-c-dev@xml.apache.org'
Subject: symmetric multiprocessor performance issue


Hello,
	I am using xerces-c 2.1 using the SAX interface for parsing
small (1K - 5K) documents on linux 7.2 using gcc 2.96-112 on 24.7-10smp
kernel. 

The parse() routine takes x milliseconds to parse the document with
moderate load (100 concurrent users) and with higher load the same
document parsing takes for example x seconds (1000 times more time) with
150 concurrent users and 4x seconds (4000 times more) with 200
concurrent users. 

This problematic behavior is only happening on an SMP (Duel processor)
and isn't a problem on uniprocessor system in same scenarios. 


Any and every help will be greatly appreciated.

Thank you,
Samir

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org