murthy@alsvid.cs.cornell.edu (Chet Murthy) (11/20/89)
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-- murthy@cs.cornell.edu
Moon@stony-brook.scrc.symbolics.com (David A. Moon) (11/22/89)
I haven't see this appear yet, so here goes... ------------------------------------------------------------------------ Date: Mon, 20 Nov 89 15:21 EST From: Moon@stony-brook.scrc.symbolics.com (David A. Moon) Subject: BIG LISP program To: murthy@alsvid.cs.cornell.edu (Chet Murthy) Cc: SLUG@warbucks.ai.sri.com Message-Id: <19891120202145.9.MOON@EUPHRATES.SCRC.Symbolics.COM> Date: 19 Nov 89 20:01:18 GMT From: murthy@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.