Socket F (4x4) is out....

Status
Not open for further replies.
What you've described is a non NUMA aware memory manager.... You'd have to look into how NUMA works, and what compromises need to be made in a memory manager to make it work as it should....

It's complex, but in a properly written memory manager, it will almost always be a boon. The OS alocates memory.... It's been this way for years now... The application tells the kernel it needs memory, and the kernel provides it. It is the memory managers duty to allocate memory to an application. And it is the memory manager that determines where that memory will be.

If the application had direct access to memory, can you imagine the nightmare that would be?
 
What you've described is a non NUMA aware memory manager.... You'd have to look into how NUMA works, and what compromises need to be made in a memory manager to make it work as it should....

It's complex, but in a properly written memory manager, it will almost always be a boon. The OS alocates memory.... It's been this way for years now... The application tells the kernel it needs memory, and the kernel provides it. It is the memory managers duty to allocate memory to an application. And it is the memory manager that determines where that memory will be.

You don't seem to understand.
Only one thread can allocate memory at a time... But that's all the info the OS has. At best, the OS can apply the simple rule that it allocates memory from the CPU that the thread is running on, and then make sure the thread will always run on that CPU.
The problem arises however, because a multithreaded application will try to use ALL its CPUs/cores to do the processing... So the memory that is allocated in one thread will be used on another. There is no way the OS can prevent this without either disabling all other CPUs/cores, or terminating the program when it tries to access memory from a CPU that the thread doesn't belong to.

If the application had direct access to memory, can you imagine the nightmare that would be?

That's not the point, is it? The application has access to the memory manager, and the application therefore needs to be NUMA-aware, because only the application can know what memory it's going to use on what cores. Obviously the OS/memory manager need to be NUMA-aware aswell, else the application still cannot specify on which CPU it wants to allocate memory.
 
Lets go ahead and look at these definitions you've looked up....

This one is pretty vague, but it works in the strictest sense.

Yes, the type of hardware on which a piece of software will run. Is any software going to run on a platform without a CPU? Nope, sure isn't. What is one of the largest determining factors of software speed on a given platform? Yep, the CPU. But wait, earlier you said this:

duby229 said:
You clearly have no clue what your talking about. Platform and architecture are two very different topics that should rarely be mingled except for very specific reasons, and this aint one of the,m.

It seems to me that every definition given mingles CPU and platform. Why? Because a platform isn't a platform without a CPU.


duby229 said:
This one here is wrong 1: is describing architecture 2 is correct. and 3 is correct

LOL, you agree with the definition of platform when it says "type of operating system" but disagree when it says "type of hardware." Well seeing as the processor choice of a system affects the speed of the system and the type of motherboard used (your definition of platform), then I'd say that describing a platform by type of hardware used is perfectly relevant. Major retailers have been doing this since computers first became popular.



duby229 said:
This one.... Vague, but correct.

Yes, and your motherboard will not run applications by itself. It REQUIRES a CPU making the CPU very relevant in any discussion about platform. If you agree to this definition then you must agree with the above consequence. But you won't, pride is a tough pill to swallow.



duby229 said:
If you dont mind me asking what the hell does this mean? An integrated set of iingrediants? Is this cake baking? Then the sum of its parts? What the hell?

Just because you lack the intellectual prowess to comprehend Intel's definition does not make it incorrect. I thought you might not get that, so I posted another part of Intel's webpage, the part that describes components of a platform. The CPU is listed there. Nice attempt at a red herring.



duby229 said:
None of the other links you provided offer a definition, and are in no way related. You can call me a liar, but all but one of your own links agree with me. Sorry...

Which links agree with you again? You posted previously that the CPU is not part of the platform and should never be discussed with the platform. All of my definitions would lead anyone to the conclusion that the CPU IS part of the platform. Even when AMD listed the benefits of the 4x4 platform, they included features located on the logic of the CPU. Obviously then, AMD believes that their CPU adds a great deal to their platform. Yes, AMD's platform benefits rest on the CPU within the platform. I see you neglected to reply to that link at all.

Perhaps you should follow your own wisdom:

duby229 said:
A definition is a definition, whether you like that definition or not. It's not about you, or what you think, or what you want to be true. It is what it is.

duby229 said:
When I buy a car, I llok at the car.... When I buy an engine, I look at the engine..... When I buy 4x4 I will look at the platform.... When K8L gets released I will look at the architecture.... When I buy a PC... I look at all components as a whole, and look at the PC....

Yes, but it is worthless to look at just an engine to determine the speed of a car. That's right, when you want to determine real world speed, you must place the engine in a car. When you want to look at CPU performance, you must place the CPU in a platform. Do you see now? The engine cannot power a car without its other parts and the car is worthless without an engine. Therefore, when I buy a car, I have to look at the whole system. And what's one important component that I examine when determining the value of the car as a whole: engine. Can it really be that hard to understand?

Your hair splitting is getting tiresome.

duby229 said:
The problem I believe is that you guys dont know the difference between a system, and a platform... You guys might want to look up what an "agency" is... It'll really help you grasp the bigger picture.

I've given you plenty definitions of platform. These are definitions from those in industry far more experience than you or myself. You either can't understand them or deny them in true Duby style.

But we shall continue. I'm at the point where I will continue this into the ground or until your credibility on this forum reaches 0. You are definitely on your way.

Look up the definition of pride.
 
All the above stuff.

Let's put it in terms he'll understand a little better:

PLATFORM.jpg


AMD says the 4x4 platform includes the CPU and other components. Look at the slide Duby229 and stop being a dumbass. Do I need to spell it out for you in crayon?
 
Well if the AMD slides from the AMD website don't convince him, then I'll probably give up.

I have a feeling you'll be giving up. There is no convincing him because he's already convinced himself that his opinions and definitions are the only ones that matter. To him, it doesn't matter that two of the biggest players in the platform industy disagree with his assessment. Pride is truly strong with this one.

I realize that he will never admit his faults. However, I continue the argument so everyone reading this thread realizes what a fool he is. Hopefully, in future discussions no one will take him seriously. This is especially true of people who ask for advice. Woe to the people that have to deal with him in real life.
 
I have a feeling you'll be giving up. There is no convincing him because he's already convinced himself that his opinions and definitions are the only ones that matter. To him, it doesn't matter that two of the biggest players in the platform industy disagree with his assessment. Pride is truly strong with this one.

I realize that he will never admit his faults. However, I continue the argument so everyone reading this thread realizes what a fool he is. Hopefully, in future discussions no one will take him seriously. This is especially true of people who ask for advice. Woe to the people that have to deal with him in real life.

I know. You are probably right.
 
I know. You are probably right.

You guys are ignorant... Look at the slide.... It does not offer a definition. Suggesting that it does is retarded.

You can twist and wiggle and curve all you want but you cant change what a platform is.

The platform is the base... There are components, and then platform that is needed to make those components work. The Hypertransport Controller is part of the platform becouse the CPU needs it to work. But the CPU is a component becouse nothing else relies on it as far as other hardware is concerned.. The memory controller is part of the platform becouse the memory needs it to work, but the memory is a component. The IDE controller is part of the platform becouse the drives need it to work, but the drives are components. The USB controller is part of the platform becouse Printers and scanners and such need it to work, but they are components.

What the slide shows is that 4x4 platform is what make multiple CPU, and GPU's possible, hence the name 4x4. The PCIe controller is part of the platform, and the HTT controller is part of the platform, but the CPU's, and GPU's are themselves components.

It doesnt matter physically where it is, you could have a PCI IDE controller, and it is still part of the platform. The drives plugged into it are components.... The CPU is a component that has a programmable architecture. This architecture is what Operating systems are written to use. The OS is not really a system but is actually an agency, which is itself a platform for software to run on. The GPU is also a programmable architecture.... By your defintion this should also be part of the platform? Should a Sound card be part of the platform? Just becouse it is programmable and is required by the OS, doesnt mean anything in this debate... I'm talking about hardware.

You've got a hardware platform, and that is what we are interested in, which is what 4x4 is. Then you've got a software platform which means nothing in this debate. 4x4 is NOT an OS which means it is NOT a software platform. It is a hardware platform, which means the CPU is a component that has NO place in a platform discussion And whats worse is that all but one of the links you provided agree with me, then you proceed to still call me a liar..You can mix and match, and twist and wiggle all you want, you can imply inuendo, and call me names, and in the end all it does is show how ignorant and biased you really are.
 
You guys are ignorant... Look at the slide.... It does not offer a definition. Suggesting that it does is retarded.

You can twist and wiggle and curve all you want but you cant change what a platform is.

The platform is the base... There are components, and then platform that is needed to make those components work. The Hypertransport Controller is part of the platform becouse the CPU needs it to work. But the CPU is a component becouse nothing else relies on it as far as other hardware is concerned.. The memory controller is part of the platform becouse the memory needs it to work, but the memory is a component. The IDE controller is part of the platform becouse the drives need it to work, but the drives are components. The USB controller is part of the platform becouse Printers and scanners and such need it to work, but they are components.

It doesnt matter physically where it is, you could have a PCI IDE controller, and it is still part of the platform. The drives plugged into it are components.... The CPU is a component that has a programmable architecture. This architecture is what Operating systems are written to use. The OS is not really a system but is actually an agency, which is itself a platform for software to run on.

You've got a hardware platform, which is what we are interested in. Then you've got a software platform which means nothing in this debate. You can mix and match, and twist and wiggle all you want, you can imply inuendo, and call me names, and in the end all it does is show how ignorant and biased you really are.

It's as simple as a 2+2=4. The damn thing says at the TOP of the slide that they are announcing the AMD 4x4 Ethusiasts Platform. Which includes Motherboard, CPUs, Memory, and Video cards.

HDD ports and controllers are FEATURES of a motherboard. Yes they are part of the platform. A motherboard ALONE is NOT a platform the way the industry has defined it. You are talking about a motherboard. No one here denies the 4x4 motherboard is cool or that it isn't feature rich or anything of the sort. As a total solution it sucks because the CPUs available for it make it suck. You are making a symantec argument and it's fucking retarded.

Oh for fuck's sake. I'm done.
 
You guys are ignorant... Look at the slide.... It does not offer a definition. Suggesting that it does is retarded.

You can twist and wiggle and curve all you want but you cant change what a platform is.

The platform is the base... There are components, and then platform that is needed to make those components work. The Hypertransport Controller is part of the platform becouse the CPU needs it to work. But the CPU is a component becouse nothing else relies on it as far as other hardware is concerned.. The memory controller is part of the platform becouse the memory needs it to work, but the memory is a component. The IDE controller is part of the platform becouse the drives need it to work, but the drives are components. The USB controller is part of the platform becouse Printers and scanners and such need it to work, but they are components.

It doesnt matter physically where it is, you could have a PCI IDE controller, and it is still part of the platform. The drives plugged into it are components.... The CPU is a component that has a programmable architecture. This architecture is what Operating systems are written to use. The OS is not really a system but is actually an agency, which is itself a platform for software to run on.

You've got a hardware platform, which is what we are interested in. Then you've got a software platform which means nothing in this debate. You can mix and match, and twist and wiggle all you want, you can imply inuendo, and call me names, and in the end all it does is show how ignorant and biased you really are.


Nothing of interest in this post except for this...

duby229 said:
But the CPU is a component becouse nothing else relies on it as far as other hardware is concerned

Yes, no other piece of hardware needs the CPU to function. In fact, why don't we just build a system without a CPU. Who needs it? Apparently, your motherboards don't. Or your video cards, or your memory (appparently your RAM works without a memory controller ????), and the list goes on.

I'm not wiggling at all. I've given sources. I've given reliable and knowledgeable sources (Intel and AMD). You give nothing but more description of a motherboard.

But to call me ignorant is to call my sources ignorant. These sources include AMD and Intel. Are you claiming your definition is more accurate than their's? They being the people that actually PRODUCE these platforms. Do you know more than they???

Your credibility is quickly deteriorating.
 
duby229 said:
You can mix and match, and twist and wiggle all you want, you can imply inuendo, and call me names, and in the end all it does is show how ignorant and biased you really are.

Yes, by quoting both AMD and Intel's idea of a platform I am really bias. In reality, they actually appear to agree on this point. There is simply THEM disagreeing with YOU. Your arguments make no sense.

Why don't we just take a poll? Let's ask the people reading this thread. Who is being unreasonable here? Chime in if you think duby229 is acting ignorant by disagreeing with both AMD and Intel or I am being ignorant by not agreeing with HIS definition.
 
You guys are ignorant... Look at the slide.... It does not offer a definition.
I can't see anything on the slide that says the 4x4 platform includes CPUs. Rather, it shows lines connecting CPUs and graphic cards and so on - the platform could just as easily be that which connects all these things.

Suggesting that it does is retarded.
Uncalled for. 4x4 is as much a platform for CPUs and other components as the CPUs are for the OSes that run on them.

It's as simple as a 2+2=4. The damn thing says at the TOP of the slide that they are announcing the AMD 4x4 Ethusiasts Platform. Which includes Motherboard, CPUs, Memory, and Video cards.
Where do you see it say that? What on the slide says that 4x4 isn't the platform that connects those components?

You are making a semantic argument and it's fucking retarded.
Fixed.

Duby, to me, a platform is only as good as what you can put on it. I really don't care if 4x4 uses Intel's new laser tech to interconnect the CPUs, if it only works with Prescotts, it has no value to me.

I'll grant you that 4x4 as a platform probably incorporates several technologies that are superior to Intel's FSB and whatnot. If you could run dual Core 2 Duos on 4x4, and you compared that performance with a single Core 2 Quad on any LGA775 board, the Core 2 + 4x4 solution would probably win.

However, right now, to us as consumers, 4x4 holds little to no value because there's nothing worthwhile to put on that platform. It's like people who say Linux sucks because of a lack of software, or that Vista sucks because of a lack of proper drivers. Both are stellar platforms in their own right, but mitigating circumstances can destroy the value these platforms have to the consumer.

As it stands, 4x4 has little to no value to the consumer because only thing that can run on it is K8. If you made a full 4x4 system right now, it would be more expensive, slower, and consume more power than Intel's offering. I realize K8L is relatively around the corner, but buying a platform now because future performance may be good is foolhardy.

Look, I get what you're trying to say, even if I don't entirely agree. I'm advising you to cool down. This isn't something you should get that worked up about.

LstOfTheBrunnenG, I agree with you for the most part. But it all boils down to platform, Not architecture. When 4x4 matures, it will be a better alternative then it is currently.

Look, he mostly conceded the point about 4x4 several pages ago. When most people say "4x4 sucks!!!1" they're actually saying "4x4 holds little value to me as a consumer." Right now, 4x4, as a product, platform, or whatever the hell you want to call it, sucks! There's no reason to buy it over some other platform that can support a Core 2. Maybe when K8L comes out, 4x4 won't suck so much. But until then, it does - not because it's poorly designed, but because the compatible processors aren't very appealing.

Can we all agree on this, please? We're fighting over the choice of words, when we all actually believe pretty much the same things about 4x4! This argument and all its participants are retarded for chosing to waste their time on this!
 
Nothing of interest in this post except for this...



Yes, no other piece of hardware needs the CPU to function. In fact, why don't we just build a system without a CPU. Who needs it? Apparently, your motherboards don't. Or your video cards, or your memory (appparently your RAM works without a memory controller ????), and the list goes on.

I'm not wiggling at all. I've given sources. I've given reliable and knowledgeable sources (Intel and AMD). You give nothing but more description of a motherboard.

But to call me ignorant is to call my sources ignorant. These sources include AMD and Intel. Are you claiming your definition is more accurate than their's? They being the people that actually PRODUCE these platforms. Do you know more than they???


Your credibility is quickly deteriorating.

All but one of your sources agree with me... Sorry.
 
All but one of your sources agree with me... Sorry.

Another fantastic rebuttal. It isn't reality because I say it isn't. I think everyone can clearly see on Intel's website.

Intel said:
Major ingredients of Intel platforms

There are five major ingredients in Intel platforms:
Hardware, such as processors, chipsets, communications, memory, boards, and systems.
Software, such as operating systems (OSs), applications, firmware, and compilers.
Technologies, such as Hyper-Threading Technology (HT Technology), Intel® Virtualization Technology, Intel® I/O Acceleration Technology (Intel® I/OAT), and Intel® Active Management Technology (Intel® AMT).
Standards and initiatives, such as Wi-Fi*, WiMAX, the Wireless Verification Program, and so on.
Services, such as digital media distribution, communications services, and system management services.
There are also external elements that make a comprehensive platform come together, such as standards, development tools, marketing initiatives, and infrastructures.

For a platform to be truly valuable, all of these elements and ingredients must work seamlessly together to create a useful and cohesive end-user experience.

Yep, quite obvious that Intel doesn't think that the CPU is part of the platform :rolleyes: .

Or AMD:

AMD said:
New Enthusiast Platform
Building on AMD’s already recognized leadership among PC enthusiasts, AMD also announced plans for a new enthusiast platform codenamed “4x4” that will extend AMD’s long-standing commitment to those consumers who demand the highest-performing PCs. The 4x4 platform features a four-core, multi-socket processor configuration uniquely possible via AMD’s Direct Connect Architecture.

Yep, platform features a four-core processor solution. Hmm... sounds like AMD considers the CPU(s) to be part of the platform. After all, hard for a product to feature something that isn't part of the product. Unless you're in Duby world, I guess.

I was thinking that your problem was that you couldn't read. However, you seem to be responding so maybe you can. Usually, even the most stubborn will admit error in the face of such overwhelming evidence, but not you. I can't place your disorder.
 
Another fantastic rebuttal. It isn't reality because I say it isn't. I think everyone can clearly see on Intel's website.



Yep, quite obvious that Intel doesn't think that the CPU is part of the platform :rolleyes: .

Or AMD:



Yep, platform features a four-core processor solution. Hmm... sounds like AMD considers the CPU(s) to be part of the platform. After all, hard for a product to feature something that isn't part of the product. Unless you're in Duby world, I guess.

I was thinking that your problem was that you couldn't read. However, you seem to be responding so maybe you can. Usually, even the most stubborn will admit error in the face of such overwhelming evidence, but not you. I can't place your disorder.

Intel calls everything under the sun platform... I think most reasonable people can call that BS.... Just like platform is marketing? Platform is ingredients? Ummm OK....

AMD says specifically that the platform is the HTT controller, that makes the CPU configuration possible. Sorry but once again your proving me right.
 
You don't seem to understand.
Only one thread can allocate memory at a time... But that's all the info the OS has. At best, the OS can apply the simple rule that it allocates memory from the CPU that the thread is running on, and then make sure the thread will always run on that CPU.
The problem arises however, because a multithreaded application will try to use ALL its CPUs/cores to do the processing... So the memory that is allocated in one thread will be used on another. There is no way the OS can prevent this without either disabling all other CPUs/cores, or terminating the program when it tries to access memory from a CPU that the thread doesn't belong to.

Ok I might be wrong, but this is the scope of my knowledge (as computer engineer), but your statement seems really really wrong. If the system has 32 cores, the app could utilize 32 cores, however if the app it self has only created two threads then at best those threads will be used on 2 cores, if the application is not creating new cores or does not have 32 threads it can and never will use all 32 cores. Also all the memory allocated the application is done so by the kernel, the application cannot access memory it has not been given access to, if it tries to it should cause a segmentation fault. (Now I mean there are workarounds, but this is more virus like behavior, and from a security pov its really really poor security.)

Also from my understanding from my operating systems class, is that the kernel that decides when an application or thread is run, which puts the threads/apps in sleep or run based on priority. That is why when if you watch your cpu usage, an application can and will switch cores, based on what the kernel seems fit to do. The application should not be able to decide what core its run in, you can however assign an application to run on a specific core.

That's not the point, is it? The application has access to the memory manager, and the application therefore needs to be NUMA-aware, because only the application can know what memory it's going to use on what cores. Obviously the OS/memory manager need to be NUMA-aware aswell, else the application still cannot specify on which CPU it wants to allocate memory.

Again, the application should only know how much memory it has, it does not access the memory manager, the kernel accesses the memory manager and the kernel knows which thread has access to which chunk of memory a thread or application is using. What you are talking about is application directly accessing and communicating with the hardware, which is so terribly wrong, the kernel sits between the hardware and software, thats how modern operating systems work, to my knowledge.


Now I am not saying I am 100% right and you are wrong, but this is what I *remember* from my class, but then again, I focused primarily on hardware, in my studies, but plx correct me if I am wrong.
 
Intel calls everything under the sun platform... I think most reasonable people can call that BS....

AMD says specifically that the platform is the HTT controller, that makes the CPU configuration possible. Sorry but once again your proving me right.

I don't think reason is your strong point.

AMD said:
The 4X4 platform will be designed to be upgraded to eight total processor cores when AMD launches quad-core processors in 2007.

Wait... if the CPU is just a component then why would the platform be upgraded when you install a new CPU? Wouldn't just the component be upgraded leaving the platform the same?

But wait...

AMD said:
Q: What is the AMD Quad FX Platform with Dual Socket Direct Connect Architecture?

A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.

The platform is a four-core solution? I thought only the CPU could contain cores:confused: . AMD is making it sound like the cores are part of the platform. That can't be right, Duby says so.
 
I think what Scali was saying, is if you have a dual socket, with two threads running, and each of them working on the same data, (which is a bad idea) then at least one of those threads will have to access remote memory.... It's not aware that this is happening though becouse the memory manager hides all these details from the application... The only thing the application knows is that it has memory. that is it. If you program these two threads to NOT wok with that data at the same time, them the memory manager will be able to move the data from bank to bank appropriatly for the core that is using it....

The problem with Scali's assumption is that he is not taking process management into account... Dont get me wrong though.... Accessing remote memory WILL happen from time to time, but if you have a properly written memory manager, and a process manager that is aware of the memory managers needs, then accessing remote memory can be greatly reduced.....

NUMA is in general a big boon, but it does have it's share of issues, in order to make it work right, there are a few compromises that need to be made in the memory manager that are not exactly ideal, as well as in order for threads to be scheduled in a manner that works well with NUMA is not exactly easy to do either....

NUMA adds a lot of complexity. As long as proper support is written in the kernel it should be largely application agnostic., but in order to get proper support is a pain in the ass, with a number of severe compromises. It is soooooo much more complex then that though... There are literally volumes available on this topic. There is no simple one answer.
 
I think what Scali was saying, is if you have a dual socket, with two threads running, and each of them working on the same data, (which is a bad idea) then at least one of those threads will have to access remote memory.... It's not aware that this is happening though becouse the memory manager hides all these details from the application... The only thing the application knows is that it has memory. that is it. If you program these two threads to NOT wok with that data at the same time, them the memory manager will be able to move the data from bank to bank appropriatly for the core that is using it....

The problem with Scali's assumption is that he is not taking process management into account... Dont get me wrong though.... Accessing remote memory WILL happen from time to time, but if you have a properly written memory manager, and a process manager that is aware of the memory managers needs, then accessing remote memory can be greatly reduced.....

NUMA is in general a big boon, but it does have it's share of issues, in order to make it work right, there are a few compromises that need to be made in the memory manager that are not exactly ideal, as well as in order for threads to be scheduled in a manner that works well with NUMA is not exactly easy to do either....

NUMA adds a lot of complexity. As long as proper support is written in the kernel it should be largely application agnostic., but in order to get proper support is a pain in the ass, with a number of severe compromises. It is soooooo much more complex then that though... There are literally volumes available on this topic. There is no simple one answer.

thank you for the clarification.
 
I don't think reason is your strong point.

Wait... if the CPU is just a component then why would the platform be upgraded when you install a new CPU? Wouldn't just the component be upgraded leaving the platform the same?

But wait...

The platform is a four-core solution? I thought only the CPU could contain cores:confused: . AMD is making it sound like the cores are part of the platform. That can't be right, Duby says so.

You just dont get it do you.... Both of these quotes say specifically that it is the HTT controller that makes the CPU combinations possible...

The 4X4 platform will be designed to be upgraded to eight total processor cores when AMD launches quad-core processors in 2007.

The 4x4 platform will make dual quad cores possible in 2007.... OK In plain english right there...

A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.

Some sematic errors, prolly written by a marketing noob, But what it says is that 4x4 is the platform that makes running matched pairs of quadfx possible It's written in plain english.... Maybe it's just becouse the big words you dont know.... Like "architecture" and "platform"
 
You just dont get it do you.... Both of these quotes say specifically that it is the HTT controller that makes the CPU combinations possible...



The 4x4 platform will make dual quad cores possible in 2007.... OK In plain english right there...



Some sematic errors, prolly written by a marketing noob, But what it says is that 4x4 is the platform that makes running matched pairs of quadfx possible It's written in plain english.... Maybe it's just becouse the big words you dont know.... Like "architecture" and "platform"


No, it says the "platform can be upgraded." Not our architecture allows you to upgrade CPUs. They specifically mention upgrading the platform. Maybe you can't read afterall...

Maybe you don't know the word "semantic." It doesn't say the platform makes running matched pairs possible. It says, AND I QUOTE:

AMD said:
A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.

I don't know what's so ambiguous about that. The platform includes four cores comprising of the FX-70, FX-72, or FX-74 matched processors. Pretty simple for me.

Duby, forget it. You are not mature enough to admit error even when the people who create the platforms disagree with you. You are not mature enough to debate with me.
 
A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.
Emphasis mine. It doesn't say that the four cores are included in the platform, it just says it includes them.

Look, I'm not agreeing with Duby, I'm not agreeing with you, you're all being idiots. But there is merit to what Duby is saying, and you're being just as bad as him by being so unwilling to admit that. You're both being immature. I don't care if one of the participants in this is an editor here, this thread has no redeeming value and should be closed. It's turned into a pissing contest between you and Duby.
 
You can twist and wiggle all you want, but you cant make it say something that it doesnt.
edit:
@BigDH01
 
Emphasis mine. It doesn't say that the four cores are included in the platform, it just says it includes them.

Look, I'm not agreeing with Duby, I'm not agreeing with you, you're all being idiots. But there is merit to what Duby is saying, and you're being just as bad as him by being so unwilling to admit that.

Yes, the platform includes the CPUs. This is what Duby disagrees with.
 
AMD said:
A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.

That's pretty obvious to me. If the platform is a four-core platform then sure it involves the CPUs.

I guess it depends on how duby defines "is." Duby, can you explain what your definition of "is" is?
 
That's pretty obvious to me. If the platform is a four-core platform then sure it involves the CPUs.

I guess it depends on how duby defines "is." Duby, can you explain what your definition of "is" is?

According to AMD's own terminology, that is in fact incorrect.....QuadFX is the CPU, and 4x4 is the platform.... Like I said, a marketing noob's semantic errors.... Immediately following that it says the platform is the HTT controller that supports the CPU's.
 
According to AMD's own terminology, that is in fact incorrect.....QuadFX is the CPU, and 4x4 is the platform.... Both registered trademarks... Like a said, a marketing noob's semantic errors.... Immediately following that it says the platform is the HTT controller that supports the CPU's.

4x4 was the Codename for waht became the QuadFX product. Like Conroe is for Core 2 Duo, and Prescott was for Pentium 4, and on and on.
 
Emphasis mine. It doesn't say that the four cores are included in the platform, it just says it includes them.
Wow, I can't believe I actually said that. I feel like a dunce.

What I meant to say was that it doesn't say that the four cores are included in the platform, it just says the platform connects them.
 
4x4 was the Codename for waht became the QuadFX product. Like Conroe is for Core 2 Duo, and Prescott was for Pentium 4, and on and on.

Nope, that was Windsor. Even that is misleading, becouse the only thing that matters is the revision number.
 
Wow, I can't believe I actually said that. I feel like a dunce.

What I meant to say was that it doesn't say that the four cores are included in the platform, it just says the platform connects them.


Yesterday it was about dinner time, my wife and I were watching TV, and I asked her when she was going to make dinner, then I said just off hand, "I gotta shit, and I am hungry".... That gave her a good laugh...

We all do it...
 
Ok I might be wrong, but this is the scope of my knowledge (as computer engineer), but your statement seems really really wrong. If the system has 32 cores, the app could utilize 32 cores, however if the app it self has only created two threads then at best those threads will be used on 2 cores, if the application is not creating new cores or does not have 32 threads it can and never will use all 32 cores. Also all the memory allocated the application is done so by the kernel, the application cannot access memory it has not been given access to, if it tries to it should cause a segmentation fault. (Now I mean there are workarounds, but this is more virus like behavior, and from a security pov its really really poor security.)

This is not about how many threads you create, but what happens when you use threads on both CPUs that need to access the same memory (which is something you can't avoid in many cases...).

Again, the application should only know how much memory it has, it does not access the memory manager, the kernel accesses the memory manager and the kernel knows which thread has access to which chunk of memory a thread or application is using. What you are talking about is application directly accessing and communicating with the hardware, which is so terribly wrong, the kernel sits between the hardware and software, thats how modern operating systems work, to my knowledge.

You are probably being confused by duby's statements. Ofcourse the application has to access the memory manager... perhaps not directly, but via some kind of library function (depends on what you call the memory manager... the entire library, or just the core functionality underneath)... But that's beside the point.
The point is that the application has to be aware of the fact that not all the threads it creates will have the same speed accessing all memory. The application has to be specifically optimized so that it minimizes cross-CPU memory accesses. Which is something that has never occured on the desktop until now.
And this is where QX6700 has a huge advantage over 4x4. You don't have to rewrite software, and there are no issues with software that cannot be rewritten efficiently for NUMA (which does exist, in fact, I've written quite some of that stuff myself).
 
Nope, that was Windsor. Even that is misleading, becouse the only thing that matters is the revision number.

No, Windsor was the code name for the Architecture. 4x4 is the codename for the Quad FX platform (to use your own terms :D).
 
I think what Scali was saying, is if you have a dual socket, with two threads running, and each of them working on the same data, (which is a bad idea) then at least one of those threads will have to access remote memory....

I don't get this "which is a bad idea" remark. Sometimes (very often) you just don't have a choice. Either you have multiple threads that have to share some memory (like for example some kind of mutex/semaphore system), or you simply use a single thread, to avoid the sharing problem.
In this case, obviously a system where you can use all cores without a penalty is an advantage.

It's not aware that this is happening though becouse the memory manager hides all these details from the application... The only thing the application knows is that it has memory. that is it. If you program these two threads to NOT wok with that data at the same time, them the memory manager will be able to move the data from bank to bank appropriatly for the core that is using it....

How do you suppose it will do that? Only the CPUs can copy data, and it's unacceptable to have the OS eat up valuable CPU-time and bandwidth to copy data from one CPU's memory to the next... not to mention that it is virtually impossible to efficiently keep both copies synchronized at all times.

The problem with Scali's assumption is that he is not taking process management into account... Dont get me wrong though.... Accessing remote memory WILL happen from time to time, but if you have a properly written memory manager, and a process manager that is aware of the memory managers needs, then accessing remote memory can be greatly reduced.....

You don't seem to know what you're talking about, sorry. I think you've only read about issues on a per-application basis (common server usage). But I'm talking about a single multithreaded application (common desktop usage). Like for example 3dsmax. It uses one thread for each core that is on your system. However, all cores have to render the same scene... so they have to access the same geometry, and the same textures etc.

It is impossible for the memory manager to do anything about the memory allocation while your application is already running. The access patterns from the threads may be completely random, so there's no way to predict what memory should be where at what time.
The memory manager simply doesn't have that kind of control.
The only way to do it reasonably efficiently is to write your application in a way that it knows what memory is where, and then try to make your algorithm use local memory as much as possible... But ofcourse this doesn't work in all situations. And in some cases it can be done, but only by wasting lots of memory. With 3dsmax for example, you could create a copy of all shared read-only memory like textures and geometry etc. It will waste many mb's of memory, but at least you won't have a penalty for read-operations. SLI works in the same way... both cards have a local copy of all geometry and textures etc.
It still doesn't solve the problem of both CPUs having to modify the same memory though (like with synchronization structures or working with incremental data processing algoritms or such).
 
I'm no expert on NUMA. I've read quite a bit on it, and it's progression in the Linux kernel, but by far no expert..

If I'm wrong, please feel free to correct.
 
I'm trying to correct, but I don't seem to get through ;)
I think the problem is that NUMA was originally only available on Opterons, so pretty much everything written about NUMA is probably aimed at Opterons and server usage.
Desktop usage is something completely different (even from a task scheduling/memory allocation point-of-view, but also in terms of application design).
 
Ahhh Inuendo... Gotta love poorly hidden ignorant remarks.

Well, what I meant to say was:
I tried to explain it a few times, but you kept bringing up the same issues... so I don't think you really understood what I tried to say.
Now that I've tried to explain it yet again... did I get through this time?
 
According to AMD's own terminology, that is in fact incorrect.....QuadFX is the CPU, and 4x4 is the platform.... Like I said, a marketing noob's semantic errors.... Immediately following that it says the platform is the HTT controller that supports the CPU's.

Um, the quote from AMD I posted said...

AMD said:
Originally Posted by AMD
A: The AMD Quad FX platform is a two-socket, four-core processing solution featuring Dual Socket Direct Connect (DSDC) Architecture for high-bandwidth processor to processor communication between matched pairs of AMD Athlon 64 FX-70, FX-72, and FX-74 multi-core processors.

It doesn't say the Quad FX cpus, it says the Quad FX platform. How many times must I post this before you read it?
 
Um, the quote from AMD I posted said...



It doesn't say the Quad FX cpus, it says the Quad FX platform. How many times must I post this before you read it?

And again I tell ya, marketing noobs semantic error. After that it specifically says it is the HTT controller that makes the CPU combination possible.
 
Status
Not open for further replies.
Back
Top