×

Executing Multiple Instructions Multiple Data (‘MIMD’) programs on a Single Instruction Multiple Data (‘SIMD’) machine

  • US 7,831,802 B2
  • Filed: 07/19/2007
  • Issued: 11/09/2010
  • Est. Priority Date: 07/19/2007
  • Status: Expired due to Fees
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 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.

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