Monday 2 September 2013

Research Associates (2 Posts) - DreamCloud Project - University of York - Real-Time Systems Group

Research Associates (2 Posts) - DreamCloud Project
University of York - Department of Computer Science - Real-Time Systems Group
Salary: GBP 29541 to GBP 36298 a year on Grade 6 of the University's salary scales.

Applications are invited for two Research Associates to take a leading role on the development work within the EU-funded DreamCloud project, specifically on modelling and evaluation of dynamic resource allocation mechanisms for multiprocessor systems. These roles would suit early postdoctoral/early career researchers working in Multiprocessor Computing.

About DreamCloud Project:
The availability of many-core computing platforms enables a wide variety of technical solutions for systems across the embedded and high-performance computing domains. However, large scale many-core systems are notoriously hard to design and manage - choices regarding resource allocation alone can account for wide variability in timeliness and energy dissipation (up to several orders of magnitude). Therefore, the fundamental challenge addressed by this project is to:
Enable dynamic resource allocation in many-core embedded and high performance systems while providing appropriate guarantees on performance and energy efficiency.
The project's vision is to provide different types of cloud-like resource management infrastructure, aiming to harmonise the approaches to dynamic allocation across the complete spectrum between systems with little flexibility and strict performance guarantees all the way to highly flexible systems with soft performance guarantees. This will be achieved by research and development of the following technologies:
- novel resource allocation heuristics that are sufficiently lightweight to be applied during runtime, and that are able to take into account performance guarantees (timing and energy);
- reference implementations of such heuristics within different kinds of cloud-like infrastructure (embedded clouds, micro clouds and high-performance clouds), enabling case-studies and facilitating the take-up by industry;
- extensions to existing system software packages (OS, virtual machines, middleware) to support predictable  runtime  migration  of  tasks  and  virtual  machines;
- reference many-core platforms with associated monitoring infrastructure, to evaluate the effectiveness of the proposed resource allocation mechanisms and to support pre-deployment parameter tuning.

The project will use case-studies in three different domains - automotive, media and entertainment, and scientific computing - to evaluate the developed technologies.

Partners: University of York (technical leader), The Open Group (project manager), aicas GmbH, LIRMM, Bosch, RheonMedia, HPCC Stuttgart


RA Post 1
Development and evaluation of dynamic resource allocation mechanisms for multiprocessor systems
To contribute to the development of dynamic resource allocation mechanisms for multiprocessor systems, including:
- Research and development of resource allocation heuristics for the mapping and migration of tasks and virtual machines over multiprocessor platforms (on-chip, grids, cloud)
- Application and improvement of analytical and simulation models to evaluate the performance and energy efficiency of those mechanisms in distinct domains (i.e. automotive, multi-stream video processing, high-performance computing)
- Joint work with industrial and academic partners towards the development and evaluation of the resource allocation mechanisms within industry-relevant case studies
- Writing up of research results and dissemination through publications, seminar and conference presentations and public engagement and outreach activities 
- To contribute to the preparation of research proposals and applications to external bodies
- To undertake appropriate organisational and administrative activities connected to the research project, including conference organisation, and the development of promotional or educational material including website maintenance and development
- To provide guidance to other staff and students, as required, as well as coordinating the work of small research teams.
- To assist with undergraduate teaching in own area of expertise.

Essential qualifications, knowledge and skills:
- PhD in Computer Science or closely related discipline
- Knowledge in multiprocessor computer platforms, including state-of-the-art memory hierarchies and interconnects (e.g. Networks-on-Chip)
- Knowledge of a range of static and dynamic resource allocation algorithms and heuristics
- Ability to develop, evaluate and optimise computer systems
- Highly developed communication skills to engage effectively with a wide ranging audience, both orally and in writing, using a range of media
- Ability to write up research work for publication in high profile journals and engage in public dissemination
- Competency to make presentations at conferences or exhibit work in other appropriate events
- Experience on evaluating performance and/or energy dissipation of multiprocessor systems
- Experience of carrying out both independent and collaborative research
- Experience of writing up research work for publication
- Ability to work as part of a team and also to work independently using own initiative
- Attention to detail and commitment to high quality
- Collaborative ethos
- Interest in and enthusiasm for the subject matter of the project
- Positive attitude to colleagues and students
- Willingness to work proactively with colleagues in other work areas/institutions
- Ability to plan and prioritise own work in order to meet deadlines, including using initiative to plan research programmes.
- Commitment to personal development and updating of knowledge and skills

Desirable qualifications, knowledge and skills:
- First degree in Computer Science
- Knowledge of analytical models for performance (e.g. queue theory, network calculus) and time predictability (e.g. response time analysis) of computer systems
- Knowledge of estimation techniques for energy dissipation in computer systems
- Knowledge of operating systems for multiprocessors
- Knowledge of operating systems and virtualisation technologies for grid and cloud computing
- Knowledge of parallel programming models, libraries and languages
- Ability to identify sources of funding and contribute to the process of securing funds, with collaborators if required
- Competency to conduct individual and collaborative research projects
- Ability to develop research objectives , projects and proposals for own and joint research, with the assistance of a mentor if required
- Experience in developing and implementing resource management mechanisms for multiprocessor systems
- Experience in developing and evaluating performance of embedded software
- Experience in developing and evaluating performance in grid or cloud computing

RA Post 2
To contribute to the development of Operating System and system software for multiprocessor / 
many core systems, including:
- Research and development of OS APIs and infrastructure to migrate OS resources, potentially 
within Linux and bespoke real-time OSs
- Research and development to support at the OS level dynamic migration of Java objects / 
threads / VMs within a distributed environment
-Integration within the OS of appropriate resource allocation heuristics to direct migration
- Integration within the OS of tracing monitoring and profiling approaches to allow measurement of migration approaches
- Joint work with industrial and academic partners towards the development and evaluation of the resource allocation mechanisms within industry-relevant case studies
- Writing up of research results and dissemination through publications, seminar and conference 
presentations and public engagement and outreach activities 
- To contribute to the preparation of research proposals and applications to external bodies
- To  undertake  appropriate  organisational  and  administrative  activities  connected  to  the  research project,  including  conference  organisation,  and  the  development  of  promotional  or  educational material including website maintenance and development
- To provide guidance to other staff and students, as required, as well as coordinating the work of small research teams.
- To assist with undergraduate teaching in own area of expertise.

Essential qualifications, knowledge and skills:
- PhD in Computer Science or closely related discipline, or equivalent 
experience
- Knowledge of operating systems, Linux, real-time operating systems
- Development of operating systems / operating system components, particularly real-time operating systems
Knowledge of scheduling and resource allocation algorithms and heuristics within operating systems
- Ability to develop, evaluate and optimise computer systems
- Highly developed communication skills to engage effectively with a wide ranging audience, both orally and in writing, using a range of media
- Ability to write up research work for publication in high profile journals and engage in public dissemination
- Competency to make presentations at conferences or exhibit work in other appropriate events
- Experience of operating system development
- Experience of carrying out both independent and collaborative research
- Experience of writing up research work for publication
- Ability to work as part of a team and also to work independently using own initiative
- Attention to detail and commitment to high quality
- Collaborative ethos
- Interest in and enthusiasm for the subject matter of the project
- Positive attitude to colleagues and students
- Willingness to work proactively with colleagues in other work areas/institutions
- Ability to plan and prioritise own work in order to meet deadlines, including using initiative to plan research programmes.
- Commitment to personal development and updating of knowledge and skills

Desirable qualifications, knowledge and skills:
- First degree in Computer Science
- Knowledge of analytical models for real-time systems (e.g. response time analysis) of computer systems and real-time operating systems
- Knowledge of profiling, monitoring techniques for operating systems and system software
- Knowledge of operating systems and virtualisation technologies for grid and cloud computing
- Knowledge of parallel programming models, libraries and languages
- Ability to identify sources of funding and contribute to the process of securing funds, with collaborators if required
- Competency to conduct individual and collaborative research projects
- Ability to develop research objectives, projects and proposals for own and joint research, with the assistance of a mentor if required
- Experience in developing and implementing resource management mechanisms for multiprocessor systems
- Experience in developing and evaluating performance of embedded software
- Experience in developing and evaluating performance in grid or cloud computing


The posts are fixed term, available until 31 August 2016.

Informal enquiries may be made in the first instance to: Dr Leandro Soares Indrusiak (+ 44 1904 325570).

For more details on the posts and the application process:

Closing date for applications:  23 September 2013