POV-Ray : Newsgroups : povray.general : Hyperthreading benchmark : Re: Hyperthreading benchmark Server Time
2 Aug 2024 20:19:23 EDT (-0400)
  Re: Hyperthreading benchmark  
From: Ger
Date: 22 Jul 2004 18:32:33
Message: <41004081@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.