Prev: Cost of moving data and the power budget
Next: RISC design, was What will Microsoft use its ARM license for?
From: Casey Hawthorne on 8 Aug 2010 22:42 Running Windows or Ubuntu on a multi-core CPU is there a way to get the O/S to use only 2 of the CPU's so that the other 2/4/6 CPU's are "free" for programs; in the sense that those CPU's would have much less context switching and hence be more cache-friendly and pipeline-friendly? -- Regards, Casey
From: Joe Pfeiffer on 8 Aug 2010 23:59 Casey Hawthorne <caseyhHAMMER_TIME(a)istar.ca> writes: > Running Windows or Ubuntu on a multi-core CPU is there a way to get > the O/S to use only 2 of the CPU's so that the other 2/4/6 CPU's are > "free" for programs; in the sense that those CPU's would have much > less context switching and hence be more cache-friendly and > pipeline-friendly? Cache-friendly, anyway. Once you're doing context switching, resuming on one core vs. another doesn't really matter. The Linux scheduler assigns a cost to moving a process from one core to another, for exactly the reason you suggest. Result: processes tend to stick to one core unless load-balancing outweighs that preference. -- As we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. (Benjamin Franklin)
From: George Neuner on 9 Aug 2010 13:24
On Sun, 08 Aug 2010 19:42:05 -0700, Casey Hawthorne <caseyhHAMMER_TIME(a)istar.ca> wrote: >Running Windows or Ubuntu on a multi-core CPU is there a way to get >the O/S to use only 2 of the CPU's so that the other 2/4/6 CPU's are >"free" for programs; in the sense that those CPU's would have much >less context switching and hence be more cache-friendly and >pipeline-friendly? Generally no. Both Windows and Linux allow you to force a program to a particular subset of available CPUs, but the operating system itself will do whatever it pleases. As a user you have no control over the kernel, device drivers and on Windows, services loaded by svchost. Basically if you don't see the task listed in "ps -a" list on Linux or in Windows Program Manager, you can't affect it. George |