Patent ID: 7831803

Claim:
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 on the SIMD machine a plurality of SIMD partitions, each SIMD partition comprising a plurality of the compute nodes, the plurality of 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 data communications network for synchronous data communications for parallel SIMD operations among the plurality of compute nodes in each SIMD partition; booting a first SIMD partition in MIMD mode; executing, on a compute node of the first SIMD partition booted in MIMD mode, a MIMD accelerator program; executing a SIMD program for effecting a data processing in a second SIMD partition, one instance of the SIMD program executing on each compute node of the second SIMD partition, each instance of the SIMD program carrying out a portion of the data processing effected by the SIMD program; and accelerating, by an instance of the SIMD program through the MIMD accelerator program, a portion of the data processing of the instance of the SIMD program, the accelerating further comprising the steps of: calculating an amount of time required for executing by the SIMD program the portion of the data processing; and accelerating data processing for the portion of the data processing only if the amount of time required for executing the portion by the SIMD program exceeds a predefined threshold amount.