Symbolic synthesis of knowledge-based program implementations. Systems with concurrent streams of activity are ubiquitous in computer hardware and software designs, but are conceptually complex, and fraught with faults and inefficiency. The project aims to address these difficulties by automating aspects of system design, to relieve the designer of the need to reason about complex patterns of information flow.
Automatic Energy Tuning of Parallel Applications on a Hybrid Supercomputer. Energy efficiency is a critical challenge in building next-generation supercomputers. This project aims to provide a new energy-tuning tool integrated with Cray’s systems, to simplify the process of tuning hybrid applications and managing efficient energy use. Although hardware components play a dominant role in saving energy, heterogeneous systems offer the opportunity to exploit the extremely high concurrency with mode ....Automatic Energy Tuning of Parallel Applications on a Hybrid Supercomputer. Energy efficiency is a critical challenge in building next-generation supercomputers. This project aims to provide a new energy-tuning tool integrated with Cray’s systems, to simplify the process of tuning hybrid applications and managing efficient energy use. Although hardware components play a dominant role in saving energy, heterogeneous systems offer the opportunity to exploit the extremely high concurrency with modest energy consumption using accelerators. Accordingly, the future of parallel computing must consider the trade-off between obtaining the optimal performance and the allowed power budget. The project plans to design parallel programming environments that support energy analysis and tuning.Read moreRead less
Relaxed correctness criteria for modern multi-core architectures. This project seeks to lay groundwork for fully exploiting the potential of multicore computers. Multicore computers have become ubiquitous over the last decade, now being standard in everything from laptops to mobile phones. Their benefits are clear – better performance leading to more sophisticated applications. Key to ensuring those benefits are complex, and often subtle, algorithms that exploit the parallelism that multicore co ....Relaxed correctness criteria for modern multi-core architectures. This project seeks to lay groundwork for fully exploiting the potential of multicore computers. Multicore computers have become ubiquitous over the last decade, now being standard in everything from laptops to mobile phones. Their benefits are clear – better performance leading to more sophisticated applications. Key to ensuring those benefits are complex, and often subtle, algorithms that exploit the parallelism that multicore computers offer. This project aims to lay foundations for extending those benefits to applications where high reliability is a concern. It plans to do so by developing theoretical results about the correctness of algorithms on standard multicore computers, and practical tools and techniques to help programmers of multicore computers to better understand the behaviour of their code.Read moreRead less