Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2016
| From | Rainer Weikusat <rweikusat@mobileactivedefense.com> |
|---|---|
| Newsgroups | comp.programming.threads, comp.unix.programmer |
| Subject | Re: Open issues in the specification for fork()? |
| Date | 2013-11-25 22:16 +0000 |
| Message-ID | <87k3fww2jc.fsf@sable.mobileactivedefense.com> (permalink) |
| References | (3 earlier) <52929869$0$15987$e4fe514c@news2.news.xs4all.nl> <20131125011903.172db979@laptop.homenet> <52933db8$0$15988$e4fe514c@news2.news.xs4all.nl> <slrnl976oc.msc.dave@fly.srk.fer.hr> <5293ab24$0$15963$e4fe514c@news2.news.xs4all.nl> |
Cross-posted to 2 groups.
Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> writes: > Drazen Kacar <dave@fly.srk.fer.hr> writes: [...] >>[1] And, of course, there were people who wrote multi-threaded program, >>but forgot to add one of the thread libraries to the link line. Then the >>program would link fine (because of stubs in libc), but none of the >>thread functions would work. That was a lot of fun for everyone. :-) > > Yes; fortunately, that was fixed when Solaris 10 was released (in 2005) > > But that couldn't be done until we had created a multi-thread library > which behaved more sanely in the presence of just the one thread; > such a library was first shipped with Solaris 8 and was made the default > in Solaris 9. This is described in some detail in a whitepaper named 'Multithreading in the Solaris Operating Environment' published around the time of Solaris 9 which is still worth a read (I actually just reread it). The main change in order to get a 'sanely behaving threading library' was switching from M:N threading to 1:1 threading and thus getting rid of the necessity to use hidden userspace threads in order to try to solve problems inherent in the M:N approach. This includes the remarkable feat of accepting that threads are useful because they enable applications to use multiprocessors AND NOT because they enable university eggheads from 'research assistant' upwards to avoid dealing with state machines in their code (that's a gross oversimplification, mainly because I really don't know how to describe this in a more accurate way). Commercial operating system tend to oscillate between these two models (with the occasional idiot reimplementing cooperative userspace threading for the upteempth time), cf the following statement from HP on 'MxN threading in HP-UX 11i': MxN threads were implemented in response to the perception that enterprise applications creating large numbers of threads perform better with MxN threads than with 1x1. However, The only real way to know how using the MxN model affects the performance of your particular application is to benchmark the two models and compare the results. Or, to put this into other words "While there's a strong perception that such applications ought to exist, there's little real evidence that they actually do".
Back to comp.programming.threads | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Open issues in the specification for fork()? Markus Elfring <Markus.Elfring@web.de> - 2013-11-23 19:05 +0100
Re: Open issues in the specification for fork()? Måns Rullgård <mans@mansr.com> - 2013-11-23 18:32 +0000
Re: Open issues in the specification for fork()? Chris Vine <chris@cvine--nospam--.freeserve.co.uk> - 2013-11-23 22:13 +0000
Re: Open issues in the specification for fork()? Markus Elfring <Markus.Elfring@web.de> - 2013-11-24 06:56 +0100
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-24 10:27 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-24 15:39 +0000
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-25 00:23 +0000
Re: Open issues in the specification for fork()? Chris Vine <chris@cvine--nospam--.freeserve.co.uk> - 2013-11-25 01:19 +0000
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-25 12:08 +0000
Re: Open issues in the specification for fork()? Drazen Kacar <dave@fly.srk.fer.hr> - 2013-11-25 18:46 +0000
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-25 19:55 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-25 22:16 +0000
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-26 08:33 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-26 15:46 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-25 12:21 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-25 15:52 +0000
Re: Open issues in the specification for fork()? Casper H.S. Dik <Casper.Dik@OrSPaMcle.COM> - 2013-11-25 16:55 +0000
Re: Open issues in the specification for fork()? Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2013-11-25 17:36 +0000
Re: Open issues in the specification for fork()? Kaz Kylheku <kaz@kylheku.com> - 2014-01-26 03:45 +0000
csiph-web