In a multiprocessing system having a coupling facility, communicating messages between the processors and the coupling facility in either a synchronous operation or an asynchronous operation
First Claim
1. A multiprocessor data processing system comprising:
- multiple central processing complexes (CPCs), each CPC having a central processor for executing instructions arranged in programs for processing data, main storage for storing said programs and data including state information for the copy of data in that main storage which is shared between that CPC and at least one other CPC, and subchannel means connected to said main storage for performing message operations;
a structured external storage device for storing state information for data shared between said CPCs;
multiple message paths, each message path having a first end connected to one of said subchannel means and a second end connected to said structured external storage device for passing, during said message operations, data, messages and responses between the connected subchannel means and said structured external storage device;
program means in the main storage of each CPC, respectively, each program means having instructions executed by said central processor of the respective CPC for starting a message operation by said subchannel means of the respective CPC for transferring, during said message operations, data, messages and responses between said main storage of the respective CPC and said structured external storage device in a pipelined fashion wherein, during said message operations, said central processor of the respective CPC is enabled to continue executing instructions Of programs of the respective CPC without an interruption for indicating said message operations are completed;
completion vector means accessible by said subchannel means, said completion vector means having a bit which has a first condition and a second condition;
said program means having means for setting said bit in its first condition when said program means starts a message operation;
said subchannel means having means for resetting said bit to its second condition when said subchannel means completes said message operation; and
said program means includes a completion vector polling means having access to said completion vector means for periodically polling said bit for determining when said bit is in its second condition, thereby indicating said message operation has completed.
0 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for communicating messages, each including a command and a response, in a network having central processing complexes (CPCs) and one or more coupling facilities. Each coupling facility has a central processor for executing instructions and a main storage. Messages are sent from a message control block in the main storage of the CPC sending the message, and the response to the message is received in a message response block of the CPC without an interrupt to the program being executed by the central processor of the CPC. Each message from a CPC to the coupling facility may include a command and an indicator bit which instructs the coupling facility to execute the command either in synchronism with or asynchronously to the execution of the sending processor. The coupling facility executes the command and returns a response which is received in a message response block of the main storage of the sending CPC without an interrupt to any program being executed by the central processor of that CPC.
209 Citations
55 Claims
-
1. A multiprocessor data processing system comprising:
-
multiple central processing complexes (CPCs), each CPC having a central processor for executing instructions arranged in programs for processing data, main storage for storing said programs and data including state information for the copy of data in that main storage which is shared between that CPC and at least one other CPC, and subchannel means connected to said main storage for performing message operations; a structured external storage device for storing state information for data shared between said CPCs; multiple message paths, each message path having a first end connected to one of said subchannel means and a second end connected to said structured external storage device for passing, during said message operations, data, messages and responses between the connected subchannel means and said structured external storage device; program means in the main storage of each CPC, respectively, each program means having instructions executed by said central processor of the respective CPC for starting a message operation by said subchannel means of the respective CPC for transferring, during said message operations, data, messages and responses between said main storage of the respective CPC and said structured external storage device in a pipelined fashion wherein, during said message operations, said central processor of the respective CPC is enabled to continue executing instructions Of programs of the respective CPC without an interruption for indicating said message operations are completed; completion vector means accessible by said subchannel means, said completion vector means having a bit which has a first condition and a second condition; said program means having means for setting said bit in its first condition when said program means starts a message operation; said subchannel means having means for resetting said bit to its second condition when said subchannel means completes said message operation; and said program means includes a completion vector polling means having access to said completion vector means for periodically polling said bit for determining when said bit is in its second condition, thereby indicating said message operation has completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A multiprocessor data processing system comprising:
-
multiple central processing complexes (CPCs), each CPC having a central processor for executing instructions arranged in programs for processing data, main storage for storing said programs and data including state information for the copy of data in that main storage which is shared between that CPC and at least one other CPC, and subchannel means connected to said main storage for performing message operations for exchanging data, messages and responses with said main storage; a structured external storage device for storing state information for data shared between said CPCs; multiple message path, each message path having a first end connected to a different one of said subchannel means and a second end connected to said structured external storage device for passing data, messages and responses between said subchannel means and said structured external storage device; status means in the subchannel means of each of said CPCs, respectively, said status means having an idle condition when said subchannel of the respective CPC is available for performing message operations and an active condition when said subchannel of the respective CPC is not available for performing message operations; status testing program means in each of the CPCs, respectively, having instructions executed by said central processor of the respective CPC for testing the condition of the respective status means to determine the status condition of the respective subchannel means thereby determining when a message operation in the respective CPC is completed; a message control block in said main storage for storing messages to be outputted from said main storage by a send message command executed by said central processor; and a message response block in said main storage for receiving a response inputted into said main responsive to said send message command. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A multiprocessor data processing system comprising:
-
multiple central processing complexes (CPCs), each CPC having a central processor for executing instructions arranged in programs for processing data, said instructions including send message instructions for sending messages, main storage for storing said programs and data including state information for the copy of data in that main storage which is shared between that CPC and at least one other CPC, and subchannel means connected to said main storage for performing message operations; a structured external storage device for storing state information for data shared between said CPCs; multiple message paths, each message path having a first end connected to a different subchannel means and a second end connected to said structured external storage device for passing data, messages and responses between said subchannel means and said structured external storage device; said messages being sent over said message path from one of said central processors to said structured external storage device as a result of said send message instruction, each message having means for including a command to be executed by said structured external storage device, said command for operating on the state information for shared data stored in said structured external device, and a program modifiable A bit having first condition if the command is to be executed synchronously with the central processor sending the message and a second condition if the command is to be executed asynchronously with the central processor sending the message; completion vector means accessible by said subchannel means, said completion vector means having a completion bit which has a first condition and a second condition; program means having means for setting said completion bit in its first condition when said program means starts a message operation; said subchannel means having means for resetting said completion bit to its second condition when said subchannel means completes said message operation; and said program means includes a completion vector polling means having access to said completion vector means for periodically polling said completion bit for determining when said completion bit is in its second condition, thereby indicating said message operation has completed. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A multiprocessor data processing system comprising:
-
multiple central processing complexes (CPCs), each CPC including a central processor for executing instructions arranged in programs for processing data, main storage for storing said programs, operating systems for one or more images, data including data shared between two or more images, and state information for data shared between two or more images in the main storage and shared with other CPCs, input/output (I/O) subchannel means for performing I/O data transfers, intersystem (I/S) subchannel means for performing I/S message operations for transferring data, messages and responses, a message control block in said main storage for storing messages to be outputted from said main storage by a send message command executed by said central processor, a message response block in said main storage for receiving a response inputted into said main storage responsive to said send message command; a structured external storing (SES) device for storing state information for data shared between images and CPCs; multiple message paths, at least one message path between the I/S subchannel means in each of said CPCs and said SES facility; I/O devices for storing data including said shared data; multiple I/O paths, each I/O path being between selected ones of said I/O devices and the I/O subchannel means of selected ones of said CPCs; status means in each of said I/S subchannel means, said status means having an idle condition when its I/S subchannel means is available for performing message operations and an active condition when its I/S subchannel means is not available for performing message operation; and each CPC includes program means having instructions executed by its central processor for testing the condition of said status means to determine the status condition of its I/S subchannel means thereby determining when a message operation is completed. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A multiprocessor data processing system comprising:
- multiple central processing complexes (CPCs), each CPC including
a central processor for executing instructions arranged in programs for processing data, main storage for storing said programs, operating systems for one or more images, data including data shared between two or more images, and state information for data shared between two or more images in the main storage and shared with other CPC, input/output (I/O) subchannel means for performing I/O data transfers, intersystem (I/S) subchannel means for performing I/S message operations for transferring data, messages and responses, a message control block in said main storage for storing messages to be outputted from said main storage by a send message command executed by said central processor, a message response block in said main storage for receiving a response inputted into said main storage responsive to said send message command; a structured external storing (SES) device for storing state information for data shared between images and CPCs; multiple message paths, at least one message path between the I/S subchannel means in each of said CPCs and said SES facility; I/O devices for storing data including said shared data; multiple I/O paths, each I/O path being between selected ones of said I/O devices and the I/O subchannel means of selected ones of said CPCs; wherein said messages being sent over each message path from an I/S subchannel means to said structured external storage device as a result of a send message instruction, each message having means for including a command to be executed by said structured external storage device, said command for operating on the state information for shared data stored in said structured external device, and a program modifiable A bit having a first condition if the command is to be executed synchronously with the sending central processor and a second condition if the command is to be executed asynchronously with the sending central processor. - View Dependent Claims (53, 54, 55)
- multiple central processing complexes (CPCs), each CPC including
Specification