Niagara Configuration

This document keeps track of random niagara configuration options that you can use to tweak Niagara's behavior.

Command Line Meta-Options

A meta-option is an option which is parsed and handled by the underlying niagara startup code. It is not seen by an application. These options control the configuration of the database, allow database formatting, etc.

--format
Have th estartup code format the underlying shore instance
--no-main
Startup the system, but do not run the application niagara_main() function. This is used when you just want to use the meta-options and not perform anything application related
--format-only
Combination of --format and --no-main

Environment Variables

NIAGARA_SM_CONFIG
Specify the path to the configuration file used to configure the shore SM instance which Niagara is using.
NIAGARA_SM_FORMAT
If set to a positive integer value, indicates that the process should format the underlying shore store on startup. This is obsolete; use --format instead.
NIAGARA_STACKSIZE
Specify a different stack size for Niagara threads
IM_LIMIT_INLINE
IM_LIMIT_BACKED
Set the limits for the specified IM adaptive storage format. A positive number is used directly. A negative number is interpreted as a power-of-2; for example -4 -> 2^4 -> 16

Bolo's SimpleCache

I plugged one of my cool hash based caches into Niagara to see if that would improve the performance of the lexicon. Each time an item in the lexicon was looked up, it goes through a shore btree lookup to locate the ID for the term. Btree lookups, even in memory, are fairly expensive due to locks and etc. So, I tried putting my SimpleCache in to have the Niagara layers cache the results from the btree lookup and try to avoid the shore costs.

The end result is that performance wasn't affected terribly. It improved a bit, but not noticably so compared to the rest of the system. It also showed that in-memory btree lookups, even with the lock crabs and diving through the shore btree code, wasn't as bad as I originally though.

IM_LEXICON_CACHE
[Only applies when Bolo's SimpleCache is plugged in] If set and >1, create a SimpleCache for each Lexicon with the specified number of buckets. If set and ==1, create a SimpleCache with the default number of buckets.
IM_LEXICON_CACHE_LIMIT
Specify the maximum number of entries in the SimpleCache for each Lexicon. If not specified the SimpleCache chooses its own default.

Bolo's Home Page
Last Modified: Thu Dec 5 14:24:15 CST 2002
Bolo (Josef Burger) <bolo@cs.wisc.edu>