public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [ANNOUNCE] Interbench v0.24
@ 2005-07-29  3:10 Con Kolivas
       [not found] ` <42EA0EF8.2040202@staticwave.ca>
  2005-08-02  7:08 ` Peter Williams
  0 siblings, 2 replies; 6+ messages in thread
From: Con Kolivas @ 2005-07-29  3:10 UTC (permalink / raw)
  To: linux kernel mailing list; +Cc: ck list

[-- Attachment #1: Type: text/plain, Size: 1719 bytes --]

Interbench is a Linux Kernel Interactivity Benchmark.

Direct download:
http://ck.kolivas.org/apps/interbench/interbench-0.24.tar.bz2
Web:
http://interbench.kolivas.org

Changes:
3 new loads were added:

Gaming benchmark:
This simulates an unlocked frame rate cpu intensive 3d gaming environment. It 
measures the latencies mean/sd/max and desired cpu percentage only. These 
should give a marker of frame rate stability (latencies), and maximum frame 
rates under different loads (desired cpu percentage). As this simulates an 
unlocked frame rate the deadlines met is meaningless. This does not 
accurately emulate a 3d game which is gpu bound, only a cpu bound one.

Hackbench:
Taken from Rusty's hackbench code as suggested by Ingo Molnar, this will run 
'hackbench 50' repeatedly in the background when benchmarking real time 
performance.

Custom:
Based on the periodic scheduling used for audio/video, custom will allow you 
to specify a cpu percentage and frame rate of a custom workload, and this can 
be used to benchmark this workload's performance under normal scheduling, 
real time scheduling or it can be used as a background load.


Bugfixes:
Numerous floating point and overflow errors were tracked down and fixed. These 
are responsible for results like 'nan' and 4294... which is basically 2^32. 
Unfortunately the standard deviation reported in previous versions appears to 
have been bogus, but fortunately little value was placed on this result.

Error handling was made _much_ more robust - for example it was found that 
contrary to 'man sem_wait' but consistent with SUSv3, sem_wait can return -1 
with -EINTR.

Lots of little tweaks.


Cheers,
Con

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ck] [ANNOUNCE] Interbench v0.24
       [not found] ` <42EA0EF8.2040202@staticwave.ca>
@ 2005-07-29 11:27   ` Con Kolivas
  2005-07-29 11:47     ` Gabriel Devenyi
  0 siblings, 1 reply; 6+ messages in thread
From: Con Kolivas @ 2005-07-29 11:27 UTC (permalink / raw)
  To: Gabriel Devenyi; +Cc: linux kernel mailing list, ck list

On Fri, 29 Jul 2005 21:11, Gabriel Devenyi wrote:
> Hello Con,
>
> Attempting to run this on my 2.6.12-ck3s system results in the following
> error:
>
> sawtooth interbench-0.24 # ./interbench
> loops_per_ms unknown; benchmarking...
> 690936 loops_per_ms saved to file interbench.loops_per_ms
>
> Could not get memory or swap size
>
> Bug perhaps? My configuration hasn't changed since interbench 0.23 AFAIK.

No swap?

Cheers,
Con

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ck] [ANNOUNCE] Interbench v0.24
  2005-07-29 11:27   ` [ck] " Con Kolivas
@ 2005-07-29 11:47     ` Gabriel Devenyi
  2005-07-29 11:49       ` Con Kolivas
  0 siblings, 1 reply; 6+ messages in thread
From: Gabriel Devenyi @ 2005-07-29 11:47 UTC (permalink / raw)
  To: Con Kolivas; +Cc: linux kernel mailing list, ck list

Thats correct, does it need it?

--
Gabriel Devenyi
ace@staticwave.ca

Con Kolivas wrote:
> On Fri, 29 Jul 2005 21:11, Gabriel Devenyi wrote:
> 
>>Hello Con,
>>
>>Attempting to run this on my 2.6.12-ck3s system results in the following
>>error:
>>
>>sawtooth interbench-0.24 # ./interbench
>>loops_per_ms unknown; benchmarking...
>>690936 loops_per_ms saved to file interbench.loops_per_ms
>>
>>Could not get memory or swap size
>>
>>Bug perhaps? My configuration hasn't changed since interbench 0.23 AFAIK.
> 
> 
> No swap?
> 
> Cheers,
> Con
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ck] [ANNOUNCE] Interbench v0.24
  2005-07-29 11:47     ` Gabriel Devenyi
@ 2005-07-29 11:49       ` Con Kolivas
  0 siblings, 0 replies; 6+ messages in thread
From: Con Kolivas @ 2005-07-29 11:49 UTC (permalink / raw)
  To: Gabriel Devenyi; +Cc: linux kernel mailing list, ck list

On Fri, 29 Jul 2005 21:47, Gabriel Devenyi wrote:
> Thats correct, does it need it?

For the memload, yes it does. I guess for the next version I can drop memload 
if it can't read the swap information rather than not running at all.

Cheers,
Con

> Con Kolivas wrote:
> > On Fri, 29 Jul 2005 21:11, Gabriel Devenyi wrote:
> >>Hello Con,
> >>
> >>Attempting to run this on my 2.6.12-ck3s system results in the following
> >>error:
> >>
> >>sawtooth interbench-0.24 # ./interbench
> >>loops_per_ms unknown; benchmarking...
> >>690936 loops_per_ms saved to file interbench.loops_per_ms
> >>
> >>Could not get memory or swap size
> >>
> >>Bug perhaps? My configuration hasn't changed since interbench 0.23 AFAIK.
> >
> > No swap?
> >
> > Cheers,
> > Con

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCE] Interbench v0.24
  2005-07-29  3:10 [ANNOUNCE] Interbench v0.24 Con Kolivas
       [not found] ` <42EA0EF8.2040202@staticwave.ca>
@ 2005-08-02  7:08 ` Peter Williams
  2005-08-02  7:13   ` Con Kolivas
  1 sibling, 1 reply; 6+ messages in thread
From: Peter Williams @ 2005-08-02  7:08 UTC (permalink / raw)
  To: Con Kolivas; +Cc: linux kernel mailing list, ck list

Con Kolivas wrote:
> Interbench is a Linux Kernel Interactivity Benchmark.
> 
> Direct download:
> http://ck.kolivas.org/apps/interbench/interbench-0.24.tar.bz2
> Web:
> http://interbench.kolivas.org
> 
> Changes:
> 3 new loads were added:
> 
> Gaming benchmark:
> This simulates an unlocked frame rate cpu intensive 3d gaming environment. It 
> measures the latencies mean/sd/max and desired cpu percentage only. These 
> should give a marker of frame rate stability (latencies), and maximum frame 
> rates under different loads (desired cpu percentage). As this simulates an 
> unlocked frame rate the deadlines met is meaningless. This does not 
> accurately emulate a 3d game which is gpu bound, only a cpu bound one.
> 
> Hackbench:
> Taken from Rusty's hackbench code as suggested by Ingo Molnar, this will run 
> 'hackbench 50' repeatedly in the background when benchmarking real time 
> performance.
> 
> Custom:
> Based on the periodic scheduling used for audio/video, custom will allow you 
> to specify a cpu percentage and frame rate of a custom workload, and this can 
> be used to benchmark this workload's performance under normal scheduling, 
> real time scheduling or it can be used as a background load.
> 
> 
> Bugfixes:
> Numerous floating point and overflow errors were tracked down and fixed. These 
> are responsible for results like 'nan' and 4294... which is basically 2^32. 
> Unfortunately the standard deviation reported in previous versions appears to 
> have been bogus, but fortunately little value was placed on this result.
> 
> Error handling was made _much_ more robust - for example it was found that 
> contrary to 'man sem_wait' but consistent with SUSv3, sem_wait can return -1 
> with -EINTR.
> 
> Lots of little tweaks.

I've just been perusing the code and noticed that there is a bug in 
calculating the latency standard deviation caused by the fact that the 
latency that is inserted into the samples array is not necessarily the 
same as that added to total_latency and could be quite a bit larger.  So 
either the means are too small or the standard deviations are too large.

BTW, there's a method for calculating variances and means that avoids 
the need to keep an array of samples.  Basically, in addition to the sum 
of the samples (sum_x, say) you keep a sum of the squares of the samples 
(sum_x_sq, say) and the number of samples (n, say).  Then:

mean = sum_x / n
variance = (sum_x_sq - (mean * mean) / n) / (n - 1)
standard deviation = sqrt(variance)

Without the need to keep the array of samples there's no need worry 
about an arbitrary upper limit on the number of samples.

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCE] Interbench v0.24
  2005-08-02  7:08 ` Peter Williams
@ 2005-08-02  7:13   ` Con Kolivas
  0 siblings, 0 replies; 6+ messages in thread
From: Con Kolivas @ 2005-08-02  7:13 UTC (permalink / raw)
  To: Peter Williams; +Cc: linux kernel mailing list, ck list

On Tue, 2 Aug 2005 05:08 pm, Peter Williams wrote:
> Con Kolivas wrote:
> > Interbench is a Linux Kernel Interactivity Benchmark.
> >
> > Direct download:
> > http://ck.kolivas.org/apps/interbench/interbench-0.24.tar.bz2
> > Web:
> > http://interbench.kolivas.org
> >
> > Changes:
> > 3 new loads were added:
> >
> > Gaming benchmark:
> > This simulates an unlocked frame rate cpu intensive 3d gaming
> > environment. It measures the latencies mean/sd/max and desired cpu
> > percentage only. These should give a marker of frame rate stability
> > (latencies), and maximum frame rates under different loads (desired cpu
> > percentage). As this simulates an unlocked frame rate the deadlines met
> > is meaningless. This does not accurately emulate a 3d game which is gpu
> > bound, only a cpu bound one.
> >
> > Hackbench:
> > Taken from Rusty's hackbench code as suggested by Ingo Molnar, this will
> > run 'hackbench 50' repeatedly in the background when benchmarking real
> > time performance.
> >
> > Custom:
> > Based on the periodic scheduling used for audio/video, custom will allow
> > you to specify a cpu percentage and frame rate of a custom workload, and
> > this can be used to benchmark this workload's performance under normal
> > scheduling, real time scheduling or it can be used as a background load.
> >
> >
> > Bugfixes:
> > Numerous floating point and overflow errors were tracked down and fixed.
> > These are responsible for results like 'nan' and 4294... which is
> > basically 2^32. Unfortunately the standard deviation reported in previous
> > versions appears to have been bogus, but fortunately little value was
> > placed on this result.
> >
> > Error handling was made _much_ more robust - for example it was found
> > that contrary to 'man sem_wait' but consistent with SUSv3, sem_wait can
> > return -1 with -EINTR.
> >
> > Lots of little tweaks.
>
> I've just been perusing the code and noticed that there is a bug in
> calculating the latency standard deviation caused by the fact that the
> latency that is inserted into the samples array is not necessarily the
> same as that added to total_latency and could be quite a bit larger.  So
> either the means are too small or the standard deviations are too large.
>
> BTW, there's a method for calculating variances and means that avoids
> the need to keep an array of samples.  Basically, in addition to the sum
> of the samples (sum_x, say) you keep a sum of the squares of the samples
> (sum_x_sq, say) and the number of samples (n, say).  Then:
>
> mean = sum_x / n
> variance = (sum_x_sq - (mean * mean) / n) / (n - 1)
> standard deviation = sqrt(variance)
>
> Without the need to keep the array of samples there's no need worry
> about an arbitrary upper limit on the number of samples.

Lovely! Thank you very much as that was causing me much grief indeed and your 
approach simplifies the code greatly.

Cheers,
Con

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-08-02  7:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-29  3:10 [ANNOUNCE] Interbench v0.24 Con Kolivas
     [not found] ` <42EA0EF8.2040202@staticwave.ca>
2005-07-29 11:27   ` [ck] " Con Kolivas
2005-07-29 11:47     ` Gabriel Devenyi
2005-07-29 11:49       ` Con Kolivas
2005-08-02  7:08 ` Peter Williams
2005-08-02  7:13   ` Con Kolivas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox