Abstract:
PROBLEM TO BE SOLVED: To provide a method, system and apparatus for multicasting or broadcasting a piece of data from one partition of a partitioned computer system to a plurality of partitions of the system. SOLUTION: When a partition in the partitioned computer system needs to transfer data to more than one partition of the system, the partition first stores the data into a global memory accessible by all partitions of the system. The memory is then marked 'read-only' to ensure that the data is not over-written by the remaining partitions, and the IDs (identifications) of the recipient partitions are passed to a piece of firmware or hardware of the computer system. This piece of firmware or the hardware alerts the recipient partitions that there is a piece of data ready to be read in the memory. Once all the recipient partitions have read the data, the global memory is reverted to a 'read' and 'write' memory. COPYRIGHT: (C)2003,JPO
Abstract:
A coexecutor for executing functions offloaded from central processors (CPs) in a data processing system, as requested by one or more executing control programs, which include a host operating system (host OS), and subsystem program s and applications executing under the host OS. The offloaded functions are embodied in code modules. Code modules execute in the coexecutor in parallel with non-offloaded functions being executed by the CPs. Thus, the CPs do not need to execute functions which can be executed by the coexecutor. CP requests to the coexecutor specify the code modules which are accessed by the coexecutor from host shared storage under the same constraints and access limitations as th e control programs. The coexecutor may emulate host dynamic address translation, and may use a provided host storage key in accessing host storage. The restricted access operating state for the coexecutor maintains data integrity. Coexecutors can be of the same architecture or of a totally different architecture from the CPs to provide an efficient processing environment for the offloaded functions. The coexecutor interfaces host software which provides the requests to the coexecutor. Offloaded modules, once accessed by the coexecutor, may be cached in coexecutor local storage for use by future requests to allow subsequent invocations to proceed without waiting to again load the same module.