Learn More
All existing methods for automated data/computation decomposition share a common failing: they are very sensitive to the original loop structure of the program. While they find a good decomposition for that loop structure, it may be possible to apply transformations (such as loop interchange and distribution) so that a different decomposition gives even(More)
Existing cycle-stealing frameworks are generally based on simple client-server or hierarchical style ar-chitectures. G2:P2P moves cycle-stealing into the " pure " peer-to-peer (P2P), or fully decentralised arena, removing the bottleneck and single point of failure that centralised systems suffer from. Additionally , by utilising direct P2P communication,(More)
With the emergence of multi-cores into the mainstream, there is a growing need for systems to allow programmers and automated systems to reason about data dependencies and inherent parallelism in imperative object-oriented languages. In this paper we exploit the structure of object-oriented programs to abstract computational side-effects. We capture and(More)
Four crows were trained to key peck for food. Then, they were exposed to a positive response contingency that required them to peck the key when it was illuminated briefly (the trial) in order to receive food. This procedure resulted in consistent within-trial pecking. When the contingency changed so that food was presented at the end of a trial when no(More)