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 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, the method comprising;
establishing one or more SIMD partitions, each SIMD partition comprising a plurality of the compute nodes, the compute nodes in each SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the network for synchronous data communications for parallel SIMD operations among the compute nodes in each SIMD partition;
booting one or more SIMD partitions in MIMD mode;
establishing a MIMD partition, the MIMD partition comprising a multiplicity of compute nodes from one or more SIMD partitions booted in MIMD mode, including assigning each compute node in the MIMD partition to receive MIMD programs from a same dispatcher;
executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes of the MIMD partition, including replacing the launcher programs with the MIMD programs in process address space in computer memory of the two or more compute nodes, each MIMD program autonomously executing different instructions on different data; and
re-executing a launcher program by an operating system on a compute node in the MIMD partition upon termination of the MIMD program executed by the launcher program.
1 Assignment
0 Petitions
Accused Products
Abstract
Executing MIMD programs on a 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 one or more SIMD partitions, booting one or more SIMD partitions in MIMD mode; establishing a MIMD partition; executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes of the MIMD partition; and re-executing a launcher program by an operating system on a compute node in the MIMD partition upon termination of the MIMD program executed by the launcher program.
59 Citations
20 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 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, the method comprising;establishing one or more SIMD partitions, each SIMD partition comprising a plurality of the compute nodes, the compute nodes in each SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the network for synchronous data communications for parallel SIMD operations among the compute nodes in each SIMD partition; booting one or more SIMD partitions in MIMD mode; establishing a MIMD partition, the MIMD partition comprising a multiplicity of compute nodes from one or more SIMD partitions booted in MIMD mode, including assigning each compute node in the MIMD partition to receive MIMD programs from a same dispatcher; executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes of the MIMD partition, including replacing the launcher programs with the MIMD programs in process address space in computer memory of the two or more compute nodes, each MIMD program autonomously executing different instructions on different data; and re-executing a launcher program by an operating system on a compute node in the MIMD partition upon termination of the MIMD program executed by the launcher program. - View Dependent Claims (2, 3, 4, 5, 6)
- MIMD’
-
7. 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 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, 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 one or more SIMD partitions, each SIMD partition comprising a plurality of the compute nodes, the compute nodes in each SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the network for synchronous data communications for parallel SIMD operations among the compute nodes in each SIMD partition; booting one or more SIMD partitions in MIMD mode; establishing a MIMD partition, the MIMD partition comprising a multiplicity of compute nodes from one or more SIMD partitions booted in MIMD mode, including assigning each compute node in the MIMD partition to receive MIMD programs from a same dispatcher; executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes of the MIMD partition, including replacing the launcher programs with the MIMD programs in process address space in computer memory of the two or more compute nodes, each MIMD program autonomously executing different instructions on different data; and re-executing a launcher program by an operating system on a compute node in the MIMD partition upon termination of the MIMD program executed by the launcher program. - View Dependent Claims (8, 9, 10, 11, 12)
- MIMD’
-
13. 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 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, the computer program product disposed in a computer readable, signal bearing medium, the computer program product comprising computer program instructions capable of;establishing one or more SIMD partitions, each SIMD partition comprising a plurality of the compute nodes, the compute nodes in each SIMD partition electronically isolated from compute nodes in other partitions of the SIMD machine and coupled to one another through links of the network for synchronous data communications for parallel SIMD operations among the compute nodes in each SIMD partition; booting one or more SIMD partitions in MIMD mode; establishing a MIMD partition, the MIMD partition comprising a multiplicity of compute nodes from one or more SIMD partitions booted in MIMD mode, including assigning each compute node in the MIMD partition to receive MIMD programs from a same dispatcher; executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes of the MIMD partition, including replacing the launcher programs with the MIMD programs in process address space in computer memory of the two or more compute nodes, each MIMD program autonomously executing different instructions on different data; and re-executing a launcher program by an operating system on a compute node in the MIMD partition upon termination of the MIMD program executed by the launcher program. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
- MIMD’
Specification