9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "John S. Dyson" <dyson@iquest.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Virtual memory in BSD and Plan9
Date: Tue, 13 Nov 2001 10:34:01 +0000	[thread overview]
Message-ID: <c66cd78b.0111121811.69e2de20@posting.google.com> (raw)
In-Reply-To: <200110312021.PAA15416@augusta.math.psu.edu>

cross@math.psu.edu (Dan Cross) wrote in message news:<200110312021.PAA15416@augusta.math.psu.edu>...
> In article <3BE038E9.6AC0BD50@null.net> you write:
> >One big difference I've seen in past examples of paging systems
> >can be summarized as: page against everyone vs. page only against
> >oneself.  The latter is sometimes called the "working set" model.
> >The former tends to make the whole system unusable when a process
> >lets its address space get out of control, while the latter tends
> >to run other processes pretty much the same under such conditions.
>
> Forsyth wrote an interesting paper years back called something along
> the lines of, ``Sending Unix to the Fat Farm,''  wherein he details his
> experience replacing various parts of the SunOS 3 kernel in an effort
> to simplify the overall system.
>
> Of particular interest was his replacement of the whole-system paging
> scheme inherited from 4BSD with one based on the working set model.
> Apparantly, the system performed much more gracefully under load as a
> result, in addition to being far simpler and more maintainable.
>
> One of the things that bothers me about the Linux and BSD camps is that
> they don't learn from such experiences of the past, and instead forge
> ahead with the status quo that they've inherited.  For instance, the
> idea that Plan 9 would port one of the BSD paging subsystems is
> ridiculous for the same reason that the idea of porting the sockets
> subsystem is ridiculous; the system simply doesn't need it, it wouldn't
> mesh well with the overall architecture, and possibly better solutions
> exist in the literature.  In this specific case, the subtle nuances
> that Dyson describes in the FreeBSD paging code are precisely the sort
> of thing that Plan 9 does to great lengths to avoid.
>
Remember -- it was EXACTLY learning from the past that made the FreeBSD
VM outperform almost everything that exists to date (under load.)   The
old working set concepts are really not very good, because they work
alot like a 'command economy'.   Refer to the FreeBSD stats gathering,
plus the avoidance of resource depletion, plus the avoidance of long
queue lengths (maintains latency performance.)

Really, really -- there is alot to be said about learning from mistakes
in the past, and I holeheartedly agree.   However, the FreeBSD VM is
not just a follow-on to the MACH VM WRT it's behavior.   The incredible
thing about the FreeBSD VM is that it DOES do a good job of avoiding
the problems with the old concepts.

For alot of fun, just play with NT (a working set model VM), and FreeBSD,
and it will be pretty clear that FreeBSD tends to keep it's wits about
it.   There are some caveats in system configuration in order to maintain
performance under the grossest load conditions, and one is that multiple
heads makes a HUGE difference.   This is NOT because of bandwidth issues,
but due head contention.

John


  reply	other threads:[~2001-11-13 10:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29 12:38 rob pike
2001-10-29 12:57 ` Borja Marcos
2001-10-30 15:22 ` Douglas A. Gwyn
2001-10-30 15:22 ` John S. Dyson
2001-10-30 21:13   ` Boyd Roberts
2001-11-02  9:59     ` Thomas Bushnell, BSG
2001-10-30 15:23 ` Ozan Yigit
2001-10-31 10:00   ` John S. Dyson
2001-10-31 18:12     ` Douglas A. Gwyn
2001-10-31 20:21       ` Dan Cross
2001-11-13 10:34         ` John S. Dyson [this message]
2001-11-02  9:58 ` Thomas Bushnell, BSG
  -- strict thread matches above, loose matches on Subject: below --
2001-11-13 11:56 forsyth
     [not found] <dhog@plan9.bell-labs.com>
2001-11-01 21:19 ` David Gordon Hogan
2001-11-01 21:23   ` Scott Schwartz
2001-10-30 16:08 bwc
2001-10-30 15:37 bwc
2001-10-25 17:55 Russ Cox
2001-10-25 18:29 ` William Josephson
2001-10-29 10:16   ` John S. Dyson
2001-10-25 16:59 Wladimir Mutel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c66cd78b.0111121811.69e2de20@posting.google.com \
    --to=dyson@iquest.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).