Original Link: http://www.anandtech.com/show/1397
Riding the 64-bit Chariot: Choosing Socket 939 and Linuxby Kristopher Kubicki on July 19, 2004 12:05 AM EST
- Posted in
Hopefully, our debut Linux article scratched the surface on where Linux is going, and where it has to catch up in order to become a viable alternative to Windows in the near future. With that being said, it is important that we keep our Linux benchmarks as up to date as possible for new hardware, as well as focus on which new hardware provides stability and performance advantages.
Since the Athlon 64 architecture places the memory controller directly on the CPU core, the role of the northbridge becomes severely limited. The core logic still controls critical IO operations and features, but the general consensus is that chipset manufacturer and quality matters less and less. Today, we will attempt to prove if that is true or not with Linux. Not only must we look at raw performance, but also at driver support and quality. Keep in mind that since these hardware platforms were launched over a month ago, we should see stable and fine-tuned Linux drives by now.
Although modifying and recompiling everything provides us with better performance, we hinder ourselves with that approach, since benchmarks become very difficult to replicate. So, once again, we will be using "out of the box" configurations using SuSE 9.1 Pro (both x86_64 and x86 binaries). We want to give the opportunity for as many people as possible to replicate our benchmarks.
|Performance Test Configuration|
|Processor(s):||Athlon 64 3500+ Socket 939 (2.2GHz, 512KB Cache)|
|RAM:||2 x 512MB Mushkin PC3500 Level II|
|Hard Drive(s):||Seagate 120GB 7200RPM IDE (8Mb buffer)|
|Video AGP & IDE Bus Master Drivers:||Linux NVIDIA Core Logic: 1.0-275
Linux NVIDIA Graphics: 1.0-6106
|Video Card(s):||NVIDIA GeForceFX 5600SE 128MB|
|Operating System(s):||SuSE 9.1 Professional (32/64 bit)
|Motherboards:||NVIDIA NForce3 250 Reference Board
VIA K8T800 Pro Reference Board
We attempted to keep our test configuration as close to CPU/Motherboard/Memory Windows test configuration as possible. The only major change that we adopted for this analysis include the change in processor, IDE rather than SATA hard drive, and the NVIDIA GeForceFX video card. We opted for an NVIDIA card over an ATI card for these benchmarks primarily for 64-bit Linux driver support. We have a Linux video card roundup lined up for the future; so in that article, we can take a better look at where the particular differences lay in video processing.
Feel free to take a look at Wesley's breakdown of each motherboard that we featured in this review here.
Video EncodingSince MPlayer (MEncoder) do not come with RPMs, we compile the binaries from source with no optimizations. We go through the standard ./configure and make commands for the v1.0pre5 source code. Notice that this benchmark has changed since the last time we ran it.
Below is the command that we used to produce a DivX .avi from a 700MB MPEG2.
time mencoder sample.mpg - nosound - ovc lavc vcodec=mpeg4:vpass=2 - o sample.avi
Frames per Second, more are better. Frames per second are not calculated in the program, but taken by dividing the number of frames in the file by the time reported in the console.
Generally, our tolerance for this benchmark was about 1%.
Audio EncodingLame was compiled from source without optimizations. We only ran ./configure and make without any flags.
We ran lame on a 700MB .wav file using the command equivalent to the one below:
lame sample.wav -b 192 -m s -h >/dev/null
Encoding time, lower is better.
Lame shows us that from platform to platform, there is not a significant difference between VIA or NVIDIA. Our tolerance for this test was less than 1% and was extremely replicable.
3D RenderingMental Ray is the crème of the crop as far as 3D rendering programs go. We only had access to a 32-bit version of the renderer for Linux and Windows, so we used that for this portion of the benchmark. We used Mental Ray 3.3.1 for this particular benchmark. You may view the scene that we rendered in our analysis here. Our results have changed since the last review because we are running the benchmark from the CLI instead of inside Maya. We have found that the results are more consistent when we run the benchmark this way.
Rendering time, lower is better.
Mental ray seems optimized for NVIDIA, but it does not seem to provide a distinct advantage going from 32-bit to 64-bit architecture.
POV-RAYAlthough POV-RAY is limited in application (particularly when compared against Mental Ray), it does provide a free open source solution for basic rendering. POV-Ray 3.50c was our choice of render engine for this benchmark. For benchmark specifics, we run the exact benchmark as specified by the POV-Ray official site.
Render Time in Second, less is better.
Oddly, we saw the KT800 Pro in 64-bit SuSE overtake its NVIDIA counterpart here. When retesting this benchmark, we typically found a tolerance of about 4%, which is higher than most of our other benchmarks. However, the 64-bit K8T800 board always pulled ahead (and in this case, by 90 seconds).
Gaming PerformanceUnfortunately, in Linux, we are restricted to only a few native games. Utilities such as WineX are bringing more and more games closer to the mainstream adoption that Windows already cherishes. However, we could spend an entire review alone looking solely at Wine based gaming, so we will save that for the future. In the meantime, we can take a look at the two native Linux games that everyone should be familiar with by now.
Wolfenstein: Enemy Territory is a free, stable, native game for Linux as well as a cornerstone of our Windows benchmark. Unfortunately, there is only a 32-bit version of the game, so we must settle with 32-bit performance benchmarks even on our 64-bit platforms. Resolutions were set to 1280x1024 with default configurations. The timedemo that we are using can be downloaded here.
Frames per Second, more are better.
Unreal Tournament 2004 32-bit
Hopefully, you'll notice the addition of the UT2K4 64-bit in our benchmarks. Since the 4K release of the 1.0-6106 driver last month, we have had considerably better luck getting our applications to work on AMD64. Kudos to NVIDIA.
You will notice that our UT2K4 benchmark has changed slightly as well. Unfortunately, the first time that we ran UTBench, we only reported whole numbers in the benchmark, even though we were provided 3 digits of accuracy. When re-running the benchmarks, we were surprised to see as much as 8% difference from test to test. We found that by running the benchmark twice, and taking the second number, it would get the difference from benchmark to benchmark under 5%. This is what we have done for the test above.
Surprisingly, the difference between 64-bit and 32-bit UT2004 was a little more than we expected. The case for 64-bit is extremely strong with this benchmark.
Database PerformanceWe will run the standard sql-bench suite included with MySQL 4.0.20d installed from YAST.
Wallclock seconds; less are better.
Although there are some minor differences between the NVIDIA and VIA motherboards, we only saw about a 2% difference. When re-running the tests, we found that the test results would vary approximately 1%.
Subjective TestingOne of the most immediate and discouraging issues with SuSE/VIA/NVIDIA was an issue using the YAST updated NVIDIA driver. It seems as though our installation was extremely picky about the order of the installation, so we just installed the driver manually after several failed attempts with YAST.
There were other various "gotchas" as far as Linux and these reference boards go, in general. Even VIA's core logic is still identified as K8T400, the previous code name to the chipset rather than K8T800.
Audio and integrated Ethernet were critical components in this analysis. Although we were not going to benchmark and debate whether NVIDIA or VIA has better audio quality, what we did want to see is which platform provided better support. NVIDIA tends to incorporate all of its components into single chips, but VIA spreads their chipsets out a little farther. It turns out that both methods have drawbacks in Linux.
|VIA VT8237 (Southbridge)||SATA RAID support seems incomplete on x86_64|
|VIA VT6306 (Firewire)||Fully Supported|
|VIA K8T800 (Northbridge)||-|
|VIA VT6122 (Gigabit PHY)||-|
|VIA VT1720 (Envy Audio)||Only partially supported?|
|VIA VT6421 (SATA RAID)||-|
|VIA VT1616 (AC'97)||ALSA supported|
|NVIDIA nForce3 250GB||Gigabit Ethernet not supported|
|Realtek ALC850||Fully supported|
Our via82xx blanket driver detects some sound device, but SuSE never recognizes a device. The ALSA project, which is integrated into SuSE 9.1, provides some support for the chip, but it seems as though there are a lot of missing features for Envy. Parts of the source are released for those brave enough.
We also run into issues with AGPGART on the VIA board (both 64-bit and 32-bit).
agpgart: Unsupported VIA chipset (device id: 0282)
We would like to see a Hyperion driver for Linux, particularly since sorting through all the little nitpicks becomes particularly discouraging for Linux. Our drivers are supposed to be installed in the kernel, but clearly some things are not.
NVIDIA is not without problems either. Getting either the VIA or NVIDIA Gigabit Ethernet working out of the box became more trouble than it was worth. The second VIA reference board (built by MSI) uses a Realtek 8110S, which is supported right in the kernel. Even after installing the nForce platform drivers for Linux on AMD64, we were unable to get the integrated GB Ethernet working. The secondary strong point of nForce GB, NVIDIA's firewall and configuration software, seems moot compared to the robustness and completeness of Linux's in-kernel packet filtering.
VIA has traditionally been behind the curve (compared to NVIDIA anyway), but they definitely deserve credit for the amount of work that they have done. A unified Linux driver would put them in a much better position for further adoption.
ConclusionsAlthough the majority of our benchmarks put the NVIDIA chipset ahead of the VIA chipset in performance, we only saw marginal gains. NVIDIA pulled ahead in the gaming tests, but probably only because NVIDIA drivers are optimized and designed on other NVIDIA hardware. It's probably hard to imagine the NVIDIA Linux engineers spending too much time reworking their Detonator drivers for K8T800. In time, once we have stronger confidence in the ATI driver set for Linux, we will re-evaluate our position for who takes the lead in Linux gaming.
VIA and NVIDIA take two different approaches to designing hardware and drivers. NVIDIA's monolithic driver and chipset design hurts them in our 64-bit evaluation, where SuSE 9.1 Pro would not recognize the integrated Gigabit Ethernet interface. VIA hurts themselves with microdrivers due to the fact that many are old and too platform specific. VIA, on the other hand, does have a bit stronger presence in the Linux kernel, and as a result, there are multiple blanket drivers that get VIA's hardware up and running without much hassle.
All in all, although we would like to say X hardware platform provides a better advantage than Y, after evaluating the two reference boards, we cannot come to a clearcut decision between the two. Since the two architectures were so close, the evaluation of feature set and price become the hinging points for buying your next Linux motherboard.