COEXECUTION PROCESSOR ISOLATION
USING AN ISOLATION PROCESS OR
HAVING AUTHORITY CONTROLS FOR
ACCESSING SYSTEM MAIN STORAGE
 Inventors: Richard Irwin Baum, Poughkeepsie;
Glen Alan Brent, Red Hook, both of
N.Y.; Hatem Mohamed Ghafir, Olney,
Md.; Balakrishna Raghavendra Iyer,
San Jose; Ihderpal Singh Narang,
Saratoga, both of Calif.; Gururaj
Seshagiri Rao, Cortlandt Maner;
Casper Anthony Scalzi, Poughkeepsie,
both of N.Y.; Satya Prakash Sharma,
Round Rock, Tex.; Bhaskar Sinha,
Poughkeepsie; Lee Hardy Wilson, Red
Hook, both of N.Y.
 Assignee: International Business Machines
Corporation, Armonk, N.Y.
 Appl. No.: 680,069
 Filed: Jul. 12,1996
Related U.S. Application Data
 Continuation of Ser. No. 474,925, Jun. 7,1995, abandoned, which is a continuation of Ser. No. 199,041, Feb. 18,1994, abandoned.
 Int CI.6 G06F 13/12
 U.S. CI 395/825; 395/848
 Field of Search 395/200.05, 825,
395/827, 840, 800, 848, 477, 479
 References Cited
U.S. PATENT DOCUMENTS
3,573,741 4/1971 Gavril 395/275
3,576,544 4/1971 Corderoetal 395/425
3,713,107 1/1973 Barsamian 395/800
3,725,864 4/1973 darketal 395/275
3,839,706 10/1974 Borchsenius 395/400
4,042,914 8/1977 Curleyetal 395/375
4,071,890 1/1978 Pandeya 395/800
4,310,879 1/1982 Pandeya 395/425
4,547,849 10/1985 Louie et al. .
4,787,026 11/1988 Barnes et al 395/700
4,894,768 1/1990 Iwasaki et al. .
4,914,578 4/1990 MacGregor et al. .
4,926,318 5/1990 Nakayama .
4,942,519 7/1990 Kakayama.
4,943,915 7/1990 Wdhelm et al. .
5,146,575 9/1992 Nolan, Jr. .
5,210,870 5/1993 Baumetal 395/600
5,237,668 8/1993 Blandyetal 395/400
Primary Examiner—Richard L. Ellis
Attorney, Agent, or Firm—Bernard M. Goldman
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 programs 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 the 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.
12 Claims, 19 Drawing Sheets