MPE/iX 5.5 Operating System Limits AIFs: Item 1 2 3 4 5 Limit 2048 32768 32768 8144 200 Description AIF User Port per System AIF Port open senders AIF Port open receivers AIF Port message length(User) Installed Vendor ID’s Resource Table AIF Ports ID Table AIF Ports Open Table AIF Ports Open Table AIF Port Message Table AIF Known Vendor Table (1) AIF Ports id table The Architected Interface Ports facility has it's own KSO_AIF_PORTS ($123,#291) to keep track of user ports.
Table Management Header Message Pool ( Table Management Body ) This object is restricted to a 4MB size and is allocated out of SR6/SR7 space. It is very important for the application developer to use this space wisely. Most system data structures are allocated out of SR6/SR7 and this space is limited to 2 gigabytes.
The Code Segment Table (CST) is used to manage Compatibility Mode (CM) code segments which are a part of a Segmented Library (SL). There are 255 entries reserved for physically mapped segments. Physically mapped segments are reserved for use by the system. These typically reside in SL.PUB.SYS. The remaining entries are available for user library segments. These are referred to as logically mapped segments. A CST entry is allocated whenever an SL segment is loaded for the first time.
how many global DSTs will be required on a particular system. Below are some examples of system DSTs: - 63 Reserved system DSTs (eg. FMAVT, LOG TABLE, etc) Up to 118 File System Control Block Tables Dynamically allocated system DSTs (eg. BIPC DST, LOG BUF DST, LSTX) CM Stacks for system processes (eg. SESSION, JOB, PROGEN) Each Job uses 4 DSTs and each Session uses 5 DSTs to get to the Command Interpreter prompt. Running additional programs will require additional DSTs.
- The The The All 500 system has 1000 sessions logged on via DTCs. system has 700 sessions logged remotely via virtual terminals. system has 50 jobs logged on. jobs and sessions are active. global system DSTs.
NOTE: Although it is possible to mount this number of disk drives on a system, putting them all in a single volume set with a heavy transaction load may cause problems. Please see your systems consultant. (3) 3 digit ldev numbers In MPE iX 5.5 the maximum number of devices is limited to 4679. This value will also be the maximum LDEV number tolerated by NMMGR and SYSGEN. The maximum number of terminal devices connected via DTCs is 4649, which leaves 30 empty device numbers for other peripherals.
The new native mode Writer ID Table (KSO227), contains a maximum of 16,384 entries. Each concurrent writer of a message file requires one entry. As a result a maximum of 16384 processes can concurrently open an IPC file with write access. (2) Fs gdpd table - KSO222 Every file that is opened gets a Global Data Pointer Descriptor (GDPD) entry. Most GDPD entries are allocated within the Process Local File Descriptor (PLFD) table. Each PLFD entry is paired with a GDPD entry within the PLFD table.
The FSIPC obeject is created when the files system is intialized during system bootup. The FSIPC object can contain a maximum of 40,000,000 (40 million) entries. The number of entries required to open a file depends on several factors explained below. There are four different types of entries in the FSIPC object: message queue entries (MQE), timer list entries (TLE), port entries, and free blocks. These entries are described in more detail below.
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.
For applications which do not use timed reads and writes, the number of FSIPC ENTRIES PER FILE will be (N+2)+(N-1) or 2N+1. For applications which do use timed reads and writes, the number of FSIPC ENTRIES PER FILE will be (N+2)+(N-1)+N or 3N+1. Let's assume that ALL the applications are simple applications with two processes accessing each message file, (N = 2), and that the applications are not using timed reads and writes.
now supports 4679 devices. The entry size is 5 CM words. Subentries do not exist since 4.7. The XDD has one 5 CM word header for the table itself. This contains various linkage information, as well as information about the current number of "sectors" allocated. There is an entry for each LDEV on the system. Non-sharable devices which include all terminals (both nailed and non-nailed), virtual terminals (VT), non-spooled printers and tape drives can have a reallocation entry.
A unique User Logging process is created for each active Log ID. Each User Logging process has a LOG BUF DST associated with it. User Logging processes are started using the :LOG command with the START or RESTART option (see the discussion of User Logging Processes - LOG TABLE - in this section). The maximum number of processes logging to a single User Logging ID is configurable in SYSGEN (log section, ulog command, NLOGPROCS parameter). The maximum value for NLOGPROCS is 1140.
Release 5.5 supports a maximum of 2700 active logons. The term "active" implies that the job or session is running a program. Additionally, the process limit has increased to 8190. For planning purposes, you should allow 100 processes for the operating system's use (this is not an exact number, but should be enough). This leaves 8090 processes for jobs and sessions. Each direct logon requires a minimum of 2 processes; a JSMAIN and a CI.
Concurrent process limit A remote logon to another MPE/iX system, (logon via a Virtual Terminal), requires 3 processes on the host system and 3 on the remote system. There will be a JSMAIN, a CI, and a VTSERVER process on both sides. If the user runs a simple program (which does no process handling), then there will be a total of 4 processes per logon. Release 5.5 supports 2000 Virtual Terminal (VT) sessions. With 1250 active VT logons, it is estimated that 8100 processes are used ((2000*4)+100).
The table above takes into account VTSERVER processes created for the purpose of initiating a remote logon. Using additional network services may require additional server processes as shown in the table below. For example, if the user is using Network File Transfer (DSCOPY), there will be an NFT server created on both sides. Also, a VT session must be established or the auto logon feature must be used.
Item 1 1 2 3 4 5 5 6 6 Limit 2047 255 255 Description CM Code Segments (Loaded CM Libraries) CM Code Segments (Physically Mapped) CM Code Segments Per Loaded Program File Resource Table Code Segment Table Code Segment Table Code Segment Table Extension 519 Loaded Unique CM Program Files CST Block DST (See text) Loaded CM Programs (& LOADPROCs) LST DST ~22771 Loaded Unique NM Program Files (No XLs) Loaded File Table ~90 Loaded Unique NM Pgms (1 Unique XL/PGM) Loaded File Table 88 NM User Libraries per Pro
program that is loaded or :ALLOCATEd. Each CM program can reference up to 255 logically mapped segments. Logically mapped segments include those that are a part of the program file and any user SL segments that are referenced. Each logically mapped segment that is a part of the program file will use an entry in the processes' CSTX. Logically mapped user SL segments will count toward the maximum number of 255 logically mapped segments, but will use CST entries instead of CSTX entries.
Garbage System SL File Other SL File Program File loaded)+1+ Loading Waiter Sharer Extension [in LSTX] : : : : : : : : min #32) LOADPROC Master: [in LSTX] size of free area #41+3*(number of loaded segments+#10) #25+3*(number of loaded segments+#10) #13+#35+#19*(number of group/pub SLs (number of loaded program/SL segments) 6 8 7 8+(procedure name length)+1+#35+ #19*(number of group/pub SLs loaded)+1+ (number of referenced program/SL segments, #38+2+2*(number of group/pub SLs loaded)+2+ 2*(number of load
LFT FORMULA (P x (40 + 44)) + (L x (40 + (44 x N))) <= 2003928 SYMBOLS ----P = The number of unique program files L = The number of unique library files N = Maximum number of SOMs in the library. The default is 500. (6) Pfl - kpo018 The semantic of the Process File List (PFL) has been redefined in the following ways: First, the term is used for an object that holds the original PFL and a Process Data Dictionary (PDD).
N = The average number of SOMs per Library. The default set by the MPE/iX Link Editor is 500.
Using 90 libraries plus the program file, or 91 executable files, and assuming 10,000 shared global data exports, we can calculate the average number of data imports per data export before exhausting all the space available in the PFL object.
Item 1 Limit 16384 Description Timer Entries Resource Table Timer Table (1) Timer table Timer entries are used throughout the system to manage events. Jobs, sessions, file system, i/o and networking subsystems all generate timer requests. Additionally, users can utilize intrinsics such as FREAD for timed reads or PAUSE to request a timer entry. The Timer Globals (KSO 80) contains a pointer to the timer table. The maximum number of timer entries is 16384.
(2) MM IO notify object - KSO008 The MM IO Notification Table contains one entry per page for each io request on that page (a page can be requested by several processes at a time) The entry is added when a process needs to be notified of an I/O completion. It is added before the I/O is sent to HLIO. It is deleted when the process has been notified or when we determine that a process need not to be notified for a particular page.
MPE/iX maintains the process locality lists in the MM locality table. These lists are deleted when a process is launched. But when a process releases a sharable object that is also linked into other processes locality lists, MPE/iX needs to remove from all these locality lists the entries that correspond to this object.
(1) Pcb DST - DST003 There is one entry in the PCB (Process Control Block) table for every process on the system. The maximum number of entries in the PCB is 5460. The PCB indirectly limits the number of jobs/sessions (remote or local) you can have on your system. For more information on how to calculate the maximum number of jobs/session see the Job/Session section of this document. Since 4.
Entries are added to the Input SPFDIR whenever an input spoolfile is created. This may be due to accessing an input spooled device or typing in the STREAM command. Entries are deleted whenever access to the input spoolfile is complete or when the input spoolfile is deleted. The Input SPFDIR limits the system to just over 9900 input spoolfiles. NOTE: the actual number of input spoolfiles may be less than 9900 due to other system limitations. One of these is disc space.
the :ALTGROUP or :ALTACCT command) then the number of output spoolfiles may be less than 9900. In addition the total amount of disc space available on your system may limit the number of output spoolfiles. (3) Spooler info table - KSO285 There is one Spooler Information Table (SPIT) entry allocated for each active spooler process (input or output). The SPIT limits the number of spoolable devices to the maximum number of logical devices allowed on the system. For release 5.5, this is 4679.
(2) Mounted vol set table - KSO206 The MVST table is created at system boot time during the volume management initiation process. A new entry is added to the MVST when a master volume is initialized or mounted on the system. The entry will be added to the first free entry in the table, and all the fields in entry will be initialized with information about the mounted volume set on the system. The first entry is MPEXL_SYSTEM_VOLUME_SET.
(1) Extent b-tree table - KSO055 Each entry in the Extent B-tree is a node, which can describe up to eight extents. If an object contains more than eight extents, it will use additional entries (or nodes). Every non-resident object (with fixed access rights), will obtain one or more entries in the extent b-tree when it is mapped in (ie. opened). See the NOTE: below for a description of access rights. This table limits the maximum number of open non-resident objects with fixed access rights to 246723.
two types of objects that have variable access rights, (NM program files and NM library files), it is very unlikely that this limit can be reached. This table also limits the maximum number of extents for open non-resident objects with variable access rights to 64520. It is unlikely that this maximum number could be obtained since it would imply that each object has a multiple of eight extents and the tree is completely balanced and full.
The VSOD contains one entry for every transient object on the system. Transient objects are defined as objects that are required during the life of a process, that have disc space allocated on their behalf, and are released when the process terminates. The VSOD/GUFD table contains one entry for every permanent object (ie. file) that is mapped in (opened) or that has recently been mapped in (on the LRU list). Refer to the discussions on the VSOD and VSOD/GUFD tables for more details.
VSOD table, kso #255). All non file transient objects obtain an entry in the VSOD table when they are mapped in (or created). When the object is mapped out, the entry is released. There is no LRU list for the VSOD, as there is for the the VSOD GUFD. This table limits the number of transient objects to 399457. Each entry in the VSOD table, representing a non-resident object, will have a pointer to one node in the Extent Btree or Extent AR B-tree table.
4 ~48000 5 255 Copy forward user transactions per log System Logs Recovery XM Checkpoint Mechanism XM Logfile/Volset Restrictions (1) XM locks When a XM transaction is started a control block lock is done on the XM protected object. Currently the number of XM cb_locks per transaction is limited to 10. (2) Open files during recovery At the recovery time, the maximum number of files that can be opened is set to 4096.
At checkpoint time, all active transactions are examined. Transactions spanning one checkpoint will be included in the checkpoint record; transactions spanning two checkpoints will be copied forward. If a long transaction exists, a temporary object will be created to hold the physical address of all chained log records for long transactions. The physical log address list will be sorted and then be moved to the next half of log file in ascending order.
Telnet/iX Limits Within each functional area, one or more limits are stated along with the system table or resource which imposes the limit. Using the number that corresponds to the particular limit you are interested in, you may refer to a written description of that resource which is also included within the section. If you see a '~' in front of a stated limit, this implies that the limit is variable or approximate. Generally, limits tagged with a '~' character are derived based on a (sometimes) formula.
file system recognizes the descriptor is sockets file type descriptor and then let NWTM do the read/write operation as requested. Each socket that is bound to a Network protocol, has a unique NWTM entry. Thus the max.number of NWTM entries limits the number of sockets that could be concurrently used by the applications on the system. The max.number of NWTM entries ,as of MPE 6.0 ,is # MAX_NUM_TYPE_MGRS 5632 Notice that this value is significantly lower than the MAX_NUM_SOCKET_RECORD .
an addressable access point for the establishment of TCP connections. TCP sockets are refered to as SAP.(Service Access Points) TCP IP/address/network connection table #TCP_MAX_NETWORKS = 11 TCP_MAX_NETWORKS is a constant which defines the maximum number of simultaneously active networks supported by TCP. # MAX_PATH_RETRIES = 20; This indiactes the maximum number of attempts to resolve a path to reach the specified destination,before TCP gives up and throws out path resolution error.
NS global tables 1) Session ID Table (SID) 2) Process Table (PTAB) 3) Process Table Extension (PTAB EXT) 4) Dsline Table 5) DSL DST Table 6) NSSTATUS Data Structures 7) Network Services Table (NEST) 8) Other dependencies a) TCP Connections b) Sockets c) Ports d) Ports Dictionary. e) NM IOWAIT COMPLETORS f) Max ldev's 9) Effect of breaks & subsystem breaks. 1) Session id table(sid) File : S14SNSCC One table per node.
Table size determined by InitSidTableSize = 3000 MaxSidTableSize = 30000 (Max = 32764) IncrSidTableSize = 1000 SidHeaderLength = 23 SidEntryLength = 9 Total number of = (MaxSidTableSize - SidHeaderLength)/SidEntryLength entries in SID table Current max. entries = 3330 Using the max. XDS size of 32764 max entries possible is 3637. This means info. for 3637 sessions(dsline & remote) can be stored int SID table. Procedure AS'ENV'CREATE'SID'TABLE creates SID table for the system.
Current max entries = 15888 --------------------------Max processes supported on system currently is 8190.Therefore no changes are required for PTAB. 3) Process extension table ( ptab ext) File : S15SNSCC Procedure AS'Glob'Init allocates space for this table using max dst size (32764) : extn'dst := HPGetDataSeg ( as'memory'size,as'memory'size, objcl'dcl'ss'global,vsdomain'global, releaseable); ----------------------------Max PTAB Ext entries = 10,000.
There is one global DSL DSTs Table for a node. It is created during system initialization and exists as long as the system is up. There will be an entry in the table for each possible process on the system. Every session on the system which creates a DSLINE table, stores its DSLINE table DST# in its root process's PIN entry of this table. Accessed through AS Global Data Segment.
a) TCP Connections : Require additional 600+ connections. Number of TCP connections currently available : 6000+ b) Sockets : Require additional ~600 sockets. c) Ports : Each VTSERVER process on a system has the following ports : 1) Request port (CM Port, VTTM only) 2) VTSERVER main port( IOWAIT Port). (CM Port, VTTM & VTAM) 3) LDM port (Procedure server : vt_ldm, messages to LDM, VTAM only). 4) LDM reply port ( Messages from LDM to AM,VTAM only).
e) Iowait completors One NM_IOWAIT_COMPLETOR for each VTSERVER process. There is an IOWAIT port procedure server and procedure name "iowait_port_server".This is bound to a PORT wait entry. DST & other information Max DST's available on the system = 16,383 Max DST size = 32767( Value of 32764 is currently used in NS code) Max Processes on the system = 8190 Max NM IOWAIT COMPLETORS = Dependent on MAX_CMPORTS f) Max ldev's : Requirement is 1 ldev for each remote session. Max ldev's available on 6.
Nodal manager Nodal Manager is a Module in DTS Subsystem. This provides routing information for connection establishment and implements the the DCProbe Protocol. It provides nonnailed device capability for TIO and PAD. NDM also provides the routing information for DTCM packets and inbound TIO packets. It maintains lists to perform these tasks. The Nodal Manager(abbr. NDM) is a LLIO manager and it therefore has a Port Data Area(abbr. PDA) of a fixed size. The NDM also has an auxiliary data area(abbr.
Although it is possible to configure more than 2500 terminal I/O devices, neither the inactive sessions nor the active sessions should exceed 2500. Buffers: Two buffer pools are created during system configuration One for Inbound and the other for Outbound per system. Inbound Buffers Max = 400(Performance Limit) Two 256 bytes buffers per ldev will be used.
2. No. of tcp connections supported Telnet runs on top of tcp. Each Telnet connection requires one TCP connection 3. No. of tcp sockets One socket record is associated with every telnet connection. 4. No. of sessions supported One session will be created for one connection. 5. No. of PTID inbound buffers = 2048. Each connection will have one PTID inbound buffer cached. Thus, at most there can be 2048 active Telnet connections at any one time. This concludes the MPE/iX 5.5 Software Limits Documentation.