Micro Virtual Machines: Abstraction, contained. This project will address a systemic source of inefficiency in widely used software which leads to many programs running as much as ten times slower and using considerably more energy than necessary, shortening battery life on mobile phones and increasing costs for large server farms. This inefficiency is endemic because it is due to the underlying languages rather than the particular software. This project will address this problem by developing a ....Micro Virtual Machines: Abstraction, contained. This project will address a systemic source of inefficiency in widely used software which leads to many programs running as much as ten times slower and using considerably more energy than necessary, shortening battery life on mobile phones and increasing costs for large server farms. This inefficiency is endemic because it is due to the underlying languages rather than the particular software. This project will address this problem by developing a high efficiency substrate, called a micro virtual machine, on which languages may be built.Read moreRead less
Next generation garbage collection: discovery, design, and development. This project aims to improve the performance of programming languages used by millions of Australians every day, such as Java, JavaScript and PHP by developing improved memory-management algorithms. These languages use what is referred to as “garbage collection” to ensure memory is managed without data loss, but do so conservatively and consequently cause performance challenges and energy overheads. This project expects to p ....Next generation garbage collection: discovery, design, and development. This project aims to improve the performance of programming languages used by millions of Australians every day, such as Java, JavaScript and PHP by developing improved memory-management algorithms. These languages use what is referred to as “garbage collection” to ensure memory is managed without data loss, but do so conservatively and consequently cause performance challenges and energy overheads. This project expects to provide these languages with improved memory-management algorithms, and provides researchers and industry with a framework for innovation. This project will enable safe software that is more efficient on today's hardware and able to exploit emerging hardware. This project should lead to better performance and energy savings for server applications, phones, watches, and smart appliances, while ensuring memory safety.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