Floating point speed & integer speed - what do they mean?


log in

Advanced search

Message boards : Number crunching : Floating point speed & integer speed - what do they mean?

Author Message
Profile JTHM
Avatar
Send message
Joined: 19 Sep 99
Posts: 15
Credit: 163,091
RAC: 0
United Kingdom
Message 5364 - Posted: 8 Jul 2004, 19:59:28 UTC

Folks!

I'm a bit of a layman, can anyone tell me what these mean and how they affect my 'number crunching'?

John McLeod VII
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 15 Jul 99
Posts: 24315
Credit: 519,558
RAC: 29
United States
Message 5370 - Posted: 8 Jul 2004, 20:11:33 UTC

They indicate the speed of your computer. They are used in the calculation of requested credit. Something like (Integer Speed * Icalc Fraction) + (Floating Speed * Fcalc Fraction) * CPU time * (some constant).

Profile JTHM
Avatar
Send message
Joined: 19 Sep 99
Posts: 15
Credit: 163,091
RAC: 0
United Kingdom
Message 5653 - Posted: 9 Jul 2004, 15:18:21 UTC - in response to Message 5370.

Thanks John, but how does each affect the speed of completing a WU? Which is more important? Why should my single processor 750MHz Pentium achieve a higher integer speed than my twin processor Athlon MP 2200+?...yet my Pentium takes 10hrs to complete a WU whereas my Athlon machine returns 2 results every 4hrs.

Why is it that these figures change wildly every time I run the benchmark utility? Does this mean if I repeat running the benchmark utility until I get a good set of numbers then I'll get more credit?

Cheers!

Profile Guido_A_Waldenmeier_
Send message
Joined: 3 Apr 99
Posts: 482
Credit: 4,774
RAC: 0
Liechtenstein
Message 5656 - Posted: 9 Jul 2004, 15:37:17 UTC

IEEE Standard 754 Floating Point Numbers
EEE Standard 754 floating point is the most common representation today for real numbers on computers, including Intel-based PC's, Macintoshes, and most Unix platforms. This article gives a brief overview of IEEE floating point and its representation. Discussion of arithmetic implementation may be found in the book mentioned at the bottom of this article.
http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
---------------------------------------------------------------------
Predefined integer type benchmark
http://diwww.epfl.ch/w3lco/pub/Newton/integer_benchmark.html
-----------------------------------------------------------------
[/url] [/url]

Profile Thierry Van Driessche
Volunteer tester
Avatar
Send message
Joined: 20 Aug 02
Posts: 3083
Credit: 147,525
RAC: 0
Belgium
Message 5818 - Posted: 9 Jul 2004, 21:53:05 UTC - in response to Message 5653.
Last modified: 20 Jul 2004, 12:47:47 UTC

> Thanks John, but how does each affect the speed of completing a WU? Which is
> more important? Why should my single processor 750MHz Pentium achieve a
> higher integer speed than my twin processor Athlon MP 2200+?...yet my Pentium
> takes 10hrs to complete a WU whereas my Athlon machine returns 2 results every
> 4hrs.
>
> Why is it that these figures change wildly every time I run the benchmark
> utility? Does this mean if I repeat running the benchmark utility until I get
> a good set of numbers then I'll get more credit?

Benchmark results has nothing to do with the speed of processing a WU. It has only an influence on your claimed credit. The higher the benchmark result and the higher the CPU time the higher will be the claimed credit.
Benchmark results are influenced by processes that are running as well as by available RAM.

Greetings from Belgium.

Profile Toby
Volunteer tester
Avatar
Send message
Joined: 26 Oct 00
Posts: 1005
Credit: 5,622,795
RAC: 0
United States
Message 5830 - Posted: 9 Jul 2004, 22:32:29 UTC

JTHM: Well the basic problem is that labeling a CPU as "750 MHz" really means nothing in terms of computational power. All it says is that the clock signal is running at 750 MHz. Simple operations like incrementing a value may complete in one clock cycle but many operations take several clock cycles to finish. But the reason why we have to benchmark our systems is that every CPU type will take a different number of cycles for any given operation. Hence late P3s actually out-performed early P4s because the P3 core was much more efficient at many operations than the P4.

Also, most CPUs are fairly efficient at integer operations but tend to suck horribly with floating point operations. For this reason, all modern CPUs have a special 'floating point unit' or FPU built in to make floating point operations go much quicker. I believe seti@home spends most of its time dealing with floating point numbers so this value will affect your crunching time the most. I'm not sure what is up with the benchmarking you described - it might be that the benchmarking routines haven't been tuned to perfectionyet or it may be that the P3 does indeed perform faster on integer operations than your AMD. But since the AMD has a faster FPU, your work units take less time on it. And FYI, on dual processor machines I believe it just benchmarks one of the CPUs since they are both the same and each must run its own instance of the number cruncher.

Well that ended up being an exposition on basic CPU design... hope it helped :)

Urs EchternachtProject donor
Volunteer tester
Send message
Joined: 15 May 99
Posts: 540
Credit: 51,109,525
RAC: 6,144
Germany
Message 5872 - Posted: 10 Jul 2004, 0:19:31 UTC - in response to Message 5653.

> Thanks John, but how does each affect the speed of completing a WU? Which is
> more important? Why should my single processor 750MHz Pentium achieve a
> higher integer speed than my twin processor Athlon MP 2200+?...yet my Pentium
> takes 10hrs to complete a WU whereas my Athlon machine returns 2 results every
> 4hrs.
>
> Why is it that these figures change wildly every time I run the benchmark
> utility? Does this mean if I repeat running the benchmark utility until I get
> a good set of numbers then I'll get more credit?
>

If I interpret your post correct, you have the same problem that i had lately during BOINC Beta testing: the benchmarking results are not reproduceable on a SMP-machine.

My solution:
The benchmark needs to have set the processor affinity on some SMP-machines to only one CPU during benchmark runs.

Example:
Dual PentiumIII running W2ksp4,
start BOINC,
set 'boinc.exe' in TaskManager to use CPU 0,
set (both) 'setiathome_3.08' in TaskManager to use CPU 1,
rerun the benchmark within BOINC,
reset the processor affinities like they had been before,
crunch on.

Maybe this is a possibility for you, too. I don't know how the benchmark works on other OS's, if that figures are better reproducable there. Maybe W2k is the biggest problem, maybe not.

\/
Urs

Profile Keck_Komputers
Volunteer tester
Avatar
Send message
Joined: 4 Jul 99
Posts: 1575
Credit: 1,699,304
RAC: 601
United States
Message 5874 - Posted: 10 Jul 2004, 0:42:08 UTC - in response to Message 5872.

> > Thanks John, but how does each affect the speed of completing a WU?
> Which is
> > more important? Why should my single processor 750MHz Pentium achieve a
> > higher integer speed than my twin processor Athlon MP 2200+?...yet my
> Pentium
> > takes 10hrs to complete a WU whereas my Athlon machine returns 2 results
> every
> > 4hrs.
> >
> > Why is it that these figures change wildly every time I run the
> benchmark
> > utility? Does this mean if I repeat running the benchmark utility until
> I get
> > a good set of numbers then I'll get more credit?
> >
>
> If I interpret your post correct, you have the same problem that i had lately
> during BOINC Beta testing: the benchmarking results are not reproduceable on a
> SMP-machine.
>
> My solution:
> The benchmark needs to have set the processor affinity on some SMP-machines to
> only one CPU during benchmark runs.
>
> Example:
> Dual PentiumIII running W2ksp4,
> start BOINC,
> set 'boinc.exe' in TaskManager to use CPU 0,
> set (both) 'setiathome_3.08' in TaskManager to use CPU 1,
> rerun the benchmark within BOINC,
> reset the processor affinities like they had been before,
> crunch on.
>
> Maybe this is a possibility for you, too. I don't know how the benchmark works
> on other OS's, if that figures are better reproducable there. Maybe W2k is the
> biggest problem, maybe not.
>
> /
> Urs
>
The benchmarks are supposed to run one thread per processor so tying them to one CPU defeats part of the mesurments (not saying that they are perfect though). From the reports I've seen they are resonably reproducable on most dual systems but HT systems still have some problems. They do still show different results even on single systems from time to time but they have been improved dramatically in CCv3.xx.

John Keck
BOINCing since 2002/12/08

Urs EchternachtProject donor
Volunteer tester
Send message
Joined: 15 May 99
Posts: 540
Credit: 51,109,525
RAC: 6,144
Germany
Message 5892 - Posted: 10 Jul 2004, 1:23:41 UTC - in response to Message 5874.

> The benchmarks are supposed to run one thread per processor so tying them to
> one CPU defeats part of the mesurments (not saying that they are perfect
> though). From the reports I've seen they are resonably reproducable on most
> dual systems but HT systems still have some problems. They do still show
> different results even on single systems from time to time but they have been
> improved dramatically in CCv3.xx.
>
John Keck
> BOINCing since 2002/12/08
>

That's what i read in the beta forums, that was said on the news. But why did my probs with the benchmarks start after that improvement (BOINC 3.18(Beta) and BOINC 3.19)?
I think the problem is with the way w2k uses the two CPUs at SMP when affinity is set to both CPUs for a program (that is the default setting for all progs on w2k with two CPUs). A thread might be processed on the one or the other CPU at SMP. So only the OS (w2k) will predict which CPU gets what thread...

And only allowing the usage of one CPU to the benchmark seems to defeat my problem. Since i found out, i had no more 'max CPU time exceeded'-errors. Hence, this seems the way to run this benchmark at my system.


\/
Urs

Profile JTHM
Avatar
Send message
Joined: 19 Sep 99
Posts: 15
Credit: 163,091
RAC: 0
United Kingdom
Message 5988 - Posted: 10 Jul 2004, 7:29:41 UTC - in response to Message 5892.

> Example:
> Dual PentiumIII running W2ksp4,
> start BOINC,
> set 'boinc.exe' in TaskManager to use CPU 0,
> set (both) 'setiathome_3.08' in TaskManager to use CPU 1,
> rerun the benchmark within BOINC,
> reset the processor affinities like they had been before,
> crunch on.

Ohh, looks like if kicked off a nice discussion here amongst folks who know a lot more about the clicks and bangs of processors than I do.

Anyhow, I reran the benchmarks and checked out what happened on each of my processors through Task Manager....everything seemed to go through CPU0, CPU1 hardly moved. Then I did what Urs recommended but flipped into 'safe mode' while I did it as well to get rid of all the other processes that run on my system. Though my FPS result remained fairly constant (slight improvement 2209 vs. 2163) my IS result went from 1380 to 3561.

My understanding of the credit system is that each of the clients who processed a unit is awarded an average of the claimed credit returned by each of the clients that processed that WU. Thus if everyone gets the best benchmark figures they can then their claimed credit will be higher, the average claimed credit will be higher and the awarded credit will be higher.

Darren
Volunteer tester
Avatar
Send message
Joined: 2 Jul 99
Posts: 259
Credit: 275,618
RAC: 0
United States
Message 5994 - Posted: 10 Jul 2004, 7:46:03 UTC - in response to Message 5988.


> My understanding of the credit system is that each of the clients who
> processed a unit is awarded an average of the claimed credit returned by each
> of the clients that processed that WU. Thus if everyone gets the best
> benchmark figures they can then their claimed credit will be higher, the
> average claimed credit will be higher and the awarded credit will be higher.

Close. It's actually simply the middle of the 3 figures that gets awarded, instead of an average. If someone claims 40, someone claims 8 and the last one claims 6 - well, everybody only gets 8.

But, your general concept is still correct. If everyone claims the best score their system possibly can, then that middle person will also be claiming an optimum score and all 3 will benefit from it.


Darren

Urs EchternachtProject donor
Volunteer tester
Send message
Joined: 15 May 99
Posts: 540
Credit: 51,109,525
RAC: 6,144
Germany
Message 6182 - Posted: 10 Jul 2004, 17:42:46 UTC - in response to Message 5988.

> Anyhow, I reran the benchmarks and checked out what happened on each of my
> processors through Task Manager....everything seemed to go through CPU0, CPU1
> hardly moved. Then I did what Urs recommended but flipped into 'safe mode'
> while I did it as well to get rid of all the other processes that run on my
> system. Though my FPS result remained fairly constant (slight improvement
> 2209 vs. 2163) my IS result went from 1380 to 3561.

JHTM,

if you're still not sure about the benchmark results take a look in the BOINC-benchmark list at: http://boinc.slapyo.com/benchmarks/
Compare your results to others results (now) with Athlon XP 2200+ (because you only benchmarked one of your CPUs). You'll find out your in the range now.


The benchmark says it checks the performance 'per CPU'. So, having two equal CPUs should give nearly equal benchmark results on each of them. Taking this into account there should be not a big loss in accuracy by benchmarking only one of the two.

One last thing:
Does this benchmark know the exact L2-Cache size of each processor?
Why is the L2-Cache size still shown wrong on my account page?
...




\/
Urs

Message boards : Number crunching : Floating point speed & integer speed - what do they mean?

Copyright © 2014 University of California