ACT-R in ACL

Daniel J Bothell db30+ at andrew.cmu.edu
Tue Mar 2 13:07:00 EST 1999


Due to some recent concerns of the time required to run models using ACL 5.0
in Windows I ran some tests to determine what was causing the problem.  The
details of the tests can be found on our website at:

http://act.psy.cmu.edu/ACT/ftp/models/compare/compare.html .

Basically, I found that the default value of the ACT-R parameter 
*compile-eval-calls* should be nil instead of t.  A new version of ACT-R with 
this and a couple of other changes to improve performance under ACL is now 
available from our web site at:

http://act.psy.cmu.edu/ACT/ftp/release/ACT-R_4.0/index.html .

A new version of the Environment for ACL will also be made, but there
are other 
changes going into it, and it may be a month or so before it is ready.

In general, I found that in ACL the modeler has to be a little more concerned
about how the model is run.  The two largest factors are the value of 
*compile-eval-calls* and whether the model is compiled before running. I can 
offer my observations as to how to set things for best performance based on
the models tested.

As far as *compile-eval-calls* goes, the (new) default value of nil
should work 
best for most models.  The major exception to this depends on how often
your model 
calls reset and reload.  If you model runs for a lot of cycles (what actually 
constitutes a lot depends on the model, roughly 1000 or more) without
being reset 
or reloaded, then you may benefit from setting *compile-eval-calls* to
t.  Since 
clearall resets the default value, to change it you have to add 
(setf *compile-eval-calls* t) after the clearall call in the model.

As for when to compile, most models should run fine without compiling. 
However, 
if a model has a lot of Lisp code called from the model (!eval! calls to
functions 
in the productions) or a lot of setup code for each run (and it is run
many times),
then the benefit of compiling might be signifigant.


One other thing to note is that ACL seems to have problems with a large output
to the Debug window, and virtual memory thrashing after running a long time.
During the tests, ACL caused an error when the text in the Debug window grew
to over 5 megabytes. Also, after loading and running several models many times,
virtual memory would thrash, increasing the runs for some models well over an 
hour.  Changing the ACL default settings for garbage collection may very well
fix those problems, but I did not look into doing so.

If you have any questions or comments about the tests, or suggestions for 
increasing the performance of running models, please let me know.

Dan





More information about the ACT-R-users mailing list