need hardware Guru! Memory/motherboard

mrissmann

Junior Member
Jul 9, 2002
24
0
0
Hey guys,

I need a powerhouse machine. I am running a extremely memory and cpu intensive application. The process currently runs for days and of course we want to speed that up. We are no doubt optimizing our code but there is also a need for the best hardware (please nothing too extreme, we are a startup).

I was wondering what might be the best motherboard/CPU/memory type configuration (DDR2100, DDR3700..., Rambus vs DDR). I will be starting with 2gig of RAM. There is virtually no harddrive access and little display updating.

Has anybody done any research on Windows OSs? Is there a difference in computational speeds and overhead. Please don't say Windows ME. ehehehhe <g>

I am more interested in real life numbers not theoretical.

thanks

-Markus

The HIGHLY TECHNICAL forum is not for purchase advice.

AnandTech Moderator
 

IaPuP

Golden Member
Mar 3, 2000
1,186
0
0
hmmm... Post it in another section ("general hardware" maybe).

It's off topic here.

:)

Eric
 

IaPuP

Golden Member
Mar 3, 2000
1,186
0
0
While I'm here, I may as well answer.

The fastest CPU right now is almost unquestionably the Pentium 4 3.06Ghz (the HyperThreading is great).

The fastest system memory could be debated. Sometimes it's the PC1066 DRDRAM and sometimes it might be a dual-channel DDR PC2700 setup (With the "granite bay" chipset). The DDR will be cheaper for the memory, but the granite bay motherboards are expensive and hard to find.

Still, I think with 2GB, I'd go with the Granite bay and dual-channel DDR. :)

As for OSes. That's a more technical question, but it's not too hard to answer. The old DOS kernel will not handle 2GB of memory, no matter what windows it's running (95,98,ME), so you need an NT kernel. NT4 was alright, but Win2k is much faster. I have heard that XP is faster than Win2k, but with all the extra graphics... and with the GUI partially integrated into the underlying kernel, it tends to be slightly less stable sometimes. All in all, for mission critical, etc I would go with Windows 2000 Pro for speed and reliability.

Eric

PS A highly technical question might have been made of this if it were worded differently (which is why I answered) if only you didn't include the "i'm not interested in theory" comment *chuckles*
 

mrissmann

Junior Member
Jul 9, 2002
24
0
0
My question isn't any more off topic than the xbox!

This is a highly technical question! I need experts to give me true insite instead of people who may have read an article the other week.

I need real answers by people who know what actually is going on in hardware not just what they are told.

-Markus
 

Mday

Lifer
Oct 14, 1999
18,647
1
81
the topic does seem off topic, but reading it further, i changed my mind.

you'll get better answers from Distributed Computing. They will be able to tell you more, since some of them build systems specific for DC applications.

anandtech, tomshardware, and aceshardware have articles which have benchmarks on memory intensive programs and such. so far intel systems have better benchmarks for these programs. i think it has to do with the superior intel chipsets, as opposed to inferior intel processors. you'll probably want to look into granite bay based motherboards. look for key words like "dual channel" and "hyper transport".
 

IaPuP

Golden Member
Mar 3, 2000
1,186
0
0
Are you asking about flavors of Windows or all OSes in general? The code of Windows is highly proprietary. If you want to compare with Linux, you could start with a comparison of the relative benefits of a monolithic OS model (ie Linux) vs a microkernel (Windows NT) is a place to start... Depends on who you ask. Old theories said the microkernel was much more difficult to optimize, but much more flexible. Even Linus has admitted that he feels Microsoft has overcome most all of the difficulties of designing a solid Microkernel system (Apple's OSX uses a pseudo-microkernel too). It depends on the code you write.

Since the actual kernel code is not something I can look at, I can only estimate by performance benchmark numbers I've read about and run myself. Since you really can't "see" the difference (it's very small), it's hard to argue either way without simply doing the benchmarks and it varies for different applications. Like I said, I've seen benchmarks that show XP faster and I've seen some that show 98 faster and some that show 2000 faster and some that would run faster on DOS. It REALLY depends on the application, the APIs used and the type of processing. Is it multithreaded or single? Does it use heap memory? Stack? Do you make an effort to use SSE2? What math libraries? What threading libraries? How much precision are you using? Is it branch heavy code? Can it be executed in parallel for distributed execution or is it sequential? Does it operate on single data or multiple? Does it draw bursts of bandwidth or a steady flow? Can you prefetch data? What about code locality? (spatial, temporal?) What *language* are you writing it in? They all make the answer different and favors different HARDWARE too.

I have a lot more experience with the hardware side. But again, I could go on and on about the theories of Symmetric multi-threading (HyperThreading) and cases where it benefits you... that wouldn't do any good. Since it slows down certain single-threaded tasks, but VASTLY improves multi-threaded parallizable tasks.

The numbers are pretty clear in AnandTech's Pentium 4 3.06GHz review. Go to the main page and click the "CPU" button on the right side. It should be right there. There's hundreds of benchmark results on all types of applications. Since I don't know what sort of application you're developing, I can't say where you might fall in those. Then again, maybe you should get one of IBM's Power4 chips. They fly at data-heavy work, but they don't run Windows. Same with Sun's US3. *Shrugs*

Besides, if you're that concerned about the subtle performance differences, it would be more important to use a system where you're FAMILIAR with the best means of optimizing code and compilers (for SSE2 as an example), rather than relying on someone else's code and compiler settings to try to prove some subtle speed variations. It's been shown time and again that with raw x86 Floating point, the Athlon rules. If you're willing to use SSE2, you will love the P4. If you can write data prefetching into the code, it will help, but with some chipsets (i850/845/nForce) integrating some aspects of prefetching already, that can actually slow things down as the two prefetching algorithms sometimes clash and flush the data you intentionally prefetched because it doesn't think it's as relevant. If you get a processor with SMT (HyperThreading) you need to write code as if it were for 2 CPUs to get the best speed, but if you do that on a chip that doesn't support SMT, you're going to slow it down a bit because of thread overhead. It's all tradeoffs...

hehe like I said, depends on the app when talking about subtle differences.

Eric
 

capybara

Senior member
Jan 18, 2001
630
0
0
well, after 2 blank posts, sorry folks, heres what i wanted to say:
try a multiprocessor board
the low end: dual amd xp2000 mps on a tyan board.
the high end: dual or quad xeons on an intel 860 chipset board.
 

KF

Golden Member
Dec 3, 1999
1,371
0
0
This wouldn't be off topic, except that despite the title almost all the topics are more like "far out", "irrelevant" or "goofy".

What you are asking about hardware is a "Frequently Asked Question" in General Hardware, Motherboards, and CPU. You can find people bringing it up nearly every day, and the old hands are so bored with it they mostly pass over another topic about it.

Someone in Operating Systems is liable to have a link to numbers concerning OS overhead. I doubt it will be over 1% for Windows 99/Me or XP. But there is no real sense in running anything but what is the latest from Microsoft, that is XP.

By nothing too extreme, maybe you mean no mutliprocessor mobos?

If the programming is going to be mainly "floating point", a case can be made for choosing an AMD Athlon processor, and naturally the fastest one you can find wll be the fastest, and it will be expensive out of proportion to its speed. Right now that is a 2700+ ($325). Otherwise an Intel P4 at 3 GigaHerz will be the fastest ($625). If you aren't going to get the fastest Intel processor, then you may as well consider going with AMD.

The fastest RAM is probably still the fastest RDRAM, but the fastest DDR is close the last time I checked. I don't know much about RDRAM; it is way too expensive for the high end stuff. 2G of RDRAM may require a mobo capable handing more than 2 modules. People In Motherboards will know. The fastest RAM systems go with Intel systems IAC. Some types of programming are not "localized", meaning they access huges amount of memory non-repetitively. In that case Intel systems come out way ahead.

For motherboards, suffice it to say that people will most often recommend some variety of ASUS mobo, regardless. EPOX also has an avid following at Anandtech.

Just remember, if you are willing to sacrifice 10% in speed from the best, you can probably save 50% on the price. In 4 months no matter what you buy today will not be the best, and you will feel like an idiot for going all out.