gtpm2m2kMigration Guide: Program Update Tapes

Infrastructure for 32-Way Loosely Coupled Processor Support (APAR PJ27387)

The following section discusses the migration considerations for infrastructure for 32-way loosely coupled processor support.

Prerequisite APARs

See the APEDIT for APAR PJ27387 for information about prerequisite APARs.

Functional Overview

Infrastructure for 32-way loosely coupled processor support provides structural changes needed to support the future growth of application workload beyond the maximum of 8 loosely coupled processors. This support includes:

Note:
Program update tape (PUT) 13 does not remove the constraint of a maximum of 8 loosely coupled processors. Additional functions are required to complete 32-way loosely coupled processor support.

Architecture

The following sections discuss the architecture for the modifications included in the infrastructure for 32-way loosely coupled processor support:

Internal Event Facility (IEF)

Applications use mask (MSK) type events with interprocessor communications (IPC) to track communication responses from other processors in a loosely coupled complex. This mask is constrained to 16 bits, representing the processor ordinal number bit positions.

IEF enhancements remove this constraint by providing an event mechanism called the list-type event. The application processor uses the list-type event to track communication responses from as many as 32 loosely coupled processors.

The IEF application programming interface (API) functions are changed to support the list-type event mechanism. These APIs allow you to create or modify a list of data items. The APIs provide the ability to create, query, wait, and post the list-type event.

The following data is included in the list-type event:

POSTC macro processing updates the list data by posting the event list item. Using the item data as a key, items from the POSTC macro list are posted to the corresponding items in the event list. When all items are posted, the event is marked completed. When an item is posted with an error, the supplied error code is moved into the error field of the posted item. Unlike other error posting, error posting to lists does not cause the event to be completed unless all items in the list are posted. A gross error indicator is set in EVNBKE if any of the items in the list are error posted. You must interrogate the returned list to determine which items in the list have errors. If the event times out, the data list is passed back. You must interrogate the data list to determine which items have not been posted.

The GENLC macro produces data lists that are used for events. See TPF General Macros for more information about the GENLC macro.

Communications

Some TPF communication functions, such as Airlines Line Control/Synchronous Link Control (ALC/SLC), Systems Network Architecture (SNA) networking, and the TPF message router store their control information in fixed file records. These records are allocated as processor shared records and are logically associated with individual processors in a loosely coupled complex using an every-nth-ordinal numbering scheme. This structure requires that you reorganize these shared file records whenever additional processors are added to the loosely coupled complex.

With infrastructure for 32-way loosely coupled processor support, processor communication fixed file records are defined in the FACE table (FCTB) as processor unique. This allows you to define and build records for new processors in the FCTB without disturbing existing processor communication records.

The following are the tables that are affected by this change:

Infrastructure for 32-way loosely coupled processor support expands existing fields in the node control block (NCB), RCAT initialization record (RCIT), and root dynamic load record (IDSDLR).

The FACE table generator (FCTBG) program and header are changed to add validation for the processor unique record types (#RV1RU, #RV2RU, #SATRU, #SRTRU, #SC1RU, #SC2RU, #CCBRU, #WGTRU, and #RCATU). Validation for the processor shared record types (#RV1RI, #RV2RI, #SATRI, #SRTRI, #SC1RI, #SC2RI, #CCBRI, #WGTRI, and #RCATR) is removed. You must generate a FACE table (FCTB) containing the processor unique fixed file record types.

Processor Resource Ownership Table

The processor resource ownership table (PROT) has been expanded to use additional #PRORI ordinals for tapes and utilities. Selected E-type loader segments have been modified to remove the 8-way loosely coupled constraint.

Operating Environment Requirements and Planning Information

There are no changes.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

Table 867 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 867. Changes to Build Scripts for Infrastructure for 32-Way Loosely Coupled Processor Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
COMXBS DLM Changed Changed the tpf_sawnc() function to a general purpose API.
CTALBS DLM Changed Added the tpf_genlc() and tpf_sawnc() library functions.

Dynamic Load Module (DLM) Stubs

Table 868 summarizes changes to the dynamic load module (DLM) stubs. This information is presented in alphabetic order by the name of the DLM stub. See TPF Application Programming for more information about the DLM stubs.

Table 868. Changes to Dynamic Load Module (DLM) Stubs for Infrastructure for 32-Way Loosely Coupled Processor Support

DLM Stub New, Changed, or No Longer Supported?
CEL2 Changed
CLEG Changed

General Use C/C++ Language Header Files

Table 869 summarizes the general use C/C++ language header file changes. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

General use means these header files are available for your use.

Table 869. Changes to General Use C/C++ Language Header Files for Infrastructure for 32-Way Loosely Coupled Processor Support

C/C++ Language Header File New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$fva0.h Changed` Yes
tpfapi.h Changed Yes - You must recompile any members of the COMX library (source file) that call the tpf_sawnc function and link edit the COMX library again.

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

Table 870 summarizes the general use C/C++ language header file changes that are for IBM use only. This information is presented in alphabetic order by the name of the general use C/C++ language header file.

Table 870. Changes to Implementation-Specific C/C++ Language Header Files (IBM Use Only) for Infrastructure for 32-Way Loosely Coupled Processor Support

C/C++ Language Header File (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
i$fsdd.h Changed Yes

Library Interface Scripts

Table 871 summarizes changes to the library interface scripts used by the library interface tool and the build tool. This information is presented in alphabetic order by the name of the library interface script.

Table 871. Changes to Library Interface Scripts for Infrastructure for 32-Way Loosely Coupled Processor Support

Library Interface Script New, Changed, or No Longer Supported? Description of Change
CTALXV Changed Added library vectors for the tpf_genlc() and tpf_sawnc() C functions.

Library Members (Object Files)

Table 872 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 872. Changes to Library Members (Object Files) for Infrastructure for 32-Way Loosely Coupled Processor Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CEVNQC CTAL Changed Assembler Added list-type event support to the evnqc function.
CEVNTC CTAL Changed Assembler Added list-type event support to the evntc function.
CEVNWC CTAL Changed Assembler Added list-type event support to the evnwc function.
CGENLC CTAL New Assembler` Added support for the tpf_genlc function.
CPOSTC CTAL Changed Assembler Added list-type event support to the postc function.
CSAWNC CTAL Changed Assembler Added list-type event support to the tpf_sawnc function.

Link-Edited Modules

There are no changes.

Members (Object Files)

There are no changes.

Object Code Only (OCO) Stubs

Table 873 summarizes changes to stubs that are object code only (OCO) only. This information is presented in alphabetic order by the name of the OCO stub.

Table 873. Changes to OCO Stubs for Infrastructure for 32-Way Loosely Coupled Processor Support

Object Code Only (OCO) Stub New, Changed, or No Longer Supported?
@@GENLC New

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

Table 874 summarizes the copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 874. Changes to Copy Members for Infrastructure for 32-Way Loosely Coupled Processor Support

Copy Member Type CSECT Where Copy Member Is Located DLM Where CSECT Is Located New, Changed, or No Longer Supported? Description of Change
CAAA Control Program CCNUCL Not Applicable Changed Added the GENLC macro to the control program directory.
CCEB Control Program CCENBK Not Applicable Changed Externalized the POSTC interface with the POSTC macro.
CIEF Control Program CCCIEF Not Applicable Changed Added macro support for the GENLC macro service and list-type events.
CJIV Control Program CCRCSC Not Applicable Changed Externalized the POSTC interface with the POSTC macro.
CPSF40 Control Program CCCPSF Not Applicable Changed Added the new fixed file record types.

Fixed File Records

Table 875 summarizes fixed file record changes. This information is presented in alphabetic order by the name of the fixed file record.

Table 875. Changes to Fixed File Records for Infrastructure for 32-Way Loosely Coupled Processor Support

Fixed File Record New, Changed, or No Longer Supported? Description of Change
#CCBRU New Added the processor unique fixed file record type.
#PRORI Changed Added 3 ordinals for a total of 8 ordinals.
#RCATU New Added the processor unique fixed file record type.
#RV1RU New Added the processor unique fixed file record type.
#RV2RU New Added the processor unique fixed file record type.
#SATRU New Added the processor unique fixed file record type.
#SC1RU New Added the processor unique fixed file record type.
#SC2RU New Added the processor unique fixed file record type.
#SRTRU New Added the processor unique fixed file record type.
#WGTRU New Added the processor unique fixed file record type.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

Table 876 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 876. Changes to Data Macros for Infrastructure for 32-Way Loosely Coupled Processor Support

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
ICCB Changed No
IDSDLR Changed No
IDSEVN Changed Yes
ISCB Changed No
NC0CB Changed No
RC0AT Changed No
RV1VT Changed No
RV2VT Changed No
SA0AT Changed No
SR0RT Changed No
WG0TA Changed No

General Macros

Table 877 summarizes the general macro changes. This information is presented in alphabetic order by the name of the general macro. See TPF General Macros for a complete description of all general macros.

Table 877. Changes to General Macros for Infrastructure for 32-Way Loosely Coupled Processor Support

General Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CRESC Changed No
EVNTC Changed No
EVNQC Changed No
EVNWC Changed No
POSTC Changed No
SAWNC Changed; moved from TPF System Macros No
GENLC New No

Selected Equate Macros

Table 878 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 878. Changes to Selected Equate Macros for Infrastructure for 32-Way Loosely Coupled Processor Support

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CZ1SE Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 879 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 879. Changes to SIP Skeleton and Internal Macros for Infrastructure for 32-Way Loosely Coupled Processor Support

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
GENR Changed
SPGLB Changed
SPPGML Changed
SPRIAT Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 880 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 880. Changes to SIP Stage II Macros for Infrastructure for 32-Way Loosely Coupled Processor Support

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

Table 881 summarizes system macro changes. This information is presented in alphabetic order by the name of the system macro. See TPF System Macros for a complete description of all system macros.

Table 881. Changes to System Macros for Loaders Enhancement for TPF Assembler Debugger

System Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
SAWNC No Longer Supported; moved to TPF General Macros No

System Macros (IBM Use Only)

Table 882 summarizes system macro changes that are for IBM use only. This information is presented in alphabetic order by the name of the system macro.

Table 882. Changes to System Macros (IBM Use Only) for Infrastructure for 32-Way Loosely Coupled Processor Support

System Macro (IBM Use Only) New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
IBMSVC Changed Yes

Segments

Table 883 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 883. Changes to Segments for Infrastructure for 32-Way Loosely Coupled Processor Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
ACPL Core Image Restart Assembler Not Applicable Changed Replaced the hardcoded 8 loosely coupled processor limit with SIP variable.
ALDR Offline Assembler ALDR Changed Expanded the PROT table for 32-way loosely coupled processors.
CDL1 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CDL7 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CDLB Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CGT2 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CGT5 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CGT8 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CGT9 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CHKA Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CHKB Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CHKC Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CHKD Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CHKR Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CNPG Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPH Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPJ Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPK Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPL Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPM Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPP Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CNPQ Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CONN Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
COTB Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
COTU Real-Time Assembler Not Applicable Changed Used additional PROT ordinals.
CSG1 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSG3 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSG4 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSG5 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSG6 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSG8 Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSGA Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSGL Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSPA Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSPB Real-Time Assembler Not Applicable Changed Added processor unique fixed file record types.
CSS8 Real-Time Assembler Not Applicable New Added the interprocessor communications (IPC) send/receive program for record cache support.
DCR2 Offline DCRS Changed Added system error number equates to the cross-reference list.
FTER00 Offline C Language FCTBG Changed Added processor unique fixed file record types.
FTVA02 Offline C Language FCTBG Changed Added processor unique fixed file record types.
FTVA03 Offline C Language FCTB Changed Added processor unique fixed file record types.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

The following section summarizes functional and operational changes. This information is presented in alphabetic order by the functional or operational change.

See Appendix A, "PUT 2-15 Interface Changes by Authorized Program Analysis Report (APAR)" for a summary of functional and operational changes by APAR.

Commands

There are no changes

Messages and System Errors

Table 884 summarizes message (offline and online messages) and system error changes.

The message IDs or system error numbers are listed in numeric order preceded by their alphabetic prefix. Some offline and online messages do not have a standard message ID. For these, the messages are presented in alphabetic order based on the initial message text; or for those messages that begin with variable information, the initial message text that follows that variable information. See Messages (System Error and Offline) and Messages (Online) for a complete description of all messages and system errors.

Attention: Changes to offline messages, online messages, and system errors may impact any automation programs you are using in your complex.

Table 884. Changes to Messages and System Errors for Infrastructure for 32-Way Loosely Coupled Processor Support

Message ID or System Error Number Message Type New, Changed, or No Longer Supported?
0009E7 System Error Changed
000E12 System Error New
000E13 System Error New
000E14 System Error New
FCTB0101E Offline Changed
NOPL0048E Online No Longer Supported
NOPL0049E Online No Longer Supported
NOPL0148E Online New
NOPL0149E Online New
RTLP0003E Online No Longer Supported
RTLP0005E Online No Longer Supported
RTLP0033E Online New
RTLP0055E Online New

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

You must run the FACE table generator (FCTBG) to rebuild the FACE table. See Migration Scenarios and TPF System Generation for more information.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 885 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 885. Changes to TPF Publications for Infrastructure for 32-Way Loosely Coupled Processor Support

Publication Title Softcopy File Name Description of Change
TPF ACF/SNA Data Communications Reference GTPSNR07 Replaced shared processor fixed file record types #CCBRI, #SC1RI, and #SC2RI with processor unique record types #CCBRU, #SC1RU, and #SC2RU.
TPF ACF/SNA Network Generation GTPACF0C Updated the considerations for defining fixed file records for SNA structures.
TPF C/C++ Language Support User's Guide GTPCLU0D Added the EVENT_LOT parameter to the evntc, evnqc, evnwc, and postc C functions, and added tpf_genlc and tpf_sawnc as new C functions.
TPF Data Communications Services Reference GTPDCR04 Updated the message routing package with new and changed fixed file record types (FACE IDs).
TPF General Macros GTPGEN0C Added the LIST parameter to the EVNTC, EVNQC, EVNWC, and POSTC macros, and added the LINFND parameter to the POSTC macro. Added the GENLC macro. Added the SAWNC macro from TPF System Macros and added the LIST parameter.
TPF Main Supervisor Reference GTPMSR07 Added new fixed file record types. Updated the descriptions of the #PRORI and #IDOTX fixed file records with the increased number of ordinals.
Messages (System Error and Offline) and Messages (Online) Not Applicable Updated with information about messages and system errors that were added, changed, or no longer supported for the infrastructure for 32-way loosely coupled processor support.
TPF Migration Guide: Program Update Tapes GTPMG203 Updated with the migration considerations for the infrastructure for 32-way loosely coupled processor support.
TPF System Generation GTPSYG0D Updated with information about the commands that were added or changed for infrastructure for 32-way loosely coupled processor support.
TPF System Macros GTPSYS0D Moved the SAWNC macro to TPF General Macros.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

Support for list-type events has been added to the following general macros:

The LINFND parameter was added to the POSTC macro.

Added the GENLC macro toTPF General Macros.

See TPF General Macros for more information.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

Because the new #PRORI ordinals are not used until the existing records are filled to capacity, enter the ZDADD command to verify that ordinals 5, 6, and 7 are included in the FACE table. See TPF Operations for more information about the ZDADD command.

Migration Scenarios

Use the following procedure to install infrastructure for 32-way loosely coupled processor support:

  1. Install program update tape (PUT) 13 on your TPF 4.1 system.
  2. Update the SIP RAMFIL macro input statements to the FACE table generator (FCTBG):
    1. Update the statement for FACE type #PRORI fixed file record to define 8 ordinals.
      Note:
      If you have code that uses the #PRORI fixed file record to search ordinals, you must use the forward chain pointer to ensure that all ordinals are scanned. The forward chain pointer is defined in the PR1OT DSECT.
    2. Specify the following record types in the RECID parameter:
      • #RV1RU
      • #RV2RU
      • #SATRU
      • #SRTRU
      • #SC1RU
      • #SC2RU
      • #CCBRU
      • #WGTRU
      • #RCATU.
    3. Ensure that the subsystem users (SSUs), processors, and I-streams correspond correctly with the fixed file record types in the USER parameter. Refer to Table 875 for the fixed file record types.

    See TPF System Generation for more information about the RAMFIL macro.

  3. Run the FCTBG to create a new FACE table.
  4. Assemble the SIP stage I deck to create a SIP stage II deck.
  5. Run the system allocator program (SALO), using the IBMPAL and SPPGML additions for the newly created segments, to create an updated program allocation table (IPAT) and a system allocator table (SAL).
  6. Run SIP stage II.
  7. Migrate communications support to each processor of a loosely coupled complex one processor at a time by IPLing each processor from an image containing the PUT 13 code and FACE table definitions. Rebuild the communication records as follows:
    • For SNA, enter the ZNOPL BUILD command.
    • For WGTA, enter ZDWGT command with the BUILD parameter specified.
    • For RCAT, load the RCIT program records.
      Note:
      Failure to load the RCIT program records could result in severe system errors during restart.

    See TPF Operations for more information about the ZNOPL and ZDWGT commands.

    When you have IPLed all processors in the complex from an image containing the PUT 13 code and FACE table definitions and the communication records have been rebuilt as specified in this step, you have completed the complex-wide migration to the new structures.

Fallback Scenario

You can restore a loosely coupled processor to the TPF 4.1 image that was in use before PUT 13 was installed by IPLing the processor from the previous image and rebuilding the processor shared records as follows:

Fallback to the previous TPF 4.1 image is completed when all processors in the complex that were migrated to the new TPF 4.1 image have been restored.

To migrate to the TPF 4.1 PUT 13 again, IPL each processor in the complex with the PUT 13 image and rebuild the processor unique control records by using the procedure specified in step 7 of the migration scenario.