MPE/iX 5.5 Operating System Limits

that the file limit of each message file is large enough so that the writer processes will not
have to block on an EOF condition.
If the reader processes are faster than the writer processes, then an MQE entry will be
required as soon as a reader attempts to read the message file when it is empty. If the
readers "lead" the writers (ie. always requesting data before it is actually written to the
message file), then the number of MQE entries required will probably be equal to the
number of reader processes for that message file.
In either case above, the number of MQE entries will vary according to how many
processes are using the message file, and what they are doing.
Timer list entries
TLEs are allocated when timeouts are specified (via the FCONTROL intrinsic). TLEs are
deallocated when the timed read or write completes (either normally or when the timer
expires).
If an application does use timed reads and writes, the maximum number of TLE entries is
equal to the number of processes which have the message file open minus one.
Estimating maximum number of message files
The maximum number of open message files on a system is limited by the equation
below:
# OPEN MESSAGE FILES = # FSIPC ENTRIES / (# FSIPC ENTRIES PER FILE)
The number of FSIPC ENTRIES is a constant for all systems (40,000,000). The number
of FSIPC ENTRIES PER FILE will depend on the application(s) used on the system. For
our calculation we will assume the following model:
- Each application using message files has N processes accessing the
files.
- The number of port entries required is N+2 (One per process plus the
two global read/write queues).
- The number of MQE entries is N-1 (All processes should not be blocked
on an EOF condition).
- Each application either uses timed reads and writes uniformly, or it
does not use them at all. If timed reads and writes are used then the
number of TLE entries will be N.