RAD SUPPORT

From VSI OpenVMS Wiki
Revision as of 06:41, 30 June 2019 by Darya.zelenina (talk | contribs) (Created page with "'''RAD_SUPPORT''' is a system parameter that enables RAD-aware code to be executed on systems that support Resource Affinity Domains (RADs); for...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

RAD_SUPPORT is a system parameter that enables RAD-aware code to be executed on systems that support Resource Affinity Domains (RADs); for example, AlphaServer GS160 systems and Integrity cell-based servers or BL8x0c i2 servers. A RAD is a set of hardware components (CPUs and memory) with common access characteristics.

Bits are defined in the RAD_SUPPORT parameter as follows:

RAD_SUPPORT (default is 207 for Alpha and 10944667 for Integrity servers)

 RAD_SUPPORT (default is 207 for Alpha and 10944667
       for Integrity servers)
       ___________________________________________________

        3   2 2   2 2         1 1
        1   8 7   4 3         6 5         8 7         0

       +-----+-----+-----------+-----------+-----------+
       |00|00| skip|ss|gg|ww|pp|00|00|00|00|0p|df|cr|ae|
       +-----+-----+-----------+-----------+-----------+

 
Bit 0 (e) Enable Enables RAD support
Bit 1 (a) Affinity Enables Soft RAD Affinity (SRA) scheduling. Also enables the interpretation of the skip bits, 24-27.
Bit 2 (r) Replicate Enables system-space code replication
Bit 3 (c) Copy Enables copy on soft fault
Bit 4 (f) Fault Enables special page fault allocation. Also enables the interpretation of the allocation bits, 16-23.
Bit 5 (d) Debug Reserved to VSI
Bit 6 (p) Pool Enables per-RAD non-paged pool
Bits 7-15 Reserved to VSI
Bits 16-23 If bit 4 is set, bits 16-23 are interpreted as follows:
Bits 16,17 (pp): Process = Pagefault on process (non global) pages 
Bits 18,19 (ww): Swapper = Swapper's allocation of pages for processes 
Bits 20,21 (gg): Global  = Pagefault on global pages 
Bits 22,23 (ss): System  = Pagefault on system space pages 

Encodings for pp, ww, gg, ss:

Current (0) allocate PFNs from the current CPU's RAD
Random (1) allocate PFNs using the "random" algorithm
Base (2) allocate PFNs from the operating system's "base" RAD
Home (3) allocate PFNs from the current process's home RAD

If bits 16-23 are 0, the defaults for pp, ww, gg, ss are interpreted as follows:

Process = home RAD 
Swapper = current RAD (also sets home RAD for process) 
Global  = random RAD 
System  = base RAD 
Bits 24-27 If bit 1 is set, bits 24-27 are interpreted as a skip count value (power of 2). Example: If bits 24-27 contain a 3, the skip count is 8. If bits 24-27 contain a 5, the skip count is 32. If bits 24-27 are 0, the default of 16 is used as the skip count.
colspan="3" Bits 28-31 Reserved to VSI

For more information about using OpenVMS RAD features, see the OpenVMS Alpha Galaxy and Partitioning Guide or VSI OpenVMS Version 8.4 New Features and Documentation Overview. RAD_SUPPORT has the GEN attribute. REALTIME_SPTS has the DYNAMIC, GEN, and MAJOR attributes.