programming for dual core

kcthomas

Senior member
Aug 23, 2004
335
0
0
in order to take advantage of dual cores, doesn't it require different software? so is there no software out right now that can run on dual cores? how are people preparing to write for dual core (seeing how there is nothing to test run it on). is it going to be a while after dual core is released that there will be software to take advantage of it?
 

Jeffyboy

Senior member
Dec 17, 2004
276
0
0
I would assume that XP Pro will make use of Dual-core. (1 to 2 processors) If you have an application that uses threads, those threads may be executed on a second core for increased speed.

Jeff
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Yep - I would expect it to behave somewhere between hyperthreading and dual CPUs. Probably some OS support needed, but beyond that, any threaded app would be able to take advantage of it.
 

Calin

Diamond Member
Apr 9, 2001
3,112
0
0
Software written for multiprocessor systems would work perfectly well on multicores. If the software is having interdependencies, the speed on multicore could be greater than the speed on a multiprocessor. (I saw this demo, when a fractal function worked about thrice as fast on a dual processor than on a single processor) - it was all related to each processor having less overhead (like thread changes). I must admit that the program used something like a thousand threads
 

phisrow

Golden Member
Sep 6, 2004
1,399
0
0
Given that most systems are executing multiple processes at any one time, you needn't necessarily be running special software to benefit. The classic spyware slowdown, for example, should take a lot longer to cripple a dual core system(though it will take a little while for dual cores to filter down to the level of users who have spyware problems). Even for well run systems there are usually lots of background processes floating around and it will be nice to have those assigned to a second core and kept out of the way.
 

kcthomas

Senior member
Aug 23, 2004
335
0
0
how are they going to clock these bad boys. would they be able to clock them at similar speeds that single cores are at right now? or are the going to start them low so its a linear increase in speed from what we have now.
 

cquark

Golden Member
Apr 4, 2004
1,741
0
0
Originally posted by: kcthomas
in order to take advantage of dual cores, doesn't it require different software?

It depends on what you mean by "take advantage."

All modern operating systems (Linux, UNIX, Mac OS X, and Windows NT) support multiple processors. The typical user machine runs dozens of processes, so there are ample opportunities to share the workload between the two processors on your dual-core chip.

However, having multiple processors doesn't speed up most individual programs, as most software has a single thread of execution. Developing multithreaded software tends to be difficult; it's hard for people to think about and common computer languages like C/C++ and Java offer primtiive tools at best for dealing with such applications.

Functional languages like Erlang, OCaML, Haskell, and Scheme are thread-safe by nature, and may become more popular as the need to exploit concurrency at the language level becomes more important with multi-core processors.

See http://www.gotw.ca/publications/concurrency-ddj.htm for a good discussion of the implications of multi-core processors.

how are people preparing to write for dual core (seeing how there is nothing to test run it on).

There are plenty of dual processor machines out there to test it on. However, even if we were talking about a completely new processor design, we could test it on a software emulator for that processor. Software for unreleased processors is typically developed using emulators and cross-compilers (compilers that generate machine code for a processor other than the one you're running the compiler on.)

 
Jun 18, 2004
105
0
0
This may seem like a silly question but XP PRO is for a upto 2 chips correct? Does it include logical processors in that? If so will the EE not have trouble?

Also is there a way to force on program execution the program to run on which ever core is least loaded, sort of a shift windows stuff to one and your program on the other?

I really need to brush up on my windows programming!
 

kpb

Senior member
Oct 18, 2001
252
0
0
Originally posted by: mitch2891
This may seem like a silly question but XP PRO is for a upto 2 chips correct? Does it include logical processors in that? If so will the EE not have trouble?

Also is there a way to force on program execution the program to run on which ever core is least loaded, sort of a shift windows stuff to one and your program on the other?

I really need to brush up on my windows programming!

I beleive xp and newer can tell the difference between the 2 and allows 2 real processors on Pro and those can be hyperthreading enabled for 2 more virtual processors.
 

cquark

Golden Member
Apr 4, 2004
1,741
0
0
Originally posted by: mitch2891
Also is there a way to force on program execution the program to run on which ever core is least loaded, sort of a shift windows stuff to one and your program on the other?

The Linux scheduler automatically does this for you.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Dual core Opterons will perform better than two separates on some things and slightly worse on others - depending on how the OS spreads the datasets across the two RAM controllers in the former case. E.g. if the software on both CPUs works on the same dataset that resides on one CPU's RAM, a dual-chip machine will have a lot of HyperTransport traffic from the other CPU going on, while a dual-core machine can go straight to RAM. On the other hand, with truly separate tasks to work on, each separate CPU will have its entire RAM bandwidth for itself.

Dual core Xeons will perform exactly like dual separate Xeons - because they are. From what has trickled through to the press, what we're getting is two separate CPU dies in the same physical package. These connect on the FSB, just like normal dual Xeons do, so no difference here. (Other than that they might be disabling HyperThreading in the duallies, as has been rumoured.)
 

uOpt

Golden Member
Oct 19, 2004
1,628
0
0
Coding for dual core is mostly the same as for SMP.

However, they most likely share the L2 cache, analogous to Pentium-1 dual-processor systems, so cache trashing will happen sooner and more violent.

I don't expect more than very few applications to benefit from hyperthreading when there is more than one physical core. On my work Xeons it's turned off because it led to substancial slowdowns and apart from artificial benchmarking like 4 parallel bzip2s I couldn't find anything that would run faster.
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Originally posted by: MartinCracauer
Coding for dual core is mostly the same as for SMP.

However, they most likely share the L2 cache, analogous to Pentium-1 dual-processor systems, so cache trashing will happen sooner and more violent.

I don't expect more than very few applications to benefit from hyperthreading when there is more than one physical core. On my work Xeons it's turned off because it led to substancial slowdowns and apart from artificial benchmarking like 4 parallel bzip2s I couldn't find anything that would run faster.

On my own work, I found that hyperthread helped if I increased the number of worker threads. Certainly not double - maybe 15% to 20% increase over the best I could do with HT turned off. That's on dual xeons.
 
Jun 18, 2004
105
0
0
Yeah HT does not make a big performance differnece and I imagine neither will dual core to most but where I really expect to see improvement is multi tasking it should allow much smoother use especially when doing cpu intensive tasks like coverting movies and such, the computer should remain realtively useable.

I imagine the first place the improvement will be seen will be games ported from consoles. Where I work alot of games we write have a good amount of code that is easilly executed in parrallel and if ported by someone knowledgeable should be easy to make run well on dual core.
 

uOpt

Golden Member
Oct 19, 2004
1,628
0
0
There is no such thing as easily porting a highly optimized non-parallel program to an optimized parallel one

Also, if the machine already has dual CPU or dual core then Hyperthreading will not make it run smoother, like the AGP-application together with a CPU hig I found.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |