• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

are you looking forward to 4 cores?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Never said they were. But A LOT of people have X2 or P-D's by now. Many more than the people who have 7800's.

-Kevin
 

Intelia

Banned
May 12, 2005
832
0
0
The P-D s were a real waste of money and if you consider the new socket for x2 the same could be said for them except they are a fine cpu
 

Brian23

Banned
Dec 28, 1999
1,655
1
0
Originally posted by: Intelia
The P-D s were a real waste of money and if you consider the new socket for x2 the same could be said for them except they are a fine cpu

huh? X2 uses the same socket as A64.
 

Furen

Golden Member
Oct 21, 2004
1,567
0
0
I think she meant that they're a waste of time 'cause there's a new socket coming out in like 8 months. There will always be something coming out in a few months, though...
 

Intelia

Banned
May 12, 2005
832
0
0
Originally posted by: Brian23
Originally posted by: Intelia
The P-D s were a real waste of money and if you consider the new socket for x2 the same could be said for them except they are a fine cpu

huh? X2 uses the same socket as A64.
When Amd goes to DDR2 that will be a new socket


 

Velk

Senior member
Jul 29, 2004
734
0
0
Originally posted by: her34
with the next upgrade in cpu's being 4 cores, do you have as much excitement towards 4 cores as you did in the jump to 2 cores?

No.

Dual core provides useful performance benefits even when both cores are not being fully utilised. Quad core would provide no additonal advantage in cases where both cores are not more than fully utilised.

In time, applications that will take advantage of quad core seamlessly will be available, but currently they are rare enough that the decision to go quad core must be based on the heavy use of such an app/app(s).
 

RichUK

Lifer
Feb 14, 2005
10,341
678
126
do you think that when we reach the era of multi core (4,6,8 cores and more), the processors will still be SMP, or do you think that with all the integrated stuff that AMD propose to be on their new cores, this might warrant the use for AMP to dedicate cores to specific tasks.
 

Topweasel

Diamond Member
Oct 19, 2000
5,437
1,659
136
Originally posted by: n7
Considering how slowly multithreaded software is coming out, i am not impressed how things are gonna be for the next while.

Having quad-core is great & all, but it's at the expense of actual performance improvements right now, since it's still several years away before even half the games out there are coded to take benefit from this.

Slow????? There are tons of Multi-threaded programs out their already, The biggest problem is with games. Not many "Gamers" would use a Dual Proc box so they haven't had to worry about it till now. And for the time it has taken, If I remember correctly Dual Core CPUs were anounced in May, this means that 3 months have passed. Do you really expect programs that take 2-3 yrs to develop would just magically switch over to being multithreaded in 3 months?
 

Topweasel

Diamond Member
Oct 19, 2000
5,437
1,659
136
Originally posted by: RichUK
do you think that when we reach the era of multi core (4,6,8 cores and more), the processors will still be SMP, or do you think that with all the integrated stuff that AMD propose to be on their new cores, this might warrant the use for AMP to dedicate cores to specific tasks.

Well an Advanced Cell design would be a really good idea, but what I really see happening is having a central Northbridge like CPU and then several A64 like core surrounding it. I would love for them to look a video card manufactuerers and come up with some massive perarlelzation (horribly spelling).
 

n7

Elite Member
Jan 4, 2004
21,281
4
81
Originally posted by: Topweasel
Originally posted by: n7
Considering how slowly multithreaded software is coming out, i am not impressed how things are gonna be for the next while.

Having quad-core is great & all, but it's at the expense of actual performance improvements right now, since it's still several years away before even half the games out there are coded to take benefit from this.

Slow????? There are tons of Multi-threaded programs out their already, The biggest problem is with games. Not many "Gamers" would use a Dual Proc box so they haven't had to worry about it till now. And for the time it has taken, If I remember correctly Dual Core CPUs were anounced in May, this means that 3 months have passed. Do you really expect programs that take 2-3 yrs to develop would just magically switch over to being multithreaded in 3 months?


There are tons, eh?
If you actually know about these tons, how 'bout you list them all.
I have this funny feeling you could list most of them off the top of your head if you actually know which programs are...which means there are not all that many.

I'd like to see your list, since i don't know of a single program i actually could use that's multithreaded. Don't list programs no home user uses either, i mean programs we could actually use.
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Ok some people are neglecting the fact that there is no Dual Threaded Software. Anything that takes advantage of 2 thread takes advantage of 4, or 6, or 8.

Some Video Encoder i believe are multi-threaded. Some 3d Rendering apps. THe only thing that it hasn't hit yet is Games. I mean how many things does a consumer do that need multi-threaded. Games, Encoding, and Workstation apps. I dont know of anything else that would see any benefit. What else does a consumer to on the computer (Type on word...big need of multi-threaded code right there :roll;)

THere is more out there than you think.

-Kevin
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Originally posted by: Gamingphreek
Ok some people are neglecting the fact that there is no Dual Threaded Software. Anything that takes advantage of 2 thread takes advantage of 4, or 6, or 8.

That is absolutely false. Dual threaded software only starts two threads and no more. When the threads are no longer hardcoded to be 2, but started dynamically, that's when you should call the software "multithreaded", even though technically "dual threading" is also multithreading.

Multithreading has a huge application in video encoding. Take for example the DivX Helium codec. Also things like server browsers will have twice/3x/4x as accurate readings of ping times once they start utilizing the second/third/fourth core (assuming they "time" the response (that's how my primitive one worked anyway)). As web pages get more advanced with tons of Flash and media on them, the Mozilla Foundation and Microsoft would be stupid not to efficiently multithread their web browsers (mainly for scrolling speed). General purpose applications (more Excel and not so much Word) will see huge improvements with large amounts of data, particularly with both 64-bit support and multithreading. It's indispensable for database and server applications. Eventually math/SETI/gaming applications will support multithreading too. It should improve productivity in the workplace (provided people don't watch their porn on their multithreaded media player instead). The list goes on and on...there is no application that can't be multithreaded.

You can also run multithreaded programs on a single-core CPU by "time slicing". Each thread gets a slice of the processing power pie (mmm...) Your mouse might feel smoother while other threads are processing data, but expect a decrease in performance.

Originally posted by: RichUK
do you think that when we reach the era of multi core (4,6,8 cores and more), the processors will still be SMP, or do you think that with all the integrated stuff that AMD propose to be on their new cores, this might warrant the use for AMP to dedicate cores to specific tasks.

I think that is what they should do. Video processing has been delegated to the video card for at least ten years now, and sound processing also has been for a while. Soon physics processing will be, and I hope everything will be, but it would be nice to see dedicated DSPs integrated right in to the CPU itself. That would be awesome.
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
If you read my reply more carefully you would understand.

Nothing on this market supports 1 and 2 threads only. It is 1 thread, or Multi threads. If there were such thing has Dual Thread, then yes, it would only support 2 threads. However, there is only Single Threaded and Multi-threaded. It is kind of hard to put this in words.

You have:

Single Threaded
Multi-Threaded

Anything above Single threaded is Multi-Threaded, because Dual, Tri, Tetra, Penta- threaded apps do not exist.

-Kevin
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Anything that takes advantage of 2 thread takes advantage of 4, or 6, or 8.

Unless you're talking about running the program 4 times, there is no way a 2-threaded (still multithreaded) application is going to utilize 8 cores. It's the same reason why current single-threaded games aren't going to use the second core.

There are multithreaded applications programmed that only execute two threads. The rest of the CPU's cores are sleeping. They are called multithreaded because they execute more than one thread (two). I'm not trying to be anal, but I thought this was a big misunderstanding. Take a look here:

http://en.wikipedia.org/wiki/Multithreaded

Dual, Tri, Tetra, Penta, ... -threaded applications do exist. Multithreaded can mean ANYTHING above one thread, just like few means three or more. You may be talking about another term where the program delegates its work to as many threads as possible, which is actually the ideal situation ("infinitely parallel?"). In fact, the Java program example at that Wikipedia page is only a dual-threaded application. No more than two threads is being executed at one time (unless I'm misreading the program). ThreadTest.Main() and ThreadWork.DoWork(), and that is it. Nevertheless, just like the encyclopedia describes, it is an "example of a simple multithreaded application".
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
hey are called multithreaded because they execute more than one thread

But not limited to 2 threads AFAIK.

I think we need someone who actually can write this kind of code to tell us the answer... because it doesn't seem that we are getting anywhere.

-Kevin
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Argh...OK. Well I have written a couple small multithreaded apps before, but think of it this way. Multithreaded is a VERY broad term, but we use it because it's easy to say. It can mean one of the following:

1. Inefficient: multithreaded, as in having a dialog as one thread and the work as another, instead of the work being two threads. Very common in programs even today.
2. Efficient: Executes two OR three OR four OR more threads
3. Very efficient: Executes a new thread for each of its operations (probably what you're referring to).

Granted, I wish all applications were like number 2, but I'm sure half of the multithreaded programs out there still can only do two threads due to complexity. You can hold a gun to my face on this one, because I swear it's true. :)

There are a lot of multithreaded applications out there today. I'm willing to be almost every commercial application has one thread to display status and one thread to do work. What we want is to split the work between two cores, not just one for status (not much work) and one for all the work. That's an inefficient use of resources. Calculating the status requires just a couple math and drawing functions, so as you can imagine, the second core is nearly in a coma, and the third and fourth cores are completely asleep with nothing to do at all. In short, there are applications that can strictly only do two threads, some can strictly do three only, and some only four, no less, no more. I am absolutely positively sure about this.
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Alright, i see what you are saying.

I may be going out on a limb here but, in anticipation of multi core processors, im thinking that games and some other common apps might be made to support more than 2 threads. Future Proofing a program... OH YEAH :cool:

Just a guess though.

-Kevin
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Originally posted by: Gamingphreek
Alright, i see what you are saying.

I may be going out on a limb here but, in anticipation of multi core processors, im thinking that games and some other common apps might be made to support more than 2 threads. Future Proofing a program... OH YEAH :cool:

Just a guess though.

-Kevin

Yeah, we can only hope so. They will have another nightmare in front of them if they only support two threads this time around. But actually, once you have two efficient and perfectly balanced working threads, all you need to do is duplicate and modularize that code so it can be used infinitely (which is what SHOULD be done in the first place).

To answer the OP's question, no, there will not be diminishing returns when moving to quad-core. Just more work to split up, unless you're talking about the small overhead in doing so. A game server browser is an example of something you could infinitely parallize, one thread per server query. Those types of applications (parallel by nature) are what we will be seeing out first (definitely before games).
 

Gamingphreek

Lifer
Mar 31, 2003
11,679
0
81
Thanks for clearing that up xtknight. I have only done some basic C++ programming, and didn't get anywhere near nice programs and GUI's. So my knowledge on this matter is limited at best.

-Kevin
 

Velk

Senior member
Jul 29, 2004
734
0
0
Originally posted by: xtknight
Originally posted by: Gamingphreek
Alright, i see what you are saying.

I may be going out on a limb here but, in anticipation of multi core processors, im thinking that games and some other common apps might be made to support more than 2 threads. Future Proofing a program... OH YEAH :cool:

Just a guess though.

-Kevin

Yeah, we can only hope so. They will have another nightmare in front of them if they only support two threads this time around. But actually, once you have two efficient and perfectly balanced working threads, all you need to do is duplicate and modularize that code so it can be used infinitely (which is what SHOULD be done in the first place).


Unfortunately, it's nowhere near that easy. Much of the current multithreading is of a type where particular threads handle specific different jobs. For example, if you are using a multithreaded database client, you will have one thread dedicated to drawing and displaying the UI, and then spins off other threads to handle receiving query results in the background. For this particular case, despite it being both scalable and multithreaded, performance will not improve in any way from increasing cores from 2 unless you also alter your usage patterns.

Even in cases where threads are uniform, and evenly load balanced, you run into the problem that as the number of threads increase, so does the amount of time that needs to be spent communicating between them. Unfortunately, while the capacity of additional threads is linear, the increase in communications time is exponential. Unless, of course, the threads are able to work independently on separated pieces of input. Problems that can be broken down like that are not so hard, and that's where the bulk of the advantage lies currently, in things like video and audio encoding.

Doing so for an application where the results of every piece drive off the others, such as a game, is extremely difficult.

And finally, for a result which is common sense, but often overlooked - you need an application where the processor is actually *used* enough for it to be worthwhile. Using 10% of 16 processors is not in any way superior to using 80% of two. Already single CPU gaming benchmarks are being played at extremely atypical settings so that the difference between CPUs is actually visible - with the advent of well written multithreaded games, the video card is going to become a huge bottleneck even on dual core systems, let alone quad and above. There's going to need to be a change in design philosophy among games to take advantage of it, above and beyond the technical nuts and bolts of multithreading.





 

her34

Senior member
Dec 4, 2004
581
1
81
Originally posted by: xtknight
Argh...OK. Well I have written a couple small multithreaded apps before, but think of it this way. Multithreaded is a VERY broad term, but we use it because it's easy to say. It can mean one of the following:

1. Inefficient: multithreaded, as in having a dialog as one thread and the work as another, instead of the work being two threads. Very common in programs even today.
2. Efficient: Executes two OR three OR four OR more threads
3. Very efficient: Executes a new thread for each of its operations (probably what you're referring to).

Granted, I wish all applications were like number 2, but I'm sure half of the multithreaded programs out there still can only do two threads due to complexity. You can hold a gun to my face on this one, because I swear it's true. :)

There are a lot of multithreaded applications out there today. I'm willing to be almost every commercial application has one thread to display status and one thread to do work. What we want is to split the work between two cores, not just one for status (not much work) and one for all the work. That's an inefficient use of resources. Calculating the status requires just a couple math and drawing functions, so as you can imagine, the second core is nearly in a coma, and the third and fourth cores are completely asleep with nothing to do at all. In short, there are applications that can strictly only do two threads, some can strictly do three only, and some only four, no less, no more. I am absolutely positively sure about this.

can someone give me an example of a program that is not parallel by nature and would be difficult to optimize for multi-cores?

why can't all programs be like #3 above. mark 1 core as the main organizer core, then divide out the work/threads to how many ever cores available. if the organizer core is idle, have it take on a thread.
 

Jeff7181

Lifer
Aug 21, 2002
18,368
11
81
I don't think we'll ever need more than 2 cores. In fact, I don't think we even need 2 cores. How many applications can actually make use of two cores today? Just stop with the nonsense... it's all a marketing ploy to get you to spend more money. Lets quit with this "technology" stuff... I don't need anything faster than what I have right now, so just stop. No more R&D... what we have is good enough.







:roll: