Research Associate/Senior Research Associate (Emergent Systems)

Lancaster, Lancashire (GB)
£28,331 - £40,322
27 Feb 2020
End of advertisement period
29 Mar 2020
Contract Type
Fixed Term
Full Time

Research Associate/Senior Research Associate (Emergent Systems)
Ref: A2991
Department: School of Computing and Communications
Salary: £28,331 - £40,322
Closing Date: 29 March 2020
Contract: Fixed Term

We are seeking a post-doctoral researcher to work on the Leverhulme Research Grant project “The Emergent Self-Aware Data Centre: Autonomous software landscaping at scale”.


This research project is exploring how software systems can self-assemble from a pool of building blocks, and continuously re-assemble themselves using alternative building blocks over time. Using a continuous self-assembly paradigm removes much of the complexity involved in building self-adaptive systems, as we do not need to define adaptation points in advance. We use real-time machine learning to both assemble a system and then explore alternative assemblies online, learning which ones best match the current characteristics of the operating environment. We are exploring this approach in the context of data centre software (web serving, load balancing, cache clusters, databases, etc.), which we build using our technology to understand its relative benefits and costs against existing non-adaptive approaches in this domain.

Key Research Directions

The core technology to enable the above approach has already been built within the project. We are seeking an additional post-doctoral researcher to explore one, or both, of the following directions:

  1. Distributed Reinforcement Learning: our overall data-centre backend represents a distributed search space for reinforcement learning, in which one node has visibility of the global reward, and all nodes have an action space they can explore. This represents a point in the real-time learning field which has received very little research for real-world systems. This track of research would investigate the state of the art in distributed reinforcement learning and would seek to develop new techniques which scale well for real-world stream processing systems like those in data centres.
  2. Self-Improving Code: we have a large pool of possible building blocks with which to construct our systems, many of which already have different implementation variants available which we can learn over as an optimisation space. However, all variations are hand-crafted, and we are interested in solutions which automatically generate new variations of components with improved performance for particular environments encountered at runtime. We have undertaken initial work in this space, and this track would seek to generalise and expand on self-improvement code for online systems.

Besides these directions, we would also welcome your input and creativity in complementary research which fits within the project – we actively encourage self-led research in conjunction with project deliverables.

Experience Needed

The ideal candidate will have knowledge of reinforcement learning algorithms including multi-armed bandits, distributed coordinated machine learning, and/or genetic improvement. We are also able to offer guidance and support on each of these areas of research, however, so general computer science researchers are welcome. The candidate will be expected to implement and test algorithms throughout the project and so good programming skills are desirable. 


You will join a team of three people working on inter-related research objectives for this project, in addition to the academic lead, and will join a wider research group of 15 PhD students and post-docs performing research in operating systems, distributed systems, and self-adaptive software.

This is a 12 month appointment with a fixed end date of 31st May 2021. If you have informal enquiries please contact Dr Barry Porter by email at:  

We welcome applications from people in all diversity groups. 

Similar jobs

Similar jobs