Wayne Kelly

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)
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)
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)
A classic problem in computer science is selection: given a list of n numbers, find the ith largest, using the fewest number of comparisons. We are interested in the exact number of comparisons required for specific small values of i and n. We have written a program that can be used either to find the exact number of comparisons for very low values of i and(More)