CPU selection

I wanted to know how good the AMD Bulldozer architecture is for working with FreeBSD, and I haven't seen anything much about it. So I did a "make buildworld -jX" for 9-stable on a few different CPUs. I hooked the same hard disk to various systems to run the tests. All times are in seconds.

Code:
  -jX	  1	  2	  4	  6	  8
FX-8120	7136	3953	2422	2006	1964
X4-965	4886	2661	1620	1650	1689
i5-2500	4150	2224	1326	1345	1448

In absolute terms the i5-2500 beats the heck out of the others. It appears that there is not enough parallelism in "make buildworld" to keep all the cores busy on the Bulldozer CPU. The FX-8120's Passmark numbers are better than those for the i5-2500, but on the real workload imposed by "make buildworld" this doesn't pan out.

Value for the money figures calculated as 1E6/<best time>/<retail price> (in other words an arbitrary number of work units per unit time per dollar) are:

Code:
FX-8120          3
i5-2500          3.6
Phenom II X4 965 5.1

I was surprised to see that at this time the X4 965 seems to be the best bang for the buck. What do you think?
 
Were you running powerd(8) on these systems? That enables turbo mode, which can make a serious improvement in buildworld times on the i5. Haven't tried it on an AMD processor.

Also:

FX-8120 TDP 125W
X4-965 TDP 125W
i5 2500 TDP 95W
 
wblock@ said:
Were you running powerd(8) on these systems?

No. I got strange error messages when trying to run powerd(8) on 9-stable on the FX-8120 system, e.g.
Code:
# powerd -a maximum
powerd: lookup freq: No such file or directory

I didn't think it was good to compare an i5-2500 with turbo mode to an FX-8120 without it.
 
I've never understood why people would choose a processor architecture with fewer registers because of speed.

  1. No i386 nor AMD64 CPU has RISC capabilities.
  2. These will choke because of the emphasis on speed, see the register statement, and that they are mass produced and not properly tested- f00f bug, Dragonfly BSD's recent discovery.
  3. While POWER(PC) and SPARC can "learn" and take a large load respectively with little effect on performance - that is after the period of adjustment, i386 and AMD64 will always need to go the same complex route.
 
When the RISC concept was introduced it was all about performance/price. I seem to have misplaced my copy of Katavenis' book Reduced Instruction Set Computer Architectures for VLSI that won the ACM Doctoral Dissertation award in 1984. I remember it as a great read at the time. So since it is all about performance/price, if it isn't fast and cheap what is the point?

I stopped worrying much about CPU architecture in the mid-1990's. If my code would run on it then it didn't much matter what the underlying machine was, as long as it ran fast enough. For me at this time it is really about performance, and performance/price, of the whole target system (e.g. CPU, memory hierarchy, OS, libraries, compiled code quality, etc.). And of course, minimizing development pain is really important.
 
I see the trend moving back towards RISC- ARM devices, PPC consoles.

Fast and efficient? Yes.
Affordable? Yes.
Cheap?
Oh, hell no, that won't go.


I've found that certain architectures are good for certain applications.
SPARC64 can take large loads. POWER(PC) is good for compiling. I386/AMD64 is good for graphics rendering.
 
sossego said:
I see the trend moving back towards RISC- ARM devices, PPC consoles.

The mobile device trend seems to be driving this at the moment, and it is a reasonable trend that should increase performance and/or lower hardware production costs. And the market should be big enough to drive some serious economies of scale (the biggest reason why the x86/amd64 family still has such a big market share). The disturbing thing is that the mobile devices are not generally usable as software development platforms. So how will the software development platforms evolve? This is a very small market segment that is now driven mainly as software that runs on the desktop PC hardware because that was the dominant market segment.
 
The software platform should already be there. If the device can be rooted and reinstalled, then it can be used as a platform.
 
Interesting information,

Just curious, did you do these tests under AMD64 for the Bulldozer?

I also have a FX-8120, and at first I kind of felt similarly. After a few adjustments though I am happy with the performance. If I get a chance tomorrow I will time a make buildworld -J8 to see if there is a significant difference.
 
I did a few buildworld -J8 runs today all around 1500 seconds. This may have something to do with my hardware setup though.. I am also running a FX-8120.
 
Back
Top