From: Thorsten Schnier
Subject: cmu-lisp: GC lossage
Date: 
Message-ID: <317193EF.5C1BD0FB@arch.su.edu.au>
Hi all !

I am trying to run an evolutionary system in CMU LISP (17f on
solaris). The genotypes in the ES are represented as lists,
sometimes taking up quite a large block of data (the printed 
representation of the data is about 20MB, the garbage collection
reports >10 Mb). Unfortunately, after a while I run into the
following error: 


GC lossage.  No scavenge function for object 0x00000002
LDB monitor
ldb>
EOF on something other than a tty.

(the program is run as a batch job)

This seems to be an internal CMUCL error, are there any patches 
available, or do you know of anything else I can do?


The program works in GCL, but unfortunately GCL spends _very_
much time during GCs, making it about 20-30 times slower than
CMUCL.


BTW: I tried to check for new information on CMULISP at
lisp-sun1.slisp.cs.cmu.edu, but I got a '550 Can't set guest privileges'
error. Isn't that supposed to be the new distribution site?

thorsten

----------------------------------------------------------------------- 
       \    C                                       
        \   O                                          Thorsten Schnier
         \  M                       
     /\   \ P                            Key Centre of Design Computing
    /     / U                                      University of Sydney
    \    /  T                                                  NSW 2006
     \  /   I                      
      \/    N                                   ········@arch.su.edu.au 
    DESIGN  G                      http://www.arch.su.edu.au/~thorsten/
  key centre

From: Martin Cracauer
Subject: Re: cmu-lisp: GC lossage
Date: 
Message-ID: <1996Apr18.101748.10289@wavehh.hanse.de>
Thorsten Schnier <········@arch.su.edu.au> writes:

>I am trying to run an evolutionary system in CMU LISP (17f on
>solaris). The genotypes in the ES are represented as lists,
>sometimes taking up quite a large block of data (the printed 
>representation of the data is about 20MB, the garbage collection
>reports >10 Mb). Unfortunately, after a while I run into the
>following error: 

>GC lossage.  No scavenge function for object 0x00000002
>LDB monitor
>ldb>
>EOF on something other than a tty.

>(the program is run as a batch job)

>This seems to be an internal CMUCL error, are there any patches 
>available, or do you know of anything else I can do?

Is it possible that you are out of paging space? Try swapinfo.

You might try to reach the limit where CMUCL starts GC, for example in
your ~/init.lisp

(setq *bytes-consed-between-gcs* (* 1024 1024 4))
or even higher. Not a solution, but it might bring the system to run.

You might try a different platform. Sparc/SunOS still looks like the
most decent platform for CMUCL.

Paul Werkowski's port of CMU CL to Intel-based PCs has a completly
different GC, in case you have a FreeBSD or NetBSD/i386 machine. If
that solves your problem, it might be possible to build a
Sparc/Solaris binary with this GC implementation.

>The program works in GCL, but unfortunately GCL spends _very_
>much time during GCs, making it about 20-30 times slower than
>CMUCL.

If all fails and GC is really the primay performance problem, you
might try Clisp as well, which has a GC that is faster in some
situations than that of GCL. 

>BTW: I tried to check for new information on CMULISP at
>lisp-sun1.slisp.cs.cmu.edu, but I got a '550 Can't set guest privileges'
>error. Isn't that supposed to be the new distribution site?

I use

ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/project/clisp/release

although I noticed that this URL doesn't work with certain procy
caches (and/or Netscape Navigator's ftp implementation). Try a
standalone ftp client.

Some information for CMUCL is availiable from my home page. I'm
preparing a collection of all patches I've seen since the last
release. None of them touches the GC.

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <········@wavehh.hanse.de>  -  BSD User Group Hamburg
BSD, Lisp and other programming info http://www.bik-gmbh.de/~cracauer
From: Thorsten Schnier
Subject: Re: cmu-lisp: GC lossage
Date: 
Message-ID: <3176E60A.37F032C1@arch.su.edu.au>
········@wavehh.hanse.de (Martin Cracauer) writes:

> 
> Thorsten Schnier <········@arch.su.edu.au> writes:

[some of my text deleted}
>> Unfortunately, after a while I run into the
> >following error: 
> 
> >GC lossage.  No scavenge function for object 0x00000002
> >LDB monitor
> >ldb>
> >EOF on something other than a tty.
> 

> Is it possible that you are out of paging space? Try swapinfo.

Not likely, that machine has got far enough space, both
real and virtually (256MB ram, 300MB swap). I got mail from
another person, she's having the same problems.

> 
> You might try to reach the limit where CMUCL starts GC, for example in
> your ~/init.lisp
> 
> (setq *bytes-consed-between-gcs* (* 1024 1024 4))
> or even higher. Not a solution, but it might bring the system to run.
> 
> You might try a different platform. Sparc/SunOS still looks like the
> most decent platform for CMUCL.

Unfortunately, we've got only one SunOS machine left, and that one is
pretty old. Currently, my jobs seem to be running more or less stable,
and I am saving my data every 20 min., so that I can restart it. What I
did a while ago was having a second job running and checking every 30 
min if the CMU job is still running, and restart it otherwise from the 
last saved data...

> 
> Paul Werkowski's port of CMU CL to Intel-based PCs has a completly
> different GC, in case you have a FreeBSD or NetBSD/i386 machine. If
> that solves your problem, it might be possible to build a
> Sparc/Solaris binary with this GC implementation.
> 

I am waiting for a Linux version to come out, but even then my PC 
would be much slower than the sparc 20 I am running on.


> >The program works in GCL, but unfortunately GCL spends _very_
> >much time during GCs, making it about 20-30 times slower than
> >CMUCL.
>
> If all fails and GC is really the primay performance problem, you
> might try Clisp as well, which has a GC that is faster in some
> situations than that of GCL. 
>

It seems to be the GC that makes GCL so slow in my case, in other
jobs I usually get a speed advantage of about a factor of 4 for CMU,
with code optimized for CMU Lisp.
 
> >BTW: I tried to check for new information on CMULISP at
> >lisp-sun1.slisp.cs.cmu.edu, but I got a '550 Can't set guest privileges'
> >error. Isn't that supposed to be the new distribution site?
> 
> I use
> 
> ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/project/clisp/release
> 
There was an announcement for a new distribution site in this 
newsgroup a couple of weeks ago, but I thought I didn't archive it then.

Now I've found it:

- - - - - - - - - - - - - - - - - - - - - - 
Subject: New CMU CL distribution hosts 
Date: 8 Feb 1996 16:36:16 GMT 
From: ···@cs.cmu.edu (Robert MacLachlan)
Organization: School of Computer Science, Carnegie Mellon 
Newsgroups: comp.lang.lisp

As you can see, we haven't made a new CMU CL release in quite a while, but it
is still available.  However, the set of FTP distribution hosts has changed,
and is throwing some people off.  lisp-rt1.slisp.cmu.edu is now the primary
host, with ftp.cs.cmu.edu as a backup.

Someday I hope to do a new release with some bug fixes and any new platforms
which have been implemented by net users.

  Rob

________________________________________________________________

            Release notes for CMU Common Lisp 17f, 4 November 94
- - - - - - - - - - - - - - - - -  
[release notes deleted]

Note that the site given is wrong, it should be
ftp://lisp-rt1.slisp.cs.cmu.edu
                    ^^^

and that site is accessible.

> Some information for CMUCL is availiable from my home page. I'm
> preparing a collection of all patches I've seen since the last
> release. None of them touches the GC.

That would be very useful. I just found the patch for the time macro 
on solaris, so that I don't have to do the profiling on the sunos machine.
There are two patch files on the CMU archive, but unfortunately without
further explanation what they patch. The lisp patch seems to patch some
floating-point and pretty-print stuff, no idea what the binary patch
is for.

> 
> Martin
> -- 
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> Martin Cracauer <········@wavehh.hanse.de>  -  BSD User Group Hamburg
> BSD, Lisp and other programming info http://www.bik-gmbh.de/~cracauer

-- 
----------------------------------------------------------------------- 
       \    C                                       
        \   O                                          Thorsten Schnier
         \  M                       
     /\   \ P                            Key Centre of Design Computing
    /     / U                                      University of Sydney
    \    /  T                                                  NSW 2006
     \  /   I                      
      \/    N                                   ········@arch.su.edu.au 
    DESIGN  G                      http://www.arch.su.edu.au/~thorsten/
  key centre