Executing Multiple Instructions Multiple Data (‘MIMD’) programs on a Single Instruction Multiple Data (‘SIMD’) machine
First Claim
1. A method of executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the method comprising;
establishing a SIMD partition comprising a plurality of the compute nodes, the plurality of compute nodes in the SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the data communications network for synchronous data communications for parallel SIMD operations among the plurality of compute nodes in the SIMD partition;
booting the SIMD partition in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes of the SIMD partition, flags indicating MIMD operation;
loading onto the compute nodes of the SIMD partition a launcher program;
initializing with link training synchronous data communications among links of the data communications network among plurality of compute nodes in the SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes of the SIMD partition, and executing a launcher program on each compute node in the SIMD partition;
executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes in the SIMD partition, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data;
re-executing a launcher program by an operating system on a compute node in the SIMD partition upon termination of the MIMD program executed by the launcher program;
detecting by a compute node a processing error;
communicating by the compute node through a service network to a control application on a service node an existence of the processing error; and
booting, by the control application without affecting operations of other compute nodes, the compute node in MIMD mode, the booting including;
setting, in an operating system on the compute node, a flag indicating MIMD operation;
setting, in an operating system on the compute node, a flag indicating that a current boot of the compute node is a reboot;
loading and executing a launcher program on the compute node; and
omitting the initializing of synchronous data communications on the data communications network with link training and the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier.
1 Assignment
0 Petitions
Accused Products
Abstract
Executing Multiple Instructions Multiple Data (‘MIMD’) programs on a Single Instruction Multiple Data (‘SIMD’) machine, the SIMD machine including a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the network comprising synchronous data communications links among the compute nodes, including establishing a SIMD partition comprising a plurality of the compute nodes; booting the SIMD partition in MIMD mode; executing by launcher programs a plurality of MIMD programs on compute nodes in the SIMD partition; and re-executing a launcher program by an operating system on a compute node in the SIMD partition upon termination of the MIMD program executed by the launcher program.
-
Citations
6 Claims
-
1. A method of executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the method comprising;establishing a SIMD partition comprising a plurality of the compute nodes, the plurality of compute nodes in the SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the data communications network for synchronous data communications for parallel SIMD operations among the plurality of compute nodes in the SIMD partition; booting the SIMD partition in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes of the SIMD partition, flags indicating MIMD operation;
loading onto the compute nodes of the SIMD partition a launcher program;
initializing with link training synchronous data communications among links of the data communications network among plurality of compute nodes in the SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes of the SIMD partition, and executing a launcher program on each compute node in the SIMD partition;executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes in the SIMD partition, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data; re-executing a launcher program by an operating system on a compute node in the SIMD partition upon termination of the MIMD program executed by the launcher program; detecting by a compute node a processing error; communicating by the compute node through a service network to a control application on a service node an existence of the processing error; and booting, by the control application without affecting operations of other compute nodes, the compute node in MIMD mode, the booting including; setting, in an operating system on the compute node, a flag indicating MIMD operation; setting, in an operating system on the compute node, a flag indicating that a current boot of the compute node is a reboot; loading and executing a launcher program on the compute node; and omitting the initializing of synchronous data communications on the data communications network with link training and the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier.
- MIMD’
-
2. Apparatus for executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of;establishing a SIMD partition comprising a plurality of the compute nodes, the plurality of compute nodes in the SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the data communications network for synchronous data communications for parallel SIMD operations among the plurality of compute nodes in the SIMD partition; booting the SIMD partition in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes of the SIMD partition, flags indicating MIMD operation;
loading onto the plurality of compute nodes of the SIMD partition a launcher program;
initializing with link training synchronous data communications among links of the data communications network among plurality of compute nodes in the SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes of the SIMD partition, and executing a launcher program on each compute node in the SIMD partition;executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes in the SIMD partition, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data; re-executing a launcher program by an operating system on a compute node in the SIMD partition upon termination of the MIMD program executed by the launcher program; detecting by a compute node a processing error; communicating by the compute node through a service network to a control application on a service node an existence of the processing error; and booting, by the control application without affecting operations of other compute nodes, the compute node in MIMD mode, the booting including; setting, in an operating system on the compute node, a flag indicating MIMD operation; setting, in an operating system on the compute node, a flag indicating that a current boot of the compute node is a reboot; loading and executing a launcher program on the compute node; and omitting the initializing of synchronous data communications on the data communications network with link training and the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier.
- MIMD’
-
3. A computer program product for executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the computer program product disposed in a computer readable recordable storage medium, the computer program product comprising computer program instructions capable of;establishing a SIMD partition comprising a plurality of the compute nodes, the plurality of compute nodes in the SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the data communications network for synchronous data communications for parallel SIMD operations among the plurality of compute nodes in the SIMD partition; booting the SIMD partition in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes of the SIMD partition, flags indicating MIMD operation;
loading onto the plurality of compute nodes of the SIMD partition a launcher program;
initializing with link training synchronous data communications among links of the data communications network among compute nodes in the SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes of the SIMD partition, and executing a launcher program on each compute node in the SIMD partition;executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes in the SIMD partition, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data; re-executing a launcher program by an operating system on a compute node in the SIMD partition upon termination of the MIMD program executed by the launcher program; detecting by a compute node a processing error; communicating by the compute node through a service network to a control application on a service node an existence of the processing error; and booting, by the control application without affecting operations of other compute nodes, the compute node in MIMD mode, the booting including; setting, in an operating system on the compute node, a flag indicating MIMD operation; setting, in an operating system on the compute node, a flag indicating that a current boot of the compute node is a reboot; loading and executing a launcher program on the compute node; and omitting the initializing of synchronous data communications on the data communications network with link training and the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier.
- MIMD’
-
4. A method of executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the method comprising;booting the SIMD machine in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes, flags indicating MIMD operation;
loading onto the plurality of compute nodes a launcher program;
initializing, with link training, synchronous data communications among links of the data communications network among compute nodes in a SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes; and
executing a launcher program on each compute node;executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data;
re-executing a launcher program by an operating system upon termination of the MIMD program executed by the launcher program;detecting by a compute node a processing error; communicating by the compute node through a service (JTAG) network to a service application on a service node an existence of the processing error; and booting the compute node in MIMD mode, including setting in an operating system on the compute node a flag indicating MIMD operation, further including setting in an operating system on the compute node a flag indicating that a current boot of the compute node is a reboot, further including loading a launcher program on the compute node, omitting the initializing of synchronous data communications on the data communications network with link training, and omitting the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier, the booting implemented without affecting operations of other compute nodes.
- MIMD’
-
5. Apparatus for executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of;booting the SIMD machine in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes, flags indicating MIMD operation;
loading onto the plurality of compute nodes a launcher program;
initializing, with link training, synchronous data communications among links of the data communications network among compute nodes in a SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the compute nodes; and
executing a launcher program on each plurality of compute node;executing by one or more launcher programs a plurality of MIMD programs on two or more of the compute nodes, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data; re-executing a launcher program by an operating system upon termination of the MIMD program executed by the launcher program; detecting by a compute node a processing error; communicating by the compute node through a service (JTAG) network to a service application on a service node an existence of the processing error; and booting the compute node in MIMD mode, including setting in an operating system on the compute node a flag indicating MIMD operation, further including setting in an operating system on the compute node a flag indicating that a current boot of the compute node is a reboot, further including loading a launcher program on the compute node, omitting the initializing of synchronous data communications on the data communications network with link training, and omitting the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier, the booting implemented without affecting operations of other compute nodes.
- MIMD’
-
6. A computer program product for executing Multiple Instructions Multiple Data (‘
- MIMD’
) programs on a Single Instruction Multiple Data (‘
SIMD’
) machine, the SIMD machine comprising a plurality of compute nodes, each compute node capable of executing only a single thread of execution, the plurality of compute nodes initially configured exclusively for SIMD operations, the SIMD machine further comprising a data communications network, the data communications network comprising synchronous data communications links among the plurality of compute nodes, the computer program product disposed in a computer readable recordable storage medium, the computer program product comprising computer program instructions capable of;booting the SIMD machine in MIMD mode, including;
setting, in operating systems on the plurality of compute nodes, flags indicating MIMD operation;
loading onto the plurality of compute nodes a launcher program;
initializing, with link training, synchronous data communications among links of the data communications network among compute nodes in a SIMD partition;
initializing, with a parallel processing barrier, parallel operations among the plurality of compute nodes; and
executing a launcher program on each compute node;executing by one or more launcher programs a plurality of MIMD programs on two or more of the plurality of compute nodes, including replacing the launcher programs with the plurality of MIMD programs in process address space in computer memory of the plurality of compute nodes, each MIMD program autonomously executing different instructions on different data; re-executing a launcher program by an operating system upon termination of the MIMD program executed by the launcher program; detecting by a compute node a processing error; communicating by the compute node through a service (JTAG) network to a service application on a service node an existence of the processing error; and booting the compute node in MIMD mode, including setting in an operating system on the compute node a flag indicating MIMD operation, further including setting in an operating system on the compute node a flag indicating that a current boot of the compute node is a reboot, further including loading a launcher program on the compute node, omitting the initializing of synchronous data communications on the data communications network with link training, and omitting the initializing of parallel operations among the plurality of compute nodes with a parallel processing barrier, the booting implemented without affecting operations of other compute nodes.
- MIMD’
Specification