IP Library › Granted Patent US 7,984,267
Granted Patent B2
US 7,984,267 · App. 12/204,352 · Granted Jul 19, 2011

Message passing module in hybrid computing system starting and sending operation information to service program for accelerator to execute application program

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,984,267
App. No.
12/204,352
Granted
Jul 19, 2011
Kind
B2
Abstract

Executing a service program for an accelerator application program in a hybrid computing environment that includes a host computer and an accelerator, the host computer and the accelerator adapted to one another for data communications by a system level message passing module; where the service program includes a host portion and an accelerator portion and executing a service program for an accelerator includes receiving, from the host portion, operating information for the accelerator portion; starting the accelerator portion on the accelerator; providing, to the accelerator portion, operating information for the accelerator application program; establishing direct data communications between the host portion and the accelerator portion; and, responsive to an instruction communicated directly from the host portion, executing the accelerator application program.

Claims (39)

1. A method of executing a service program for an accelerator application program in a computing system, the computing system comprising a host computer having a host computer architecture, an accelerator having an accelerator architecture, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, the service program comprising a module of computer program instructions capable of controlling or monitoring, at the level of individual computer program instructions, execution of the accelerator application program, the service program further comprising a host portion configured to execute on the host computer architecture and an accelerator portion configured to execute on the accelerator architecture, the method comprising:

receiving, by the system level message passing module from the host portion of the service program, operating information for the accelerator portion of the service program;

starting, by the system level message passing module, the accelerator portion of the service program on the accelerator;

providing, by the system level message passing module to the accelerator portion of the service program, operating information for the accelerator application program, the operating information for the accelerator application program comprising system variables and execution parameters;

establishing, by the system level message passing module, direct data communications between the host portion of the service program and the accelerator portion of the service program; and

responsive to an instruction communicated directly from the host portion of the service program, executing the accelerator application program by the accelerator portion of the service program.

2. The method of claim 1 further comprising receiving, by the system level message passing module from the host portion of the service program, a request to register the host portion of the service program with the system level message passing module for notifications regarding operation of the accelerator portion of the service program.

3. The method of claim 1 wherein establishing direct data communications between the host portion of the service program and the accelerator portion of the service program further comprises:

specifying, by the system level message passing module, data communications parameters for the accelerator portion of the service program; and

providing, by the system level message passing module to the host portion of the service program, the specified data communications parameters for the accelerator portion of the service program.

4. The method of claim 1 further comprising varying one or more values of the execution parameters and system variables for the accelerator application program before executing, by the accelerator portion of the service program, the accelerator application program.

5. The method of claim 1 wherein the host portion of the service program further comprises a client portion and a server portion, the server portion executing on the host computer, the client portion executing on a computer separate from the host computer.

6. The method of claim 1 wherein the host computer and the accelerator adapted to one another for data communications by two or more data communications fabrics of at least two different fabric types.

7. A computing system for executing a service program for an accelerator application program, the computing system comprising a host computer having a host computer architecture, an accelerator having an accelerator architecture, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, the service program comprising a module of computer program instructions capable of controlling or monitoring, at the level of individual computer program instructions, execution of the accelerator application program, the service program further comprising a host portion configured to execute on the host computer architecture and an accelerator portion configured to execute on the accelerator architecture, the system level message passing module comprising computer program instructions capable of:

receiving, by the system level message passing module from the host portion of the service program, operating information for the accelerator portion of the service program;

starting, by the system level message passing module, the accelerator portion of the service program on the accelerator;

providing, by the system level message passing module to the accelerator portion of the service program, operating information for the accelerator application program, the operating information for the accelerator application program comprising system variables and execution parameters;

establishing, by the system level message passing module, direct data communications between the host portion of the service program and the accelerator portion of the service program; and

the accelerator portion of the service program comprising computer program instructions capable of executing, by the accelerator portion of the service program, responsive to an instruction communicated directly from the host portion of the service program, the accelerator application program with the execution parameters and system variables.

8. The computing system of claim 7 further comprising computer program instructions capable of receiving, by the system level message passing module from the host portion of the service program, a request to register the host portion of the service program with the system level message passing module for notifications regarding operation of the accelerator portion of the service program.

9. The computing system of claim 7 wherein establishing direct data communications between the host portion of the service program and the accelerator portion of the service program further comprises:

specifying, by the system level message passing module, data communications parameters for the accelerator portion of the service program; and

providing, by the system level message passing module to the host portion of the service program, the specified data communications parameters for the accelerator portion of the service program.

10. The computing system of claim 7 further comprising computer program instructions capable of varying one or more values of the execution parameters and system variables for the accelerator application program before executing the accelerator program by the accelerator portion of the service program.

11. The computing system of claim 7 wherein the host portion of the service program further comprises a client portion and a server portion, the server portion executing on the host computer, the client portion executing on a computer separate from the host computer.

12. The computing system of claim 7 wherein the host computer and the accelerator adapted to one another for data communications by two or more data communications fabrics of at least two different fabric types.

13. A computer program product for executing a service program for an accelerator application program in a computing system, the computing system comprising a host computer having a host computer architecture; an accelerator having an accelerator architecture, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, the service program comprising a module of computer program instructions capable of controlling or monitoring, at the level of individual computer program instructions, execution of the accelerator application program, the service program further comprising a host portion configured to execute on the host computer architecture and an accelerator portion configured to execute on the accelerator architecture, the computer program product disposed upon a recordable computer readable storage medium, the computer program product including computer program instructions capable of:

receiving, by the system level message passing module from the host portion of the service program, operating information for the accelerator portion of the service program;

starting, by the system level message passing module, the accelerator portion of the service program on the accelerator;

providing, by the system level message passing module to the accelerator portion of the service program, operating information for the accelerator application program, the operating information for the accelerator application program comprising system variables and execution parameters;

establishing, by the system level message passing module, direct data communications between the host portion of the service program and the accelerator portion of the service program; and

executing, by the accelerator portion of the service program, responsive to an instruction communicated directly from the host portion of the service program, the accelerator application program with the execution parameters and system variables.

14. The computer program product of claim 13 further comprising computer program instructions capable of receiving, by the system level message passing module from the host portion of the service program, a request to register the host portion of the service program with the system level message passing module for notifications regarding operation of the accelerator portion of the service program.

15. The computer program product of claim 13 wherein establishing direct data communications between the host portion of the service program and the accelerator portion of the service program further comprises:

specifying, by the system level message passing module, data communications parameters for the accelerator portion of the service program; and

providing, by the system level message passing module to the host portion of the service program, the specified data communications parameters for the accelerator portion of the service program.

16. The computer program product of claim 13 further comprising computer program instructions capable of varying one or more values of the execution parameters and system variables for the accelerator application program before executing the accelerator program by the accelerator portion of the service program.

17. The computer program product of claim 13 wherein the host portion of the service program further comprises a client portion and a server portion, the server portion executing on the host computer, the client portion executing on a computer separate from the host computer.

18. The computer program product of claim 13 wherein the host computer and the accelerator adapted to one another for data communications by two or more data communications fabrics of at least two different fabric types.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2009
From: AHO, MICHAEL E.; MATINATA, RICARDO M.; SANJAR, AMIR F.; STEWART, GORDON G.; WRIGHT, CORNELL G., JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022580/0526 →
Continuity (1)
Related Publication 20100058031A1 · Mar 4, 2010