Home News People Research Study Search

Institute for Computing Systems Architecture

Software performance optimisation at run-time using dependence metadata

Paul H J Kelly
Leader, Software Performance Optimisation group
Department of Computing, Imperial College London http://www.doc.ic.ac.uk/~phjk

The goal of my research group is to extend optimising compiler technology to challenging contexts beyond the scope of conventional compilers. This talk will present two projects which do this.

The first is a tool for optimising distributed Java applications. The challenge here is to reduce the work the application needs to do, while dealing with dynamic binding, untrusted participants, and network failure. Our prototype implements message aggregation and server-to-server forwarding for RMI applications. It is based on a general-purpose "virtual JVM" which allows run-time manipulation of an application's control flow using dependence information about each block.

The second part of the talk concerns cross-component optimisation in parallel scientific applications. We have developed a technology for "active libraries", which dynamically exploit each operator's context of use. For example, our parallel dense linear algebra library automatically selects how each intermediate value should be distributed across the processors to minimise communications; we are extending this to include loop fusion and domain-specific optimisations.

The common thread in these two projects is the combination of static analysis, producing dependence metadata, and run-time optimisation, which adds knowledge about actual values, actual control flow and actual resources. The talk concludes with our ambitions for developing this idea, with applications in interactive e-Science services.

This is joint work with Olav Beckmann and Kwok Yeung.


Home : Colloquium 

Please contact our webadmin with any comments or changes.
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh.