To contribute to the EPSRC project “Hybrid static/dynamic scheduling for task dataflow parallel programs” by designing, developing and evaluating a compiler and language runtime system for fine-grain parallel programs. To be an active member of the research project/team assisting in the development of research proposals and the planning and delivery of the research activity within a specified area so that the overall research objectives of the project/school are met.
Description
This project, funded by the UK Engineering and Physical Sciences Research Council under the First Grant Scheme, investigates parallel programming models based on task dataflow. These programming models separate the specification of the program from the detection of parallelism, thus shifting the focus towards correctness of software and ease of development. Task dataflow models however depend on dynamic analysis of parallelism, which adds to the execution time overhead and restricts the model to programs with coarse-grain parallelism. In contrast, it is known that statically scheduled programs (where parallelism has been decided and mapped out before the program executes) allow considerably finer-grain parallelism.
This project will investigate techniques to reconcile the benefits of dynamically scheduled task dataflow programs with the benefits of static scheduling. To this end, we will investigate compilation techniques and extensions to dynamic schedulers that allow embedding statically scheduled fine-grain parallel components inside coarse-grain dynamically scheduled programs.
MAJOR DUTIES:
1. Develop system software (to include compilers and runtime systems) using the C and C++ programming languages.
2. Develop, setup and evaluate benchmarks and computing kernels on experimental computing systems using programming
languages and system software that are not yet in production.
3. Measure, analyse and characterise performance of computing systems quantitatively.
4. Develop and plan an area of personal research and expertise, and/or undertake research under supervision within a specific
research project or as a member of a research team.
5. Design, develop and refine experimental apparatus, field research or experiments in order to obtain reliable data.
6. Carry out analyses, critical evaluations, and interpretations using methodologies and other techniques appropriate to area of
research.
7. Present regular progress reports on research to members of the research group or to external audiences to disseminate and
publicise research findings.
8. Prepare, often in consultation with the supervisor, material for publication in national and international journals and
presentations at international conferences.
9. Assist grant holder in the preparation of funding proposals and applications to external bodies.
10. Carry out routine administrative tasks associated with the research project/s to ensure that project/s are completed on time and
within budget. These might include organisation of project meetings and documentation, financial control, risk assessment of
research activities.
11. Carry out occasional undergraduate supervision, demonstrating or lecturing duties within the post holder’s area of expertise and
under the direct guidance of a member of academic staff.
12. Read academic papers, journals and textbooks to keep abreast of developments in own specialism and related disciplines.
Nr of positions available : 1
Research Fields
Computer science - Computer systems
Career Stage
Experienced researcher or 4-10 yrs (Post-Doc)
Early stage researcher or 0-4 yrs (Post graduate)
Research Profiles
First Stage Researcher (R1)
Recognised Researcher (R2)
Benefits
See www.qub.ac.uk/sites/InternationalStaff/ for details.
Requirements
ENGLISH |
Excellent |
Computer science |
Master Degree or equivalent |