flat assembler
Message board for the users of flat assembler.

Index > Heap > Intel Vs. AMD

Goto page Previous  1, 2
Thread Post new topic Reply to topic

Joined: 26 Jan 2006
Posts: 373
Location: Ljubljana, Slovenia
f0dder wrote:
Cheap-ass multicore solution? There's a limit to how many sockets you can fit onto a motherboard of given dimensions. More cores per socket = more total CPUs. And obviously with the added benefit of cores being able to share cache, less travelling through the memory bus, et cetera.

You're looking from the Intel perspective. When thinking AMD, forget cache, think total bandwidth. By giving each cpu core (by the way, what is your defenition of a core?) seperate physical connections, allows you to have: 1. far better memory bandwidth (with memory controller in the core), 2. with proper wiring faster access to other "peripherial" hardware.

If you want a real life example, the Phenom 4x4 layout was a good one, where each CPU handles one PCI-Express graphics card (PCIEx 16x bandwidth is about 8 GBps and SLI is common enough, so you need it to use it).

Gigabit, but that hardly requires a multicore system. With a decent I/O subsystem, you could keep a gbit connection saturated even on singlecore machine. But sure, multi-core helps, I'm just saying that as things are now, regular people aren't going to have much advantage of more than dual cores.

A multi-cpu system would handle that much more easily though.

PS: anybody who needs to keep a gigabit connect saturated would use a NIC with jumbo frames and task offloading anyway, reducing CPU strain.

Depends on where you are sending the data (how far). Frames aren't limited to 1500 for no reason. Gigabit with offloading has obvious problems and reasons why it's not done on cheapass hardware: The CPU is more at home at GHz frequencies.

Then please show me a benchmark where AMD has advantage. I haven't been looking at game benchmarks btw., since those tend to be GPU limited. The benches I've looked at have been the typical real-world usage scenarios like 3D rendering, video compression, general file compression, etc.

Neither of the ones you mentioned would show up on a bandwidth test. On the benchmarks I checked (BOINC results actually; because they are very non-synthetic: they work with real data that is unfamiliar to a CPU cache) there are clear colerations where you see Q6600 ~ 5600+ equivalents.

"almost all programming can be viewed as an exercise in caching" Smile. Isn't the important thing to be pragmatic and pick what actually works well in real-life?

I disagree. I have done a lot of caching in my software before and the obvious truth is that often there is nothing better than the real thing: Caching can take just as long as processing.

I've used Hyper-Threading P4's, so I know what they're good at and what they're bad at. Imho the idea of utilizing unused execution units is good, but obviously you need better topology knowledge than just the count of CPUs, and you need to split your workload intelligently. While hyperthreading isn't a 100% increase in power (duh!), it did mean single-core P4-HT CPUs were more comfortable to work with than single-single core CPUs. So I still think it's going to be interesting to see how well the re-implementation of HT is going to work.

Let me rephrase myself: HT is taking the Unused cycles of a CPU in case of a cache miss. In other words, your fake CPU is only available when you don't need it in the first place. Balancing load using any elaborate CPU scheduler won't do any good if the resources aren't there to be used in the first place.

Also consider: The bandwidth of fast DDR2 RAM in dual channel mode is 1.6 GHz at 64bit. If your CPU is efficient and thus your CPU clock isn't far above that, your cache misses aren't something you can use.

Athlon XP has a tripple parallel pipeline. If your defenition of a core is the labouring part of the CPU, it is the physical implementation of a pipeline, thus Athlon XP is a tripple core CPU.

Please understand that I'm pragmatic and have been switching between AMD and Intel systems based on which one had the leading advantage. I'd love to see AMD come up with something good again, as I believe competition is healthy - for innovation as well as price. And currently I'm seeing an AMD that simply can't keep up, and defensive unrealistic AMD fanboiz jumping up and down and saying "not true! unfair! intel cheats!"

What I am pointing out is quite founded in fact. And if you want to be realistic, Intel prices are too high (in Europe at least) and for mere mortals who want performance AMD is a better choice even if it's cores were slower than Intel's (in HP laptops for example, the worst Intel is more expensive than the best AMD, where the best AMD is comparable to the Intel top10).

As for "cheating", I have tried out both Intel and AMD systems and I am not satisifed with Intel (call me biased but those T series laptops feel like 400MHz Celerons when on batteries and Intels in laptops run far warmer than properly configured AMDs even by my user's accounts). I find so many things about things like Intel and Vista are just propaganda. I don't know how much experience you got in these matters but 95% of things widely "known" about any piece of hardware or software is pure mythology, written and propagated by people who have no clue about the underlying problems (overheating Cyrixes anyone?) and usually fix hardware problems by reinstalling Windows (APM anyone?). I've been to far too many shops where the salespeople insisted on giving me bogus advice (non-overheating 775 socket P4s anyone?), if you ask me that is where most of the "Intel is better" BS is coming from.

Did you know that Intel gives stores discount if they sell exclusively Intel CPUs? Not saying it's all a vile conspiracy, they could just be clueless (wouldn't be the first time), but it's all just a little weird when somebody offers you a Centrino as a recommendation when you go buy an Athlon.
Post 21 Mar 2008, 18:31
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger Reply with quote
When all else fails, read the source

Joined: 24 Aug 2004
Posts: 17249
Location: In your JS exploiting you and your system
DustWolf wrote:
Let me rephrase myself: HT is taking the Unused cycles of a CPU in case of a cache miss. In other words, your fake CPU is only available when you don't need it in the first place. Balancing load using any elaborate CPU scheduler won't do any good if the resources aren't there to be used in the first place.
Not quite. There are some severe problems when one looks at HT in that way. eg. have two tasks running, one on each of the HT logical processors. Now set one of those tasks to low priority and the other to normal priority. Naively one would expect the lower priority task to take only a small fraction of the CPU bandwidth but in actuality it takes a full 50% of the CPU bandwidth. The reason is that the CPU does not have any priority setting for the two HT tasks. They will both take ~50%. This is where most people complained that lower priority tasks were "stealing" time from the higher priority tasks. This is why the OS needs to be aware that each logical processor is not a real core and it has to understand to stop a lower priority task when a higher priority task is running.
Post 22 Mar 2008, 01:32
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.