Subject areas:
Computer architecture, machine learning, bioinformatics
Funding type:
Study costs.
PhD Studentship in Computer Architecture for Modern Applications
Award details
Project Description
In today's digital landscape, the exponential growth of data has become the driving force behind modern applications, such as machine learning applications and genome analysis, revolutionizing our approach to overall living quality and healthcare. However, this unprecedented deluge of data poses a huge challenge to traditional von Neumann computer architectures. The inefficiencies arising from the constant data movement between processors and memory consume a substantial portion of both execution time and energy when running modern applications on conventional von Neumann computers. To reduce this significant data movement, data-centric architectures, particularly processing-in-memory accelerators, emerge as a promising solution by enabling the processing of data directly where it resides. Nonetheless, most existing data-centric architectures primarily focus on accelerating specific arithmetic operations, inadvertently leaving a substantial gap between the architectural enhancements and the holistic needs of modern applications. Concurrently, conventional software optimizations often treat the architecture as a black box, which inherently limits the potential acceleration of applications.
This project will open the black boxes in the design of modern applications and computing hardware, explore the unique characteristics, deeply understand the limitations, and develop a data-centric architecture to satisfy users’ requirements (performance, energy, reliability, portability, etc) in a given scenario. By bridging the gap between software demands and hardware capabilities, this project will create systems that are not only more powerful but also more efficient, adaptable, and secure. As applications become increasingly specialized and computational needs continue to grow, this project will play a critical role in ensuring that hardware can evolve to keep pace with and effectively support software innovation.
The goal of this project
This project aims to (1) improve performance, (2) save energy, (3) improve reliability, and/or (4) increase the usability of modern applications via software and hardware co-design (especially algorithm and architecture codesign).
Requirements
The ideal candidate for this PhD project should have expertise and/or strong interest in the following skills.
1. Foundational Knowledge in Computer Architecture
- Digital Logic Design: Understanding of basic concepts like gates, flip-flops, multiplexers, and memory hierarchies.
- Processor Design Principles: Knowledge of pipelining, instruction set architecture (ISA), and processor execution models (RISC, CISC, superscalar, etc.).
- Memory Systems: Concepts of caching, memory hierarchy, memory management, and optimizations.
- Parallelism: Familiarity with parallel and distributed computing, including multicore and manycore systems, SIMD, MIMD, and GPGPU computing.
2. Programming and Hardware Description Languages
- Programming Languages: Proficiency in languages like C/C++ and Python for performance modeling, simulation, and testing.
- Hardware Description Languages (HDLs): Knowledge of HDL languages, such as Verilog or VHDL, is crucial for designing and simulating hardware components.
- Scripting: Familiarity with scripting languages (like Python or Bash) to automate experiments, run simulations, and analyse data.
3. Simulation and Modeling
- Architectural Simulators: Experience with popular simulators like GEM5, SimpleScalar, or Sniper, which are used to model and test new architecture ideas.
- Performance Modeling: Skills in building and analysing performance models, which help in assessing the trade-offs of different architectural designs.
- Energy and Power Modeling: Familiarity with tools and methodologies to evaluate energy efficiency, such as McPAT, is often essential, especially in power-sensitive designs.
4. Data Analysis and Profiling
- Profiling Tools: Experience with tools like Valgrind, Gprof, and Intel VTune for performance profiling to understand bottlenecks and workload behavior.
- Data Analysis and Visualization: Ability to analyse data from simulations and experiments, using tools like MATLAB, R, or Python (NumPy, Pandas, Matplotlib).
- Statistical Analysis: Understanding of basic statistical techniques to interpret performance data and validate research results.
5. Mathematical and Analytical Skills
- Probability and Statistics: These are necessary for evaluating system performance and reliability metrics.
- Algorithmic Knowledge: Strong grasp of algorithms and data structures to optimize processor and memory design.
- Optimization Techniques: Knowledge of optimization methods, which can be essential for improving energy efficiency, speed, or other metrics.
6. Parallel Programming and Concurrency (Optional)
- Multithreading and Concurrency: Experience in writing efficient multithreaded code, with an understanding of synchronization mechanisms, is critical in testing how new architectures handle concurrent workloads.
- Programming Models for Parallelism: Familiarity with parallel programming models like OpenMP, MPI, CUDA, and OpenCL.
7. Algorithms of Modern Applications (Optional)
- LLM (large language model): Knowledge of the basics of LLMs and the development of algorithms.
- Bioinformatics Applications: Familiarity with genome analysis and broadly-used algorithms.
Award value
Funding is available for 3.5 years and covers tuition fees and a tax-free stipend
- Stipend: Tax-free stipend of approximately £21,870.34 p.a. with possible inflationary increases after the first year.
- Bench Fees: PGR Research allowance from £1,000 p.a. to maximum £4,500 p.a.
- Tuition fees: UK tuition fees 25/26 £7,500 per year or International tuition fees 25/26 £32,400 per year.
These tuition fees may be subject to additional increases in subsequent years of study, in line with King's terms and conditions.
Other (please outline): Note: A UKRI fully-funded studentship will only cover what is listed above. Applications should be aware there may be other costs which will not be covered by the studentship, for example, visa fees, healthcare surcharge, relocation costs and COVID-19 related quarantine costs.
Eligibility criteria
This opportunity is open to home and overseas fee students. The candidate must be pursuing a PhD in Engineering.
Application process
To be considered for the position candidates must apply via King’s Apply online application system. Details are available at https://www.kcl.ac.uk/engineering/postgraduate/research-degrees
Please apply for Engineering Research (MPhil/PhD) and indicate Haiyu Mao as the supervisor and quote the project title in your application and all correspondence.
Please ensure to add the following code [StartUpMao] in the Funding section of the application form.
Please select option 5 ‘I am applying for a funding award or scholarship administered by King’s College London’ and type the code into the ‘Award Scheme Code or Name’ box. Please copy and paste the code exactly.
The selection process will involve a pre-selection on documents and, if selected, will be followed by an invitation to an interview. If successful at the interview, an offer will be provided in due course.
Further information can be found at https://www.kcl.ac.uk/study/postgraduate-research/how-to-apply
Applications will be considered in three rounds:
- Jun-25 Entry - 6th March 2025
- Oct-25 Entry – 10th July 2025
- Feb-26 Entry – 6th October 2025
Interviews will take place on a rolling basis. Recruitment will continue until the position is filled. International candidates should allow at least three months for visa/ATAS processing.
Please contact:
If you require support with the application process pgr-engineering@kcl.ac.uk.
Queries related to the project: Dr. Haiyu Mao - haiyu.mao@kcl.ac.uk.