Dynamic Compute-Resource Topology Mapping and Management
Lead Research Organisation:
University of Glasgow
Department Name: School of Computing Science
Abstract
Computing occurs on increasingly heterogeneous systems to maximise performance. There are many approaches to improve performance. for multi-core, GPGPU, remote distributed execution and other paradigms.
The complexity of software and toolchains required to exploit such heterogeneity is massive.
This PhD research harmonizes with the Anyscale Apps project (EP/L000725/1). The aim is to write an application once and allow the resulting binary to be able to scale and run on a different platform or even a distributed platform, i.e. "write once, scale anywhere".
The PhD project will explore how code can be synthesised and deployed for various different types of hardware, within a general unified framework.
There are three major areas for development:
(1) Synthesis of task variants with constraints placed on the variant space.
(2) Costing analysis for scheduling optimization.
(3) Deployment of selected task variants in a common execution environment.
Potential application areas for this technique include climate modelling, machine learning, graph processing and other high-performance or big data workloads.
The complexity of software and toolchains required to exploit such heterogeneity is massive.
This PhD research harmonizes with the Anyscale Apps project (EP/L000725/1). The aim is to write an application once and allow the resulting binary to be able to scale and run on a different platform or even a distributed platform, i.e. "write once, scale anywhere".
The PhD project will explore how code can be synthesised and deployed for various different types of hardware, within a general unified framework.
There are three major areas for development:
(1) Synthesis of task variants with constraints placed on the variant space.
(2) Costing analysis for scheduling optimization.
(3) Deployment of selected task variants in a common execution environment.
Potential application areas for this technique include climate modelling, machine learning, graph processing and other high-performance or big data workloads.
Organisations
People |
ORCID iD |
Jeremy Singer (Primary Supervisor) | |
Dejice Jacob (Student) |
Studentship Projects
Project Reference | Relationship | Related To | Start | End | Student Name |
---|---|---|---|---|---|
EP/N509668/1 | 30/09/2016 | 29/09/2021 | |||
1638780 | Studentship | EP/N509668/1 | 01/02/2016 | 29/01/2020 | Dejice Jacob |
Description | Existing programming language Virtual Machines are restricted in terms of dynamic resource utilisation in heterogeneous environments. My investigations to date have demonstrated this shortcoming. I have developed new approaches to harness and optimise general programming idioms dynamically and matching them to appropriate hardware at run-time. I have developed a novel method to defer high level loop parallelism extraction in the presence of runtime time loop bounds and/or loop-invariant constants to execution time. By using the data type introspection facilities provided by the VM, we can dynamically generate and execute accelerator kernels to speed up normal nested loops. By making this transparent to the novice developer, we can provide a boost in performance. I have also developed a novel light-weight cost model to determine the device which will execute a given instance of a loop nest computation with runtime determination of dependences and loop iteration domains. |
Exploitation Route | I have released a demonstrator platform under a permissive open source license. This can be used directly or transferred to other run-time frameworks. |
Sectors | Digital/Communication/Information Technologies (including Software) |
Title | ALPyNA : Acceleration of Loops in Python for Novel Architecturese |
Description | 1. Extracts Loop parallelism from normal nested python loops 2. Framework to do if-conversion on normal Python loops 3. Framework to defer compilation and generation of CPU or GPU kernels from normal nested Python loops 4. Cost modelling to accurately determine which device in a heterogeneous JIT compiling environment will execute a given loop computation faster. |
Type Of Technology | Software |
Year Produced | 2019 |
Open Source License? | Yes |
Impact | 1) Using GPU acceleration for numerical kernels written using plain Python loops 2) Dynamic analysis extracts greater parallelism from loop structure in the presence of dynamically changing loop bounds or presence of loop-invariant symbols within subscript analysis 3) Lightweight analytical cost model suitable for use in dynamic programming language runtimes. Such dynamic programming languages like Python are increasingly being adopted for scientific and numerical analysis. |
Description | Hands-on robot demo at European Researcher's night |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | Regional |
Primary Audience | Public/other audiences |
Results and Impact | We demonstrated a small-scale semi-autonomous vehicle using a camera to follow a recognisable object over a course. We set up the activity as a competition for school aged children to make the car follow a given trajectory in the minimum possible time. The objective was to enthuse children in computer science and engage adults about the state and challenges of autonomous vehicles. |
Year(s) Of Engagement Activity | 2017 |
URL | http://www.explorathon.co.uk/glasgow |
Description | HiPEAC Student Heterogeneous Programming Challenge |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Postgraduate students |
Results and Impact | Systems Programming competition aimed at evaluating a range of programming paradigms and tool chains to target heterogeneous multi-core architectures. We were one of 15 teams. Our team named "What does K-Mean?" comprised of 4 PhD students and a lecturer (as an adviser ), developed 3 solutions to the problem of K-means clustering using 3 algorithms. We presented our implementation and results as part of the HiPEAC Computer Systems Week in Zagreb on 27-April-2017 |
Year(s) Of Engagement Activity | 2017 |
URL | https://www.hipeac.net/events/activities/7496/hipeac-student-heterogeneous-programming-challenge-ii |
Description | Member of Organising committee at SICSA PhD conference 2017 |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Postgraduate students |
Results and Impact | I was the lead organiser for three PhD student workshops at the SICSA PhD conference 2017 in Dundee. (1) IBM -Internet of Things Programming framework workshop (2) How to write a great paper and present it (3) Systems skills workshop . The overall aim of the event was to improve the transferable skills of the computer science PhD community in Scotland. The event received overwhelmingly positive feedback from delegates. |
Year(s) Of Engagement Activity | 2017 |
URL | https://www.sicsaconf.org |
Description | Participation in Google Compiler workshop |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | The Google compiler summit 2019 was aimed to present the latest industry advancements in Compilers and runtime technology for Machine Learning and Programming languages. It aims to create dialogue and close research collaborations in the area of code generation, dynamic runtimes, developer efficiency. I presented my work to industry practitioners who expressed interest in adopting and refining the concept |
Year(s) Of Engagement Activity | 2019 |
Description | Poster presentation at Google Compiler Summit |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | The Google Compiler Summit 2018 aims to present the latest industry trends and research in programming languages, compiler and runtime technology. It aims to facilitate close dialogue between industry and academic research groups in the same field. I presented a poster about the dynamic parallelism analysis and automatic hardware acceleration framework for dynamically typed language VMs I have developed at the workshop. Engineers from industry positively engaged with the idea and provided interesting view points. |
Year(s) Of Engagement Activity | 2018 |
URL | https://docs.google.com/forms/d/e/1FAIpQLSdgV4bed45zcfD1S99O6QeVq_QgXDYqY0pEE3n9LCL4j6K79g/viewform |
Description | Workshop on Research in Changes of Variability and Environmental Risk |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | ReCoVeR was a workshop organised by the ClimathNet Network at the University of Exeter. The purpose of the workshop was to bringing together High Performance Computing Specialists and with Climate modelling domain experts in academia, research labs and the Met Office. My talk was about scalable elastic resource dependent computing and its potential application in climate modelling. |
Year(s) Of Engagement Activity | 2017 |
URL | http://www.recoverlwec.org/ |
Description | Workshop on performance adaptation tools for multicore and accelerators |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Professional Practitioners |
Results and Impact | The Many-Core workshop discussed emerging trends and future directions in manycore system design and challenges faced in developing tools to harness performance. This workshop was attended by world renown researchers. The areas under active discussion involved hetergeneous devices and software tools, fault tolerant systems and run-time adaptive frameworks. My workshop presentation was on automatic and transparent optimisations to run on heterogeneous hardware. |
Year(s) Of Engagement Activity | 2018 |
URL | https://www-users.york.ac.uk/~mt540/graceful-ws/index.html |
Description | Zoom workshop (hosted by University of Kent) on Parallelism in Python |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | Regional |
Primary Audience | Professional Practitioners |
Results and Impact | A presentation of PhD research, along with a live demo in Python - to around 20 researchers and practitioners. |
Year(s) Of Engagement Activity | 2021 |
URL | https://research.kent.ac.uk/programming-languages-systems/seminars/ |