From: Chet Murthy
Subject: BIG LISP program
Date: 
Message-ID: <34430@cornell.UUCP>
Recently I posted asking about an environment for running really big LISP 
programs.  The requirements were basically 1) large (>1Gbyte) memory
size, 2) large (>100MB) stack size, 3) reasonably efficient garbage
collection, and 4) the ability to use cheap (e.g. SCSI) disk drives.
so far, I've tried to run my program on LUCID CL, Symbolics
LISP machine, and Symbolics Ivorys.

LUCID has a 256MB memory limit, so my application runs out of memory.
MacIvorys have a 4Mword stack limit, so the stack blows out
LISP machines use SMD disks, so I can't find 4 of them - which is what
it would take to get me over a Gig of swap space.

I've heard about a system called POPLOG CL, and it seems really nice, but
SUNOS limits you to 512MB per process memory allocation, so I'm not too
hopeful on being able to use POPLOG to get the thing running.

So does anybody out there have any ideas on where I could go to get ahold of
such a beast?  I've tried about every avenue I can think of so far.

Thanks,
--chet--

	--chet--
	······@cs.cornell.edu
From: David A. Moon
Subject: Re: BIG LISP program
Date: 
Message-ID: <5089@total.ai.mit.edu>
I haven't see this appear yet, so here goes...
------------------------------------------------------------------------
Date: Mon, 20 Nov 89 15:21 EST
From: ····@stony-brook.scrc.symbolics.com (David A. Moon)
Subject: BIG LISP program
To: ······@alsvid.cs.cornell.edu (Chet Murthy)
Cc: ····@warbucks.ai.sri.com
Message-Id: <·····················@EUPHRATES.SCRC.Symbolics.COM>

    Date: 19 Nov 89 20:01:18 GMT
    From: ······@alsvid.cs.cornell.edu (Chet Murthy)
    Newsgroups: arpa.slug,comp.lang.lisp
    Subject: BIG LISP program

I don't know how to send this back to comp.lang.lisp, perhaps someone
else could forward it.

    Recently I posted asking about an environment for running really big LISP 
    programs.  The requirements were basically 1) large (>1Gbyte) memory
    size, 2) large (>100MB) stack size, 3) reasonably efficient garbage
    collection, and 4) the ability to use cheap (e.g. SCSI) disk drives.
    so far, I've tried to run my program on LUCID CL, Symbolics
    LISP machine, and Symbolics Ivorys.

    LUCID has a 256MB memory limit, so my application runs out of memory.

    MacIvorys have a 4Mword stack limit, so the stack blows out

This does not seem to be true.  I just created a 5 million word array on
the stack on my MacIvory.  Since I didn't use the Set Stack Size command
in advance, stack-overflow was signalled once and I had to proceed, but
that's as it should be.  Of course it took a while to create the array,
since I don't have 5 million words of real memory on my machine, but I
think this shows that if there is a limit on stack size, it's larger 
than you say.  I believe the limit would be around (expt 2 27) words.

I was assuming your 100MB stack was a data stack, rather than a special
variable binding stack or a control (function recursion) stack, since
you didn't specify.

    LISP machines use SMD disks, so I can't find 4 of them - which is what
    it would take to get me over a Gig of swap space.

Symbolics machines (both 3600s and Ivory-based systems) use a variety of
different disks, not all SMD.  All three varieties of Ivory-based
machine can be expanded to at least several gigabytes of disk using
relatively low-cost disks.  Not SCSI in some cases, but I believe the
ESDI disks cost about the same per megabyte as SCSI disks.

So I don't think there are any architectural limitations in Symbolics
Ivory-based machines that would make it impossible to run your program.
Whether you'll be able to find a large enough hardware configuration to
run such a program at acceptable speed depends on what your application
does as well as on how deep your pockets are.  Time spent reorganizing
your program for improved efficiency could be well worthwhile.