Moving processing operations from one MIMD booted SIMD partition to another to enlarge a SIMD partition
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 network characterized by a network topology, the method comprising;
establishing on the SIMD machine a plurality of 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 in MIMD mode a first SIMD partition and a second SIMD partition;
executing, by launcher programs on the compute nodes of the first SIMD partition booted in MIMD mode, a plurality of MIMD programs on two or more of the compute nodes of the first SIMD partition booted in MIMD mode, 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;
re-executing a launcher program by an operating system on a compute node in the first SIMD partition booted in MIMD mode upon termination of the MIMD program executed by the launcher program;
determining by a scheduler that the first SIMD partition booted in MIMD mode is required, according to the network topology, to establish a new SIMD partition large enough to run a SIMD program that is scheduled for execution;
moving by the scheduler data processing operations from the first SIMD partition booted in MIMD mode to the second SIMD partition booted in MIMD mode; and
establishing by the scheduler the new SIMD partition large enough to run the SIMD program that is scheduled for execution, the new SIMD partition including compute nodes from the first SIMD partition booted in MIMD mode.
1 Assignment
0 Petitions
Accused Products
Abstract
Executing MIMD programs on a SIMD machine, including establishing SIMD partitions on the SIMD machine; booting SIMD partitions in MIMD mode; executing MIMD programs on the compute nodes of a first SIMD partition booted in MIMD mode; re-executing a launcher program by an operating system on a compute node in the first SIMD partition booted in MIMD mode upon termination of the MIMD program executed by the launcher program; determining by a scheduler that the first SIMD partition booted in MIMD mode is required to establish a new SIMD partition large enough to run a SIMD program that is scheduled for execution; moving by the scheduler data processing operations from the first SIMD partition booted in MIMD mode to the second SIMD partition booted in MIMD mode; and establishing by the scheduler the new SIMD partition.
-
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 network characterized by a network topology, the method comprising;establishing on the SIMD machine a plurality of 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 in MIMD mode a first SIMD partition and a second SIMD partition; executing, by launcher programs on the compute nodes of the first SIMD partition booted in MIMD mode, a plurality of MIMD programs on two or more of the compute nodes of the first SIMD partition booted in MIMD mode, 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; re-executing a launcher program by an operating system on a compute node in the first SIMD partition booted in MIMD mode upon termination of the MIMD program executed by the launcher program; determining by a scheduler that the first SIMD partition booted in MIMD mode is required, according to the network topology, to establish a new SIMD partition large enough to run a SIMD program that is scheduled for execution; moving by the scheduler data processing operations from the first SIMD partition booted in MIMD mode to the second SIMD partition booted in MIMD mode; and establishing by the scheduler the new SIMD partition large enough to run the SIMD program that is scheduled for execution, the new SIMD partition including compute nodes from the first SIMD partition booted in MIMD mode. - 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 apparatus comprising;the SIMD machine, the SIMD machine further 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 network characterized by a network topology, a computer processor, and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions which, when executed by the computer processor, are capable of causing the apparatus to operate by; establishing on the SIMD machine a plurality of 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 in MIMD mode a first SIMD partition and a second SIMD partition; executing, by launcher programs on the compute nodes of the first SIMD partition booted in MIMD mode, a plurality of MIMD programs on two or more of the compute nodes of the first SIMD partition booted in MIMD mode, 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; re-executing a launcher program by an operating system on a compute node in the first SIMD partition booted in MIMD mode upon termination of the MIMD program executed by the launcher program; determining by a scheduler that the first SIMD partition booted in MIMD mode is required, according to the network topology, to establish a new SIMD partition large enough to run a SIMD program that is scheduled for execution; moving by the scheduler data processing operations from the first SIMD partition booted in MIMD mode to the second SIMD partition booted in MIMD mode; and establishing by the scheduler the new SIMD partition large enough to run the SIMD program that is scheduled for execution, the new SIMD partition including compute nodes from the first SIMD partition booted in MIMD mode. - 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 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 also including a data communications network, the network comprising synchronous data communications links among the compute nodes, the network characterized by a network topology, the computer program product disposed in a computer readable, signal bearing medium, the computer program product comprising computer program instructions capable of;establishing on the SIMD machine a plurality of 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 in MIMD mode a first SIMD partition and a second SIMD partition; executing, by launcher programs on the compute nodes of the first SIMD partition booted in MIMD mode, a plurality of MIMD programs on two or more of the compute nodes of the first SIMD partition booted in MIMD mode, 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; re-executing a launcher program by an operating system on a compute node in the first SIMD partition booted in MIMD mode upon termination of the MIMD program executed by the launcher program; determining by a scheduler that the first SIMD partition booted in MIMD mode is required, according to the network topology, to establish a new SIMD partition large enough to run a SIMD program that is scheduled for execution; moving by the scheduler data processing operations from the first SIMD partition booted in MIMD mode to the second SIMD partition booted in MIMD mode; and establishing by the scheduler the new SIMD partition large enough to run the SIMD program that is scheduled for execution, the new SIMD partition including compute nodes from the first SIMD partition booted in MIMD mode. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
- MIMD’
Specification