|
|
On Thursday 22 July 2004 23:12, Chris Jeppesen wrote :
> Given: One Pentium 4 with hyperthreading (2 virtual processors)
> Find: Does running two instances of POV-Ray make sense?
>
> Experimental setup:
>
> 1 Dell Dimension Precision 360
> 1 Pentium 4 3.2GHz processor (2 virtual processors)
> 1.00GB main memory
> Windows XP Service Pack 1
> Cygwin execution environment
> Megapov 1.01 (Megapov 1.0 with a couple of my own patches added)
> compiled with GCC 3.3.1-cygwin
> POV-Ray 3.5 standard benchmark.pov version 1.02,
> and standard benchmark ini file
>
> Procedure:
>
> 1. Run the benchmark on a single instance of pov.
> A single instance never uses more than 50% cpu time, according to task
> manager
> 2. Run the benchmark simultaneously on two instances of pov.
> The two instances are run in two seperate xterm instances, in the same
> directory, with the same command line, manually started less than 1
> second apart. Neither instance uses more than 50%, and the combined
> total is usually 99% or 100%.
> 3. Note the real time of completion for all runs. POV-Ray reports this
> in its statistics page as total time. This is distinct from the CPU time
> used as reported by task manager.
>
> Data:
>
> Single instance: Complete in 37min12sec
> Double instance: First complete 58min50sec
> Second complete 59min17sec
>
> Analysis and discussion:
>
> This is a custom build of megapov, which itself is a distinct version of
> POV-ray. The purpose of this experiment is not to compare this version
> with any other benchmark. The only variable in this experiment is number
> of simultaneously running instances.
>
> To compare the runs most easily, compute pixels per second. On the
> single instance, divide the number of pixels rendered by the number of
> seconds in the render
>
> 384*384= 147456 pixels
> 37:12= 2232 seconds
>
> 147456/2232=66.06pixels/second.
>
> On the double instance, the number of pixels is twice as much, since two
> images were rendered, and the render time is the longer of the two runs,
> since they were started simultaneously and what matters to me is the
> amount of real time between start and end of render.
>
> 384*384*2= 294912 pixels
> 59:17= 3557 seconds
Add to this the second time
58:50 = 3530
makes a total of 7087 seconds
294912 / 7087 = 41.6 pixels per second
which makes 66.06 / 41.6 = 1.59 speed factor
So a single instance is 1.59 times faster.
And the reason for this is that all non-Povray stuff is done by the other
processor so Povray has one processor all to itself.
>
> 294912/3557=82.91pixels/second
>
> Results:
>
> Running two instances results in an improvement of (82.91/66.06)-1=25.5%
> speed improvement. Two identical independent computers can reasonably
> expect a 100% improvement.
>
> Conclusion:
>
> Hyperthreading does result in an improvement of rendering speed, but
> only 25%. This is small, but speed is speed, and any improvement is
> good. It does make sense two run two instances, but do not expect twice
> the rendering speed.
Your conclusion is a little of because you never considered the total time
needed to do the two simultaneous renders.
I have run simular tests on real dual proc computers and the show the same
results (with not such big differences)
--
Ger
Post a reply to this message
|
|