MESSAGE
DATE | 2009-09-16 |
FROM | Paul Robert Marino
|
SUBJECT | Subject: [NYLXS - HANGOUT] c++ threading question
|
I have a question thats a little more technical then we get on this list about NPTL threading in Linux. I know there is a way in NPTL (Native POSIX Threading Library) to do SMP aware Kernel threads under Linux however I haven't seen any GPL or open source applications that do it (other than Java but the code is too massive for me to find it ) and as a result they are CPU Core bound. Now I have seen closed source applications do it one of which was written by a vendor for my job who I know did not use any libraries that do not come with (GNU\)Red Hat Enterprise Linux 4.x. so far none of the documentation I've seen on the subject of NPTL on Linux seem to really explain how to do it only that its possible. does any one know what the key to getting it to work is? In theory writing POSIX threading code on Linux shouldn't be any different than Solaris's implementation of POSIX threads however in Solaris it's just a simple matter of setting the extent (which indicated the maximum number of cores the app can use) and it just works however ti does not seem to do any thing under Linux which makes me suspect that something needs to be added to the code to specify that you want to create SMP aware kernel threads as opposed to user mode, or non-SMP aware kernel threads possibly prior to setting the extent. The other thing Ive noticed is I've seen threaded apps that will use SMP aware when compiled on Solaris and not when they are compiled on Linux.
|
|