linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
       [not found] ` <fa.f6uq3iv.232305@ifi.uio.no>
@ 2002-10-29 20:06   ` John Hawkes
  2002-10-29 20:46     ` Timothy D. Witham
  0 siblings, 1 reply; 8+ messages in thread
From: John Hawkes @ 2002-10-29 20:06 UTC (permalink / raw)
  To: linux-kernel; +Cc: wookie

From: "Jakob Oestergaard" <jakob@unthought.net>
...[snip]...
> The correct way to terminate that loop is, like was already suggested,
> doing a comparison to see if the residual is "numerically zero" or
> "sufficiently zero-ish for the given purpose". Eg.  "delta < 1E-12" or
> eventually "fabs(delta) < 1E-12".

Tim Witham at the OSDL told me that he ran some experiments with
different convergent deltas:

  zero Rate (ops/sec) Iteration Rate
 10-6    331,300    1656.5
 10-8    315,049    1575.0
 10-10    302,000    1510.0
 10-12    292,300    1461.5
 10-14    285,400    1427.0

Anything smaller than 10-14 didn't converge.


--
John Hawkes



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

* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
  2002-10-29 20:06   ` [BENCHMARK] AIM Independent Resource Benchmark results for kernel-2.5.44 John Hawkes
@ 2002-10-29 20:46     ` Timothy D. Witham
  0 siblings, 0 replies; 8+ messages in thread
From: Timothy D. Witham @ 2002-10-29 20:46 UTC (permalink / raw)
  To: John Hawkes; +Cc: linux-kernel

  But then I fixed the code with the compile option.  But
I agree I don't like floating point code that looks for
equality with zero to end a loop.  I would much rather
have the code to for a fixed <= number as that prevents
the issue with "how close to zero" on your system.  

  History lesson.  In the very old days this benchmark
caused many a math library to be changed because different
architectures had different ideas as to how close to
zero you had to be before a floating point number was
considered zero and some people ran a lot more iterations
than other folks for the same test.  The response was
"Well that is an implementation detail and it does
matter to folks as they write code to test for convergence."
I guess they went to a cheaper school than I did. :-)

  Of course that was when it took a 20 processor system
to get over 100 users. :-)

  But if we are looking at this test overall maybe we 
should be considering how to update it for systems
that have changed so much over the years. For
example the fakeh.tar file is only 192 KB.  Heck
that is the size of some single documents these days.

Tim

On Tue, 2002-10-29 at 12:06, John Hawkes wrote:
> From: "Jakob Oestergaard" <jakob@unthought.net>
> ...[snip]...
> > The correct way to terminate that loop is, like was already suggested,
> > doing a comparison to see if the residual is "numerically zero" or
> > "sufficiently zero-ish for the given purpose". Eg.  "delta < 1E-12" or
> > eventually "fabs(delta) < 1E-12".
> 
> Tim Witham at the OSDL told me that he ran some experiments with
> different convergent deltas:
> 
>   zero Rate (ops/sec) Iteration Rate
>  10-6    331,300    1656.5
>  10-8    315,049    1575.0
>  10-10    302,000    1510.0
>  10-12    292,300    1461.5
>  10-14    285,400    1427.0
> 
> Anything smaller than 10-14 didn't converge.
> 
> 
> --
> John Hawkes
-- 
Timothy D. Witham - Lab Director - wookie@osdlab.org
Open Source Development Lab Inc - A non-profit corporation
15275 SW Koll Parkway - Suite H - Beaverton OR, 97006
(503)-626-2455 x11 (office)    (503)-702-2871     (cell)
(503)-626-2436     (fax)


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

* Re: [BENCHMARK] AIM Independent Resource Benchmark results for  kernel-2.5.44
  2002-10-29 15:28       ` Nathan Straz
@ 2002-10-29 16:24         ` Cliff White
  0 siblings, 0 replies; 8+ messages in thread
From: Cliff White @ 2002-10-29 16:24 UTC (permalink / raw)
  To: linux-kernel

> On Tue, Oct 29, 2002 at 12:17:38AM +0100, Jakob Oestergaard wrote:
> > On Mon, Oct 28, 2002 at 12:28:39PM -0600, Nathan Straz wrote:
> > > > The AIM7/AIM9 new_raph is broken code.  The convergence loop termination
> > > > conditional looks something like:
> > > >    if (delta == 0) break;
> > > > for a type "double" delta.  You ought to change that to be something
> > > > like:
> > > >    if (delta <= 0.00000001L) break;
> > > 
> > > I usually specify the compiler flag -ffloat-store and that fixes the
> > > issue for me.  
> > 
> > Maybe that will work as a work-around.  But it is nothing but a
> > work-around. The previous poster was right - the code is broken.
> 
> /me looks at the code
> 
> 	/*
> 	 * Step 4: if |p - p0| < TOL then terminate successfully
> 	 */
> 	delta = fabs(p - p0);
> 	if (delta == 0.0)
> 		break;
> 
> Ok, I'll admit that the code does look broken, especially with regard to
> the comment *in* the code.  
> 
> Is anyone from Caldera still maintaining this code or shall I create a
> CVS module as part of LTP?
> 
The OSDL is interested in this supporting this test also. 
Appreciate the fix. 
cliffw
www.osdl.org

> -- 
> Nate Straz                                              nstraz@sgi.com
> sgi, inc                                           http://www.sgi.com/
> Linux Test Project                                  http://ltp.sf.net/
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 



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

* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
  2002-10-28 23:17     ` Jakob Oestergaard
@ 2002-10-29 15:28       ` Nathan Straz
  2002-10-29 16:24         ` Cliff White
  0 siblings, 1 reply; 8+ messages in thread
From: Nathan Straz @ 2002-10-29 15:28 UTC (permalink / raw)
  To: linux-kernel

On Tue, Oct 29, 2002 at 12:17:38AM +0100, Jakob Oestergaard wrote:
> On Mon, Oct 28, 2002 at 12:28:39PM -0600, Nathan Straz wrote:
> > > The AIM7/AIM9 new_raph is broken code.  The convergence loop termination
> > > conditional looks something like:
> > >    if (delta == 0) break;
> > > for a type "double" delta.  You ought to change that to be something
> > > like:
> > >    if (delta <= 0.00000001L) break;
> > 
> > I usually specify the compiler flag -ffloat-store and that fixes the
> > issue for me.  
> 
> Maybe that will work as a work-around.  But it is nothing but a
> work-around. The previous poster was right - the code is broken.

/me looks at the code

	/*
	 * Step 4: if |p - p0| < TOL then terminate successfully
	 */
	delta = fabs(p - p0);
	if (delta == 0.0)
		break;

Ok, I'll admit that the code does look broken, especially with regard to
the comment *in* the code.  

Is anyone from Caldera still maintaining this code or shall I create a
CVS module as part of LTP?

-- 
Nate Straz                                              nstraz@sgi.com
sgi, inc                                           http://www.sgi.com/
Linux Test Project                                  http://ltp.sf.net/

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

* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
  2002-10-28 18:28   ` Nathan Straz
@ 2002-10-28 23:17     ` Jakob Oestergaard
  2002-10-29 15:28       ` Nathan Straz
  0 siblings, 1 reply; 8+ messages in thread
From: Jakob Oestergaard @ 2002-10-28 23:17 UTC (permalink / raw)
  To: linux-kernel

On Mon, Oct 28, 2002 at 12:28:39PM -0600, Nathan Straz wrote:
> > 
> > The AIM7/AIM9 new_raph is broken code.  The convergence loop termination
> > conditional looks something like:
> >    if (delta == 0) break;
> > for a type "double" delta.  You ought to change that to be something
> > like:
> >    if (delta <= 0.00000001L) break;
> 
> I usually specify the compiler flag -ffloat-store and that fixes the
> issue for me.  

Maybe that will work as a work-around.  But it is nothing but a
work-around. The previous poster was right - the code is broken.

The "==" operator usually doesn't have any reasonable use on floating
point values (yes there are cases where it makes sense, but this is not
one of them).

A result from any computation on double values cannot be assumed to
"equal" anything in particular. Zero included.

The correct way to terminate that loop is, like was already suggested,
doing a comparison to see if the residual is "numerically zero" or
"sufficiently zero-ish for the given purpose". Eg.  "delta < 1E-12" or
eventually "fabs(delta) < 1E-12".

Comparing to zero makes *no* sense.  It's written by someone who has no
understanding of numerics (or perhaps just didn't think clearly at that
moment - /me trying not to insult more people than strictly necessary ;)

-- 
................................................................
:   jakob@unthought.net   : And I see the elder races,         :
:.........................: putrid forms of man                :
:   Jakob Østergaard      : See him rise and claim the earth,  :
:        OZ9ABN           : his downfall is at hand.           :
:.........................:............{Konkhra}...............:

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

* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
  2002-10-26  0:12 ` John Hawkes
@ 2002-10-28 18:28   ` Nathan Straz
  2002-10-28 23:17     ` Jakob Oestergaard
  0 siblings, 1 reply; 8+ messages in thread
From: Nathan Straz @ 2002-10-28 18:28 UTC (permalink / raw)
  To: linux-kernel

On Fri, Oct 25, 2002 at 05:12:56PM -0700, John Hawkes wrote:
> From: "Siva Koti Reddy" <siva.kotireddy@wipro.com>
> >     39 new_raph       Unable to solve equation in 100 tries. P =
> 1.5708, P0
> > = 1.5708, delta = 6.12574e-17
> > new_raph: Success
> >  *** Failed to execute new_raph  ***
> 
> The AIM7/AIM9 new_raph is broken code.  The convergence loop termination
> conditional looks something like:
>    if (delta == 0) break;
> for a type "double" delta.  You ought to change that to be something
> like:
>    if (delta <= 0.00000001L) break;

I usually specify the compiler flag -ffloat-store and that fixes the
issue for me.  

-- 
Nate Straz                                              nstraz@sgi.com
sgi, inc                                           http://www.sgi.com/
Linux Test Project                                  http://ltp.sf.net/

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

* Re: [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
       [not found] <fa.d95885v.1d14t8c@ifi.uio.no>
@ 2002-10-26  0:12 ` John Hawkes
  2002-10-28 18:28   ` Nathan Straz
  0 siblings, 1 reply; 8+ messages in thread
From: John Hawkes @ 2002-10-26  0:12 UTC (permalink / raw)
  To: linux-kernel

From: "Siva Koti Reddy" <siva.kotireddy@wipro.com>
>     39 new_raph       Unable to solve equation in 100 tries. P =
1.5708, P0
> = 1.5708, delta = 6.12574e-17
> new_raph: Success
>  *** Failed to execute new_raph  ***

The AIM7/AIM9 new_raph is broken code.  The convergence loop termination
conditional looks something like:
   if (delta == 0) break;
for a type "double" delta.  You ought to change that to be something
like:
   if (delta <= 0.00000001L) break;

--
John Hawkes


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

* [BENCHMARK] AIM Independent Resource Benchmark  results for kernel-2.5.44
@ 2002-10-23  7:15 Siva Koti Reddy
  0 siblings, 0 replies; 8+ messages in thread
From: Siva Koti Reddy @ 2002-10-23  7:15 UTC (permalink / raw)
  To: lkml

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

AIM Independent Resource Benchmark - Suite IX v1.1, January 22, 1996
Copyright (c) 1996 - 2001 Caldera International, Inc.
All Rights Reserved

Machine's name                                    : benchtest
Machine's configuration                           : 128MB,10GB,800Mhz
Number of seconds to run each test [2 to 1000]    : 3
Path to disk files                                : /root/bench/s9110


Starting time:      Wed Oct 23 12:32:36 2002
Projected Run Time: 0:03:00
Projected finish:   Wed Oct 23 12:35:36 2002



----------------------------------------------------------------------------
--------------------------------
 Test        Test        Elapsed  Iteration    Iteration          Operation
Number       Name      Time (sec)   Count   Rate (loops/sec)    Rate
(ops/sec)
----------------------------------------------------------------------------
--------------------------------
     1 add_double           3.00         84   28.00000       504000.00
Thousand Double Precision Additions/second
     2 add_float            3.02        129   42.71523       512582.78
Thousand Single Precision Additions/second
     3 add_long             3.04         80   26.31579      1578947.37
Thousand Long Integer Additions/second
     4 add_int              3.03         80   26.40264      1584158.42
Thousand Integer Additions/second
     5 add_short            3.01        198   65.78073      1578737.54
Thousand Short Integer Additions/second
     6 creat-clo            3.05         58   19.01639        19016.39 File
Creations and Closes/second
     7 page_test            3.00        300  100.00000       170000.00
System Allocations & Pages/second
     8 brk_test             3.01        101   33.55482       570431.89
System Memory Allocations/second
     9 jmp_test             3.00      14391 4797.00000      4797000.00
Non-local gotos/second
    10 signal_test          3.00        412  137.33333       137333.33
Signal Traps/second
    11 exec_test            3.03         83   27.39274          136.96
Program Loads/second
    12 fork_test            3.05         33   10.81967         1081.97 Task
Creations/second
    13 link_test            3.00        296   98.66667         6216.00
Link/Unlink Pairs/second
    14 disk_rr              3.06         12    3.92157        20078.43
Random Disk Reads (K)/second
    15 disk_rw              3.25         11    3.38462        17329.23
Random Disk Writes (K)/second
    16 disk_rd              3.02        120   39.73510       203443.71
Sequential Disk Reads (K)/second
    17 disk_wrt             3.20         14    4.37500        22400.00
Sequential Disk Writes (K)/second
    18 disk_cp              3.01         11    3.65449        18710.96 Disk
Copies (K)/second
    19 sync_disk_rw         9.61          1    0.10406          266.39 Sync
Random Disk Writes (K)/second
    20 sync_disk_wrt        5.05          2    0.39604         1013.86 Sync
Sequential Disk Writes (K)/second
    21 sync_disk_cp         4.50          2    0.44444         1137.78 Sync
Disk Copies (K)/second
    22 disk_src             3.02        405  134.10596        10057.95
Directory Searches/second
    23 div_double           3.00         86   28.66667        86000.00
Thousand Double Precision Divides/second
    24 div_float            3.01         86   28.57143        85714.29
Thousand Single Precision Divides/second
    25 div_long             3.03         71   23.43234        21089.11
Thousand Long Integer Divides/second
    26 div_int              3.03         71   23.43234        21089.11
Thousand Integer Divides/second
    27 div_short            3.04         71   23.35526        21019.74
Thousand Short Integer Divides/second
    28 fun_cal              3.01        211   70.09967     35891029.90
Function Calls (no arguments)/second
    29 fun_cal1             3.00        456  152.00000     77824000.00
Function Calls (1 argument)/second
    30 fun_cal2             3.00        356  118.66667     60757333.33
Function Calls (2 arguments)/second
    31 fun_cal15            3.00        118   39.33333     20138666.67
Function Calls (15 arguments)/second
    32 sieve                3.97          3    0.75567            3.78
Integer Sieves/second
    33 mul_double           3.01         77   25.58140       306976.74
Thousand Double Precision Multiplies/second
    34 mul_float            3.01         77   25.58140       306976.74
Thousand Single Precision Multiplies/second
    35 mul_long             3.00       3377 1125.66667       270160.00
Thousand Long Integer Multiplies/second
    36 mul_int              3.00       3393 1131.00000       271440.00
Thousand Integer Multiplies/second
    37 mul_short            3.00       2706  902.00000       270600.00
Thousand Short Integer Multiplies/second
    38 num_rtns_1           3.00       1450  483.33333        48333.33
Numeric Functions/second
    39 new_raph       Unable to solve equation in 100 tries. P = 1.5708, P0
= 1.5708, delta = 6.12574e-17
new_raph: Success
 *** Failed to execute new_raph  ***
 Skipping to next test.
    40 trig_rtns            3.01         99   32.89037       328903.65
Trigonometric Functions/second
    41 matrix_rtns          3.00      18036 6012.00000       601200.00 Point
Transformations/second
    42 array_rtns           3.01         43   14.28571          285.71
Linear Systems Solved/second
    43 string_rtns          3.01         38   12.62458         1262.46
String Manipulations/second
    44 mem_rtns_1           3.01         70   23.25581       697674.42
Dynamic Memory Operations/second
    45 mem_rtns_2           3.00       5847 1949.00000       194900.00 Block
Memory Operations/second
    46 sort_rtns_1          3.01         91   30.23256          302.33 Sort
Operations/second
    47 misc_rtns_1          3.00       1253  417.66667         4176.67
Auxiliary Loops/second
    48 dir_rtns_1           3.00        459  153.00000      1530000.00
Directory Operations/second
    49 shell_rtns_1         3.01        102   33.88704           33.89 Shell
Scripts/second
    50 shell_rtns_2         3.03        109   35.97360           35.97 Shell
Scripts/second
    51 shell_rtns_3         3.00        108   36.00000           36.00 Shell
Scripts/second
    52 series_1             3.00     104677 34892.33333      3489233.33
Series Evaluations/second
    53 shared_memory        3.00       6890 2296.66667       229666.67
Shared Memory Operations/second
    54 tcp_test             3.01        445  147.84053        13305.65
TCP/IP Messages/second
    55 udp_test             3.00       1634  544.66667        54466.67
UDP/IP DataGrams/second
    56 fifo_test            3.00       2691  897.00000        89700.00 FIFO
Messages/second
    57 stream_pipe          3.00       2499  833.00000        83300.00
Stream Pipe Messages/second
    58 dgram_pipe           3.00       2515  838.33333        83833.33
DataGram Pipe Messages/second
    59 pipe_cpy             3.00       8458 2819.33333       281933.33 Pipe
Messages/second
    60 ram_copy             3.00      67376 22458.66667    561915840.00
Memory to Memory Copy/second
----------------------------------------------------------------------------
--------------------------------
Projected Completion time:  Wed Oct 23 12:35:36 2002
Actual Completion time:     Wed Oct 23 12:35:45 2002
Difference:                 0:00:09

AIM Independent Resource Benchmark - Suite IX
   Testing over


Rgds
Siva


[-- Attachment #2: Wipro_Disclaimer.txt --]
[-- Type: text/plain, Size: 522 bytes --]

**************************Disclaimer**************************************************    
 
 Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' 
and 'confidential' and intended for use only by the individual or entity to which it is 
addressed. You are notified that any use, copying or dissemination of the information 
contained in the E-MAIL in any manner whatsoever is strictly prohibited.

****************************************************************************************

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

end of thread, other threads:[~2002-10-29 20:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <fa.e2emdkv.j1ksaf@ifi.uio.no>
     [not found] ` <fa.f6uq3iv.232305@ifi.uio.no>
2002-10-29 20:06   ` [BENCHMARK] AIM Independent Resource Benchmark results for kernel-2.5.44 John Hawkes
2002-10-29 20:46     ` Timothy D. Witham
     [not found] <fa.d95885v.1d14t8c@ifi.uio.no>
2002-10-26  0:12 ` John Hawkes
2002-10-28 18:28   ` Nathan Straz
2002-10-28 23:17     ` Jakob Oestergaard
2002-10-29 15:28       ` Nathan Straz
2002-10-29 16:24         ` Cliff White
2002-10-23  7:15 Siva Koti Reddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).