In the interim (i.e. until code improvements), did you try multiple
*processes* rather than threads, i.e. to ensure multiple copies of statics,
etc, so contention within a process is eliminated?

It may well still be that other forms of contention limit the throughput....

-----Original Message-----
From: Jim Cotugno [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, July 17, 2001 1:10 PM
To: [EMAIL PROTECTED]
Subject: RE: Multithreading


> I don't know if anyone has done any extensive testing of concurrency with
> FOP, so please let us know what problems you run into (the
IndexOutOfBounds
> for example), either via this list, or better yet, via Bugzilla so we can
> track and fix the issues. I've fixed a few places where I found
concurrency
> issues at one time, but I'm sure there are others I didn't find.

When we attempted to use FOP in a multi-processor, multi-threaded
Windows NT 4.0 environment, we found that FOP actually worked
SLOWER than a single processor and/or single-threaded
environment.  We ran multiple threads that were responsible for
rendering separate documents.  We were trying to reduce the
elapsed time necessary to render thousands of relatively small (10-
20 page) documents.

What we found was running multiple FOP threads on a multi-
processor Windows NT box reduced our total throughput.  We
processed more documents per hour with a single FOP thread than
we did with multiple FOP threads.  Note that I'm refering to total
throughput, not documents per thread per hour.

Some analysis pointed to VERY HIGH context switching going on
when running two FOP threads on a two processor system.  What
this told us was that the two FOP threads were fighting over the
same piece(s) of memory continuously.  This context switching went
away when we ran multiple FOP threads on a single processor
machine or we ran a single FOP thread on a multi-processor
machine.

I spent some time looking at the source code, and noticed a large
number of statics being declared all throughout FOP.  This may be a
cause, or it may have something to do in the way the Sun jvm works
on Windows.  I didn't have the time to dig deeper.

I don't remember the exact version of FOP we used for the test.  It
may have been 0.18.1 or 0.19.0-CVS.

Jim Cotugno
Upstanding
email:      [EMAIL PROTECTED]
home email: [EMAIL PROTECTED]
phone:      949-453-2000
fax:        949-453-2001

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to