Knowledge Server Parameters

Core Server Parameters

*MASTER-LICENSE-KEY*

This parameter specifies the CYC license key and is configured in the init/jrtl-release-init.lisp file. For a description of the format of a valid CYC license key, see above. Changes to this parameter require a system restart.

*TEMP-DIRECTORY*

This parameter specifies the temporary directory to which the CYC server will write; the default value is “/tmp/”. The parameter should be a string that gives the path to a directory that is writable for the CYC server. The parameter can be changed in any of the system initialization files. Changes to this parameter after system start-up take effect immediately.

Knowledge Base Parameters

The Knowledge Base Units Files

The Knowledge Base (KB) pages into memory on demand from a device-independent binary representation residing on the file system. The set of files that comprise the KB are referred to as the units files. The specification of the units files is controlled by the CYC-LOAD-KB call in the init/jrtl-init.lisp start-up script. The default value is appropriate to the specific release of the CYC installation. This call can only be made at system start-up time, as loading the knowledge base is a one-time-only operation. Changing the units files requires a server restart.

Knowledge Base Units Files Cache Sizes

The CYC server uses a least-recently-used cache management strategy to keep the information most often needed from the units files in main memory for faster access. These caches can be tuned, if necessary, to support smaller memory foot-prints for the KB objects (and consequently, less garbage collection), or larger memory foot-prints (and consequently, potentially higher through-put). All cache tuning settings have to take place before the CYC-LOAD-KB call in the init/jrtl-init.lisp start-up script. Each cache is controlled by two integer values:

  1. a percentage of the total number of entities of that cache’s type within the specific KB’s units files;
  2. a maximum number of entities as the size cap on the cache size

At cache allocation time, the CYC server computes the percentage of the total as a number of entities, looks up the maximum and takes the smaller of the two values as the limit. The following specifies the parameters to set for the available caches and gives their 2011 default values. These default values are appropriate to a wide variety of uses of CYC.

  1. The Assertion cache is tuned through the values
    • *ASSERTION-LRU-SIZE-PERCENTAGE* (default: 16)
    • *ASSERTION-LRU-SIZE-MAX* (default: 600000)
  2. The Constant Indexcache is tuned through the values
    • *CONSTANT-INDEX-LRU-SIZE-PERCENTAGE* (default: 16)
    • *CONSTANT-INDEX-LRU-SIZE-MAX* (default: 20000)
  3. The Deductioncache is tuned through the values
    • *DEDUCTION-LRU-SIZE-PERCENTAGE* (default: 8)
    • *DEDUCTION-LRU-SIZE-MAX* (default: 400000)
  4. The KB HL Supportcache is tuned through the values
    • *KB-HL-SUPPORT-LRU-SIZE-PERCENTAGE* (default: 5)
    • *KB-HL-SUPPORT-LRU-SIZE-MAX* (default: 10000)
  5. The Nart Indexcache is tuned through the values
    • *NART-INDEX-LRU-SIZE-PERCENTAGE* (default: 20)
    • *NART-INDEX-LRU-SIZE-MAX* (default: 30000)
  6. The Unrepresented Term Indexcache is tuned through the values
    • *UNREPRESENTED-TERM-INDEX-LRU-SIZE-PERCENTAGE* (default: 10)
    • *UNREPRESENTED-TERM-INDEX-LRU-SIZE-MAX* (default: 40000)

Changes to these values require a system restart.

*FILE-BACKED-CACHE-BASE-PATH*

This parameter specifies the directory where the CYC server starts in its search for file-backed caches, such as the relevancy cache or the NL generation cache. The parameter should be a string that gives the path to a directory that is readable and searchable for the CYC server. The parameter can be changed in init/jrtl-init.lisp, but it must be changed before the knowledge base units files are specified; any changes later in the system initialization have no effect. The default value is appropriate to the default CYC installation setup. Changes to this parameter require a system restart.

*SUSPEND-SBHL-TYPE-CHECKING?*

This parameter is configured in init/parameters.lisp and has the possible values T or NIL, with NIL as the recommended default. Changes to this parameter after system start-up take effect immediately. Agenda Parameters The following parameters control the behavior of the Agenda, a helper thread inside the CYC server that performs knowledge-related tasks such as saving out transcripts, monitoring activity on the transcript server, and updating the knowledge base in a non-immediate mode. These parameters are configurable in the init/parameters.lisp configuration file.

*CONTINUE-AGENDA-ON-ERROR*

Either T or NIL. If NIL, agenda errors will cause the agenda to halt and display the error condition until explicitly told to continue from the Agenda Process page in the CYC browser.  If T, errors will be automatically skipped (but logged; see below). At server runtime, the parameter can be conveniently changed from the Agenda Process page in the CYC browser. Changes to this parameter take effect immediately. Logging Agenda Errors The Agenda is able to log the errors that it encounters. In addition to enabling this mode of operations from the Agenda Process page in the CYC browser, the following programmatic ways can be used, for example in init/release-specific-init.lisp. (clet ((PATH “...”)) (set-agenda-error-mode :log) (set-agenda-log-file PATH)) where the string value for PATH should be the name of a local file. Changes to these parameter take effect immediately.

*START-AGENDA-AT-STARTUP?*

Either T or NIL.  If NIL, the Cyc agenda is not started at system start-up, but can be enabled later by the user via the Agenda Process page in the CYC browser.  If T, the agenda is enabled at start-up. The parameter is only consulted at system start-up time. Transcription Parameters CYC offers the possibility of maintaining transcripts of the modification of the CYC server, saving and loading or even sharing the operations via the transcript format. In addition, users of the CYC system can collaborate on KBs via the Transcript Server; for more details, see the relevant section below. CYC images use the following parameters in init/parameters.lisp to control transcription behavior as well as the interactions with the transcript server.

*AUTO-CONTINUE-TRANSCRIPT-PROBLEMS*

Either T or NIL, recommended setting is T. If the parameter is T, then reading an invalid transcript operation (whether from a transcript file or from a socket stream to the transcript server), will cause the operation to be skipped; if set to NIL, then the thread will go into an error break, possibly pausing for user intervention. This value can be changed at run time and will have immediate effect.

*DONT-RECORD-OPERATIONS-LOCALLY*

Either T or NIL, recommended setting is NIL. This setting is most relevant when no transcript server is used--in which case the master transcript for a KB is a local file. If set to NIL, then operations are written to a local transcript, regardless of whether the operations are also written to the transcript server, a local master transcript file; if T no local copy of the operations is kept. This value can be changed at run time and will have immediate effect.

*MASTER-TRANSCRIPT-LOCK-HOST*

Either NIL, or a valid host reference, encoded as a string. This parameter is only used if *USE-TRANSCRIPT-SERVER* (see below) is set to T.  If so, then this parameter should be set to the either the IP address or the network host name of the site’s Transcript Server. This value can be changed at run time and will have immediate effect.

*MASTER-TRANSCRIPT-SERVER-PORT*

Either NIL, or a valid TCP/IP port number, i.e. an integer between 0 and 65535. This parameter is only used if *USE-TRANSCRIPT-SERVER* (see below) is set to T.  If so, then this parameter should be set to the port number of the site’s Transcript Server. This value can be changed at run time and will have immediate effect.

*REALLY-COUNT-TRANSCRIPT-OPS*

Either T or NIL, recommended setting is NIL. This setting is only relevant when no transcript server is used (i.e. *USE-TRANSCRIPT-SERVER* is NIL; see below)--which case the master transcript for a KB is a local file. The parameter controls whether a precise count of operations is required, which means the entire file must be read, or an estimate is sufficient, based on knowledge of the size of an average transcript operation and the size of the file. This value can be changed at run time and will have immediate effect.

*STARTUP-COMMUNICATION-MODE*

Possible values are :TRANSMIT-AND-RECEIVE, :RECEIVE-ONLY, :ISOLATED, :DEAF, :DEAD, recommended setting is :DEAF. This is the communication mode at system start-up time. See the communication mode help accessible from the Comm link in the CYC browser for more details on these values.. This value can be changed only before system start-up time and will have no effect thereafter.

*USE-TRANSCRIPT-SERVER*

Either T or NIL. If T, then writing to the master transcript will be controlled by the Transcript Server, which will need to be installed at your site.  This value must be set to T if multiple instances of CYC are running from the same installation directory.  If NIL, then CYC will read and write to a local master transcript file without regard for other processes doing the same. This value can be changed at run time and will have immediate effect.