🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.arch
Article #2772

Re: Reasons For Large Main Memories

#2772
From: R. James Nusbaum
Date: Mon, 08 Sep 1986 02:18
96 lines
5799 bytes
In article <1161@bu-cs.bu-cs.BU.EDU> bzs@bu-cs.BU.EDU (Barry Shein) writes:
>
>>From: rjn@duke.UUCP (R. James Nusbaum)
>>Your point is also true.  However many Lisp systems are single user systems.
>>Having even a couple of hundred megawords of memory could totally eliminate
	[ omitted to save space]
>>If we had 200Mb of memory then we would have no need for paging at all!  This
>>would significantly speed up many applications.
>
>But you still miss the point. In the first place, move this to GigaBytes,
>obviously adding a few more megabytes is not interesting (so why do people
>keep going back to it?) Even 200MB is quite different than 5X that or
>more.
>Now, ok, you eliminated paging, garbage collection has become a field
>service thing. But, could you do anything useful with all that memory
>and that (relatively) itty-bitty processor? How long would it take you
>to do a MEMQ of a list of a few HUNDRED MILLION lisp objects long?
>etc.  Paging is only an advantage at some interim and relatively low
>point (100-200MB perhaps, probably less.)

Anyone who would have a list 100,000,000 objects long is a a poor Lisp
programmer.  In case you haven't heard Lisp has things called arrays and
yes, I know of many things which I could do with that itty-bitty
processor.  The following is an example:

I have a VLSI CAD system which divides the chip surface into small squares.
Each square can be occupied by a cell (a circuit description).  I would
love to have at least a 512x512 array of these cells.  Note: a cell may
be an empty cell, no circuitry.  That means I need 262,144 locations in
my array, each containing a cell pointer (32 bits).  In a full array
each pointer would point to an object (not a Lisp object, an object-oriented
programming object) which I would like to be large.  The larger the
object the faster it is to do things like repaint the screen because of
less information sharing and pointer chasing.  Let's assume a 1k object.
We're already up to 268,440,000 bytes.  Now add simulation data to the 
objects, now add color to the visual description of the objects, now
add different representations, now add the code to handle these objects.
We are already over 1Gb, I assure you.

Now throw in the monkey wrench which would kill any smart paging scheme of
a virtual memory system.  It's called the user.  The user is viewing
these objects on his screen.  He can move his view to any location on
the array, he can scroll the screen, he can zoom in or out, he can
change voltage levels at any node in the circuit.

Now if I can hold all these objects in main memory then the user won't
have to wait for multiple pages to be made resident when he decides
to look at a different part of the circuit.  Users, especially non-
technical ones, hate to wait.

I'm not saying that an application like this cannot be done in much
less memory, it has been.  But even on a Symbolics (pretty much
the fastest widely available Lisp machine) it is slow, slow, SLOW.

>Now, I could see a lisp-machine type saying that only garbage
>collecting on Xmas day would be a big win, if they could actually
>accomplish that, and would otherwise run 'reasonable' programs.
>Somehow though I suspect it won't work that way. More like the machine
>down every Sunday for garbage collection (though I suppose many
>long-running applications could be checkpointed to disk and a simple
>re-boot would suffice.)

This is pretty much exactly what happens.  To my knowledge the Symbolics
at a certain university (not the one I'm at now) has never had to
garbage collect during a run session.  When a session is over the world
is saved and a garbage collection is run.  This is really a function
of a large virtual memory space, and has nothing much to do with
physical memory space.  

It certainly would take a long time to garbage collect 1-4Gb. Fortunately
there are things like incremental garbage collection, parallel garbage
collection, and garbage collection hardware to help out.  All I've ever 
said is that a global garbage collection would be much faster if the whole 
world were resident in physical memory.

>Ok, but still obviously not cost-effective (the magic ingredient that
>gets thrown out whenever this topic starts getting discussed, 1GB of
>memory is going to cost you around $1M [there's more than chips
>involved, don't just tell me the 1MB price * 1,000, you'll need
>backplane, power-supplies etc etc, if your figures come to $500K,
>fine, same thing], how many of us would buy a lisp-machine to run one
>application for $500-$1M? $250K?)
>
>	-Barry Shein, Boston University

If you're going to use todays cost figures the whole discussion, which
originally asked about large physical memories for minicomputers, becomes
a little ridiculous.  I certainly expect memory prices to keep going
down until the physical limits of chip manufacturing are reached.  I
think we are still a good ways away from that wall.

I will argue no more.  I think that if you give me memory for free, I'll
take as much as I can get for a single-user system, up to the limit of
the logical address space.

Jim Nusbaum
Technical Details
Message-ID: <8529@duke.duke.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!uwvax!husc6!panda!genrad!decvax!mcnc!duke!rjn
References: <1161@bu-cs.bu-cs.BU.EDU>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!uwvax!husc6!panda!genrad!decvax!mcnc!duke!rjn
From: rjn@duke.UUCP (R. James Nusbaum)
Newsgroups: net.arch
Subject: Re: Reasons For Large Main Memories
Message-ID: <8529@duke.duke.UUCP>
Date: Sun, 7-Sep-86 22:18:15 EDT
Article-I.D.: duke.8529
Posted: Sun Sep  7 22:18:15 1986
Date-Received: Mon, 8-Sep-86 20:58:05 EDT
References: <1161@bu-cs.bu-cs.BU.EDU>
Reply-To: rjn@duke.UUCP (R. James Nusbaum)
Organization: Duke University, Durham NC
Lines: 96
Summary: a long example and rebuttal