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