×

Executing Multiple Instructions Multiple Data ('MIMD') Programs on a Single Instruction Multiple Data ('SIMD') Machine

  • US 20090024830A1
  • Filed: 07/19/2007
  • Published: 01/22/2009
  • Est. Priority Date: 07/19/2007
  • Status: Active Grant
First Claim
Patent Images

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 a SIMD partition comprising a plurality of the compute nodes, the 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 network for synchronous data communications for parallel SIMD operations among the compute nodes in the SIMD partition;

    booting the SIMD partition in MIMD mode, including;

    setting, in operating systems on the 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 network among compute nodes in the SIMD partition;

    initializing, with a parallel processing barrier, parallel operations among the compute nodes of the SIMD partition, and executing a launcher program on each compute node in the SIMD partition;

    executing by launcher programs a plurality of MIMD programs on two or more of the compute nodes in the SIMD partition, including replacing the launcher programs with the MIMD programs in process address space in computer memory of the 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 SIMD partition upon termination of the MIMD program executed by the launcher program.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×