[Python-Dev] Fixing the GIL (with a BFS scheduler) (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Sun May 16 23:38:35 CEST 2010
- Previous message: [Python-Dev] Fixing the GIL (with a BFS scheduler)
- Next message: [Python-Dev] Fixing the GIL (with a BFS scheduler)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Bill Janssen wrote:
Nick Coghlan <ncoghlan at gmail.com> wrote:
Bill Janssen wrote: As far as I'm concerned, just tying all of the program's threads to a single core would be fine, though I imagine others would differ. Which can be done through the OS tools for setting an application's CPU affinity. Yes, as I say, if the initialization of the threading module called those tools appropriately and automatically, I'd be happy. Well, less unhappy :-). I have to admit, I don't know how to do this on OS X. What's the tool and the process, if we're not getting too far afield?
OSX doesn't really support thread affinity. The affinity API that they have is described on
http://developer.apple.com/mac/library/releasenotes/Performance/RN-AffinityAPI/index.html
You can't bind a thread to specific core with it, though, but you can requests that multiple threads all run on the same core (leaving the choice "which core" to the system).
IIUC, an affinity preference does not survive exec(2), so you can't write a tool that binds all threads of its child processes to a single core (such a tool is available on many unices, though).
Regards, Martin
- Previous message: [Python-Dev] Fixing the GIL (with a BFS scheduler)
- Next message: [Python-Dev] Fixing the GIL (with a BFS scheduler)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]