Skip to main content

Advanced compiler and runtime system support for task data-flow parallel programming

DEL PhD Studentship 2013/14

Advanced compiler and runtime system support for task data-flow parallel programming

Principal Supervisor: Dr. Hans Vandierendonck


Project Description:

The programming of parallel and distributed computers, ranging from embedded multi-cores to top-500 HPC systems, is situated at a relatively low level of abstraction. In practice, the programmer must not only identify and describe the parallelism that exists in the program but (s)he must also re-structure the parallel code and redefine data structures to optimize the program for every new parallel processor and system architecture.

The task data-flow execution model is a recent approach that aims to simplify parallel programming. It enables dynamic expression of parallelism in the sense that the parallelism is extracted during execution, as opposed to models where parallelism is described statically in the program text. A common approach to task data-flow execution requires that the programmer specifies the memory footprint of each task in the program: what memory locations it will access and whether that access will be read-only, write-only or read/write. The runtime system then infers the dependencies between tasks based on the order by which they are launched and on the overlap of their memory footprints. This process is very similar to how an out-of-order superscalar processor extracts instruction-level parallelism on the fly.

The goal of this project is to further develop the task data-flow model and demonstrate its applicability. The project will consider improvements and extensions to the programming language. It will define new constructs to express parallelism and it will investigate their implementation in the runtime system. Furthermore, the project will consider compile-time optimization and restructuring of task data-flow programs. Compile-time optimization has the potential to reduce runtime system overheads, to restructure parallel code in order to expose more parallelism, and to reduce the specificity of optimizations in task data-flow programs for particular processor architectures. The long-term effect of this project is to simplify parallel programming, which is becoming an increasingly important problem due to the prevalence of multi-core processors.

This project will be executed in the context of on-going research in the cluster on High-Performance and Distributed Computing on optimizing and exploiting memory locality in task data-flow programs, on energy-efficient computing and on emerging non-volatile memory technologies.


Objectives:

  • Analyse parallel applications and identify performance bottlenecks and limitations of the task data-flow programming model.
  • Investigate and develop programming language constructs that improve performance and scalability of parallel programs and/or improve expressiveness of the task data-flow programming model.
  • Investigate the implementation of programming language constructs in task data-flow runtime systems.
  • Investigate and develop compilation techniques to improve performance and/or programmability of the task data-flow programming model.
  • Quantitatively evaluate the impact of the proposed techniques.

Academic Requirements:

A minimum 2.1 honours degree or equivalent in Computer Science or relevant degree is required.


General Information

This 3 year PhD studentship, funded by the Department for Employment and Learning (DEL), commences on 1 October 2013, covers approved tuition fees and a maintenance grant (unknown for 2013/14) is approximately £13,000 - £14,000.

Applicants should apply electronically through the Queen's online application portal at: https://dap.qub.ac.uk/portal/

Further information available at: http://www.qub.ac.uk/schools/eeecs/PhD/PostgraduateResearchScholarships/


Contact details:

Supervisor Name: Dr. Hans Vandierendonck
Address: Bernard Crossland Building,
18 Malone Road
Belfast,
BT9 5BN
Email: h.vandierendonck@qub.ac.uk
Tel: +44 28(0) 9097 4654
Web: http://www.cs.qub.ac.uk/~H.Vandierendonck/


Deadline for Submission of Applications: 7th March 2013

For further information on Research Area click on link below:
http://www.cs.qub.ac.uk/~H.Vandierendonck/research.html