%OS_QUANTUM
Number of cycles before OS switches threads.
%MULT_RL
Use multiple ready list for bus-based machines.
%SINGLE_RL
Use one ready list for bus-based machines.
%OS_CALL_PRIORITY
Priority for ihandler thread (handles interrupts on idle processors).
%RESCHEDULE_LATENCY
Time to reschedule a processor on bus-based machines.
%TIMER_PERIOD
Cycles between timer interrupts.
%NOBUSY
Simulate spinning, as opposed to actually spinning in the user thread.
%FATAL
Make all OS errors fatal; this simplifies debugging.
%SEMA_TTSET
Use test-and-test-and-set shared-memory semaphores.
%SEMA_FEBIT
Use full/empty bit semaphores; these always spin and will deadlock if
the holder is another thread on the same processor.
%SEMA_USER
User-defined semaphore routines -- don't include standard versions.
%TTSET_DELAY
Fixed overhead for ttset semaphores; they also use exponential backoff.
%USERMAIN_STACK
Number of stack blocks for the usermain thread.
%CACHE_BITS
Defines the number of sets in the cache.
%LINE_BITS
Defines the number of bytes per cache line.
%SET_SIZE
Defines the number of lines per set (associativity).
%NOCACHE
Do not simulate caches, all non-local accesses go through network.
%YESCACHE
Simulate caches.
%CACHEWITHDATA
Keep copies of data for each cache. This allows them to be incoherent,
but requires far more memory.
%WATCH_CACHE
Record cache-hit ratio events.
%NO_OF_PROCESSORS
The number of simulated processors.
%BUS
Simulates a Bus instead of a Network
%NET
Simulates a network (instead of a bus).
%MAX_THREADS
Maximum number of active threads at any one time.
%MAX_PROC_THREADS
Maximum number of threads active on one processor at any one time.
%WATCH_IDLE
Record Idle/Busy events for processors.
%WATCH_BUS
Record bus events (if using a bus).
%WATCH_NET
Record network events (if using a network).
%WATCH_THREADS
Record active thread events.
%SIM_QUANTUM
Maximum cycles before a user thread must relinquish control to the engine.
%ALEWIFE
Use "completion interrupts" to tell processor when a message send has
completed (asynchronously).
%INTR_LATENCY
Overhead for handling an interrupt.
%FEBITS
Attach full/empty bits to shared-memory locations.
%MAX_SEMAPHORES
Maximum number of semaphores program can allocate.
%MODULE_BITS
Defines the amount of shared memory per module.
%NO_OF_MODULES
Number of memory modules; set to number of processors for network machines.
%MEM_ACCESS_LATENCY
Cycles to read one word of (local) shared-memory.
%CACHE_ACCESS_LATENCY
Cycles to read one word out of the cache.
%WATCH_SEM
Record semaphore events.
%N_DIRECT
Use a direct network.
%N_INDIRECT
Simulate an indirect network (like a Butterfly)
%Ndim
The number of dimensions in a k-ary n-cube network.
%Nk
The number of nodes along a dimension in a k-ary n-cube network.
%N_UNIDIR
Simulate unidirectional network.
%N_BIDIR
Simulate bidirectional network. (broken?)
%NET_EXACT
If set, use an exact packet-based network simulation, otherwise use the
analytical model that is faster but does not simulate hot spots.
%NET_STAGES
Number of stages in an indirect network.
%SWITCH_DELAY
Latency for (wormhole-routed) packet through a switch.
%WIRE_DELAY
Latency for (wormhole-routed) packet along a wire.
%MAX_PACKETS
Maximum number of packets in use at one time.
%MAX_PACKET_WORDS
Maximum length of one packet.
%INTR_PER_PROCESSOR
Space allocated for pending interrupts is this value times the number
of processors. (A given processor may have more than this number.)
%SEND_RECEIVE
Use synchronous send-receive communication style (like the nCUBE).
%STK_BLK_SIZE
The size in bytes of one stack block.
%STK_THRESHOLD
The buffer area at the end of the stack.  If the user thread enters
this area, Proteus will signal a stack overflow error.
%MAX_STKBLKS
Maximum number of stack blocks that can be in use at one time.
%MAX_SIMREQS
Maximum number of outstanding engine requests at one time.
%MAX_INTR_TYPES
Maximum number of interrupt types (indluding IPI's).
%RANDOMREQ
Pseudo-randomly order engine requests with the same timestamp, allowing
nondeterminism by changing the seed (see proteus -help).
%SCHED_FCFS
A first-come, first-served scheduler for runtime threads. 
Threads run until they block or exit, and are kept in order.
%SCHED_PRIORITY
A simple priority-flow scheduler for runtime threads, which exploits
randomization to "fairly" allocate time slices to threads.
%SCHED_SIMPLE
A simple round-robin scheduler for runtime threads. After the quantum
expires, the next thread is chosen. However, they may not be kept in order. 
%WATCH_USER
If this is set, then events will be recorded.
If it is not set, then NO events will be recorded (saves space in events.sim).
%PARAGON
If this is set, modeled network acts more like a Paragon, ie,
hops * (SWITCH_DELAY + WIRE_DELAY) + length * SWITCH_DELAY
