Athlon64 X2
Jay Scherrer
jay at scherrer.com
Wed Jul 6 14:17:10 UTC 2005
On Wed, 2005-07-06 at 08:45 +0100, John Haxby wrote:
> Robert L Cochran wrote:
>
> > Speaking as a beginner in C where can I find good sample code that
> > does this? How can I programmatically check for multiple CPUs or a
> > multicore CPU? How can I programmatically send one thread to a
> > specific CPU or CPU core? Or do I just create multiple threads and let
> > the OS decide where to send them?
>
> The very nature of Linux means that the vast majority of programs don't
> need to know or care about the number of CPUs in a system, whether
> physically separate, dual core or hyperthreaded. My relatively idle
> machine has, at the moment, 127 processors and if it had more than one
> processor the kernel would be cheerfully scheduling processes to all the
> processors. In many cases the only multi-threaded programming you need
> is a collection of cooperating processes and all multiple CPUs give you
> is a greater likelihood of race conditions.
>
> If the programs you're writing would benefit from concurrency or
> parallelism then you need to be concerned about multiple threads. If
> you're wondering what those terms mean then you need a beginning book on
> threads (there are quite a lot out there for a variety of programming
> languages, pick one you like the look of). Once you're over the
> beginning then you need to be concerned more with the pattens used for
> multi-threaded programs: my personal recommendation would be for Doug
> Lea's Java threads book -- I wish I could remember the title, but I
> don't think he's written many books about thread patterns. Yes, it's
> Java, but the concepts are generic.
>
> The last thing you were asking about is processor affinity. If you're
> hacking the kernel, you'll know about this. Chances are you'll never
> need it at a user level; although the pthreads interface does allow
> setting CPU affinity for an individual thread. There are supposed to
> be a few pathological cases where assigning a thread to a specific
> processor (or pool of processors) is the right thing to do.
>
> jch
>
Robert,
Try this link to AMD 64 development <http://www.devx.com/amd>.
I found it very interesting and responsive.
Jay Scherrer
More information about the amd64-list
mailing list