Trading performance, energy and accuracy for computations on heterogeneous parallel hardware
Ensuring applications execute efficiently on modern heterogeneous parallel computing systems raises severe challenges. Solutions appear to demand a co-design approach spanning algorithm designers and programmers as well as compiler and run-time system developers and hardware designers. The focus of this project concerns the related problems of (possibly dynamically) mapping and scheduling algorithms to heterogeneous computers and controlling their execution to meet performance and other, application-specific criteria. Dataflow-inspired task-based approaches, such as are found in OmpSs, StarPU and Openstream, have been demonstrated to be a promising approach but there remain questions related to, for example, how to generate and manage tasks of appropriate granularity, either at compile-time or run-time, in coded implementations of algorithms. Further, performance (or time-to-solution) is now-a-days not the only metric of interest: power and energy consumption are also important and there are opportunities to trade-off 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.
Two application domains are of particular interest for this project, but others could be considered, depending on the student. Deep knowledge of an application???s algorithms is not required, though some empathy with the chosen domain would be necessary. The first domain is related to Computer Vision, in particular for applications linking SLAM (Simultaneous Localization and Mapping) with Object Recognition using, for example, Deep Learning techniques (e.g. Convolutional Neural Networks). Architecture targets here would include low-power devices based on ARMv8 systems consisting of heterogeneous multi-core processors with accelerators: e.g. vector units, GPGPUs and FPGAs. There is also the possibility of collaboration with the EPSRC Pamela project (supported by ARM) which targets Computer Vision.
The second application domain is based on examples of scientific codes from Climate Research and Numerical Weather Prediction. There is an existing collaboration with the U.K. Met Office and STFC in this area. There will be strong potential for collaboration with the EuroEXA project, commencing in September 2017, in which Manchester is leading the development of new compute nodes towards exascale computing (based on multicore ARM CPUs with FPGA-based acceleration). Architecture targets here also include, for example, small ARM-based systems in our research group and systems owned by the Met Office plus the Cavium ARM-based system at STFC, under STFC???s Energy Efficiency initiative.
The PhD is systems-oriented and research contributions in the area of techniques and tools would be anticipated at one or more of the interfaces between programming and language support, compiler and run-time systems and, potentially,
This research project is one of a number of projects at this institution. It is in competition for funding with one or more of these projects. Usually the project which receives the best applicant will be awarded the funding. Applications for this project are welcome from suitably qualified candidates worldwide. Funding may only be available to a limited set of nationalities and you should read the full department and project details for further information.
How good is research at The University of Manchester in Computer Science and Informatics?
FTE Category A staff submitted: 44.86
Research output data provided by the Research Excellence Framework (REF)
Click here to see the results for all UK universities