Managed Runtimes for Energy Efficient Multicore Architecture

Lead Research Organisation: University of Manchester
Department Name: Computer Science

Abstract

Developing, controlling and optimizing distributed applications on modern heterogeneous
architectures in the context of energy efficiency is a complex task involving trade-offs between raw
performance (operations per second), power consumption (joules per second) and, for many
applications, the accuracy of the computation (suitably defined), all of which may vary in terms of
supply and demand - from either the algorithm and/or the hardware - over the lifetime of an
application.
Looking at the Apache projects dedicated to Big Data processing
(https://projects.apache.org/projects.html?category), there are 36 different software frameworks.
Although there are some projects that are more popular than others, a quick analysis reveals two key
trends. First, most of the software frameworks have inside a data-driven or event-driven model of
computation. Secondly, most of the software frameworks run on Java Virtual Machines.
The University of Manchester has unique knowledge on data-driven computations, JIT compilers,
runtime systems and virtualization. For example, we have been porting the Maxine Virtual Machine (a
research JVM, https://en.wikipedia.org/wiki/Maxine_Virtual_Machine) to the ARMv7. In addition we
have included and improved the support and performance of the GRAAL JIT compiler in Maxine VM
(https://arxiv.org/abs/1509.04085). The current status of Maxine VM on ARMv7 is capable of running
of complex applications, e.g. SLAMBench, on platforms such as the Xilinx Zynq (dual-core ARM
Cortex A9 with 1GB of memory).
For more information on GRAAL and how it is being integrated into the OpenJDK visit
https://github.com/graalvm/graalvm and http://hg.openjdk.java.net/graal/graal-jvmci-9/
The University of Manchester has also started working on the port of Maxine VM to ARMv8. The
student Hartley started this process as part of his MSc thesis. There is a significant engineering effort
that needs to be dedicated so as to be able to optimize server side Big Data frameworks for ARMv8-
based datacenters.
The main research question is how and where we can optimize data-driven computations for Big Data
processing on ARMv8 servers? The approach taken by this PhD project is to investigate the runtime
system. That is, look for improvements at the JIT compiler, memory management, JVM as well as the
interaction with the OS and or directly with a hypervisor.
This PhD is systems-oriented and we will follow a methodology of investigation driven by building
prototypes which demonstrate our novel ideas. In order to make progress, the PhD student needs to
command the literature in, and become familiar with: Managed Runtime Systems optimizations for
performance and energy plus ; compiler and runtime technologies (specifically for ARM-based
systems); ARM architecture (many-cores, particularly ARMv8 systems.

Publications

10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/N509280/1 01/10/2015 31/03/2021
1849183 Studentship EP/N509280/1 13/10/2016 30/06/2021 Timothy Hartley
 
Title Dynamically typed language support for the Maxine JVM (JSR 292) 
Description The Maxine Java Virtual Machine (JVM) was extended to support Java Specification Request (JSR) 292, providing a mechanism for dynamically typed language support on the JVM. This work also enables Java 8 Lambda expressions. 
Type Of Technology Software 
Year Produced 2016 
Open Source License? Yes  
Impact The work was essential to allow the Maxine Java Virtual Machine to support Java 8 language features, such as lambda expressions, and compile the Java Development Kit version 8 class library. Subsequently Maxine was able to run applications using these features and application programming interfaces thereby increasing its utility.