Article View: comp.sys.powerpc
Article #1632Re: Ask yourself these before you choosing a 32bit OS...
From: Kazimir Kylheku
Date: Thu, 24 Aug 1995 18:41
Date: Thu, 24 Aug 1995 18:41
40 lines
2793 bytes
2793 bytes
In article <41h0kq$75r@nntp5.u.washington.edu>, Tim Smith <tzs@u.washington.edu> wrote: >scott goehring <sgoehrin@copper.ucs.indiana.edu> wrote: >>>True. Pre-emptive is more efficient and smoother, which is why it was >>>added into 95. >> >>preemptive multitasking is _less_ efficient than nonpreemptive >>multitasking, because of preemption overhead. many supercomputers run > >You've ignored the extra overhead in cooperative systems that is >required to keep the system responsive. Consider an extreme case: >two compute-bound processes. A modern preemptive schedular will >settle into a round robin with these with a very large time quantum, >and the overhead will approach zero. > >On a cooperative system, both of these processes have to repeatedly >give up the CPU to the OS, just in case there might be an interactive >process that needs the CPU. IMHO, it can't be done well, and it can't be done portably. It's difficult to predict how long some code will take to execute, particularly so if it will be run under dissimilar implementation of the same architecture (e.g. 68000 vs 68040) or on completely different machines. It's anyone's guess whether enough yields have been inserted or not. Yield calls also mess up your code! I don't want irrelevant instructions to be generated into what I want to be an optimized piece of numerical analysis. Why should my ray-tracer or compiler have to contain process scheduling decisions? The insertion of extra test/branch instructions will interfere with the proper optimization of such code. What about porting software to a crappy cooperative system? You will have to go hunting through the source to insert yielding in all the right places. I'd hate to have to do this for GCC! I think that the advocates of cooperative multitasking are unbelievable crackpots and lunatics with no grasp on reality, and we are completely wasting our time. But this is Usenet---what else is new? -- Finger c2a192@keats.ugrad.cs.ubc.ca for PGP public key. Or contact one of the public key servers -- the key id is 0xD3C7995D.
Technical Details
Message-ID:
<41ih47INN29r@keats.ugrad.cs.ubc.ca>Path:
arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mailReferences:
<3vh2hc$9dd@falcon.ccs.uwo.ca> <41astd$53u@steel.interlog.com> <41c9ut$g73@usenet.ucs.indiana.edu> <41h0kq$75r@nntp5.u.washington.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!keats.ugrad.cs.ubc.ca!not-for-mail From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku) Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy,comp.sys.intel,alt.2600,comp.os.ms-windows.advocacy Subject: Re: Ask yourself these before you choosing a 32bit OS... Date: 24 Aug 1995 11:41:11 -0700 Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <41ih47INN29r@keats.ugrad.cs.ubc.ca> References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41astd$53u@steel.interlog.com> <41c9ut$g73@usenet.ucs.indiana.edu> <41h0kq$75r@nntp5.u.washington.edu> NNTP-Posting-Host: keats.ugrad.cs.ubc.ca