Patent ID: 8661449
Filing Date: 2014-02-25
Classification: G06F

Abstract:
1. A method of computation comprising: distributing a plurality of tasks representative of a computational program to a plurality of compute nodes that are coupled to a distributed shared memory system, the distributed shared memory system comprising a plurality of storage nodes for storing a plurality of versioned data objects; executing each task from among the plurality of tasks as a speculative transaction on a respective compute node from among the plurality of compute nodes, wherein the speculative transaction is initiated by assuming that no dependencies exist among the plurality of tasks, and further wherein the executing comprises: designating each speculative transaction as committable on the basis of a dependency ordering of the plurality of tasks; determining whether each committable speculative transaction has any dependency conflicts; committing each speculative transaction that is committable and has no dependency conflicts; aborting each speculative transaction that is committable and has at least one dependency conflict; and re-executing each task corresponding to an aborted speculative transaction if that task is not committed.