Research Interests

My Research interests are broadly grouped into the following areas:

I am the project leader of the Alchemy Project. Details of the project and the people involved can be found here.

Some information about my research students can be found here.

A more detailed discussion of my research interests follows:

My research interests primarily lie in the broad area of concurrent and distributed systems. I am predominantly concerned with investigating techniques that permit the automatic, or semi-automatic, distribution of the parallel tasks across the available processors so as to maximise performance of the system, while minimising latency. I am interested in both static and dynamic techniques for the allocation of tasks to processors in a manner that allows the distribution strategy to be fault-tolerant and supportive of real-time systems. I am currently investigating distributed scheduling algorithms that dynamically allocate tasks to processors in the presence of faulty processing nodes and network infrastructure.

I am also interested in the debugging and tuning of distributed systems. Debugging and tuning such systems is difficult due to the inherent underlying non-determinism within such systems and the difficulty of measuring events without affecting the executing algorithms. Probes inserted into the may mask the very phenomena to be measured by altering the timing of events. However, the gathering of such information with minimal program perturbation is crucial to determining program behaviour and displaying the observations in a graphical manner. The scalability and extension of such systems to provide new user-defined views is an area of research interest, along with techniques to automatically evaluate the program observations and to make tuning and debugging suggestions.

Finally, I am also interested in software engineering and programming languages. I am currently undertaking research into a two stack parsing technique which requires no back tracking to parse a broad range of grammars. The class of grammars handled include grammars that are LR(2). The technique is a polynomial time algorithm and generates parse tables that can be used in standard parser drivers that have undergone slight modification to employ two stacks instead of one.

Students interested in becoming involved in my research are invited to visit the Alchemy Project webpages and information pages for potential PhD students.