Negotiable
Fixed-Term
Onsite
Cambridgeshire, England, United Kingdom
Summary: The Kernel Research Engineer role in Cambridge, UK, involves researching and developing CPU microarchitectural features for a custom OS kernel and framework. The position requires designing and optimizing core kernel subsystems, performance analysis, and implementing power management strategies. This is a full-time, on-site position offered as a fixed-term contract for 12 months, with a high likelihood of extension.
Key Responsibilities:
- Research and develop CPU microarchitectural features optimized for the custom OS kernel and framework.
- Design, develop, and optimize core kernel subsystems including scheduler, memory management, and I/O subsystems.
- Design hardware-software co-optimization techniques to improve kernel performance and efficiency.
- Performance analysis and optimization of kernel components for mobile workloads and use cases.
- Optimize kernel for power efficiency and power consumption across CPU, SoC, and system-level components.
- Develop simulation frameworks for kernel-level and custom OS framework workload evaluation.
- Propose microarchitectural enhancements for system optimization based on kernel profiling and characterization.
- Develop and implement power management policies and performance scaling strategies.
Key Skills:
- Master/PhD degree in Computer Science/Engineering/Physics.
- Strong knowledge of computer architectures, operating system internals, and mobile SoC design.
- Extensive experience with Linux kernel development including core subsystems.
- Strong programming skills in C, C++, assembly, and Python.
- Understanding of CPU privilege levels, MMU/IOMMU, and virtualization extensions.
- Experience with performance profiling and optimization at both kernel and microarchitectural levels.
- Experience with Linux OS, Android OS or other microkernels (desirable).
- Strong knowledge of Arm architecture, TrustZone, TEE, exception handling, and interrupt processing (desirable).
- Experience with kernel profiling tools (perf, ftrace, eBPF, LTTng, SystemTap) (desirable).
- Knowledge of RISC-V privilege specifications or Arm architecture reference manuals (desirable).
- Deep knowledge of power management frameworks, DVFS, and CPU idle states (desirable).
- Understanding of real-time operating systems or deterministic execution requirements (desirable).
- Experience with gem5, Sniper, or other cycle-accurate architectural simulators (desirable).
- Understanding of mobile platform power optimization techniques and thermal management (desirable).
- Experience with hardware-assisted virtualization and hypervisor design (desirable).
- Familiarity with Android kernel, AOSP, or other mobile OS kernel implementations (desirable).
Salary (Rate): undetermined
City: Cambridge
Country: United Kingdom
Working Arrangements: on-site
IR35 Status: fixed-term
Seniority Level: undetermined
Industry: IT
Job Title: Kernel Research Engineer
Location: Cambridge, UK (Full Time On-Site)
Type: Fixed Term Contract
Duration: 12 Months (Highly Likely to Extend)
Key Responsibilities:
- Research and develop CPU microarchitectural features optimized for our custom OS kernel and framework including ArkUI and ArkTS/JIT/AOT.
- Design, develop, and optimize core kernel subsystems for our custom OS including scheduler, memory management, and I/O subsystems.
- Design hardware-software co-optimization techniques to improve kernel performance and efficiency for our custom OS framework including ArkUI, ArkTS/JIT/AOT and Kotlin/JIT/AOT.
- Performance analysis and optimization of kernel components for mobile workloads and use cases.
- Optimize kernel for power efficiency and power consumption across CPU, SoC, and system-level components.
- Develop simulation frameworks for kernel-level and our custom OS framework (ArkTS/JIT/AOT, ArkUI and Kotlin/JIT/AOT) workload evaluation on future CPU designs.
- Propose microarchitectural enhancements for system optimization based on kernel profiling and characterization.
- Develop and implement power management policies and performance scaling strategies.
Requirements:
- Master/PhD degree in Computer Science/Engineering/Physics etc.
- Strong knowledge of computer architectures, operating system internals, and mobile SoC design.
- Extensive experience with Linux kernel development including core subsystems (scheduler, memory management, VFS, networking).
- Strong programming skills in C, C++, assembly, and Python.
- Understanding of CPU privilege levels, MMU/IOMMU, and virtualization extensions.
- Experience with performance profiling and optimization at both kernel and microarchitectural levels.
Desirables:
- Experience with Linux OS, Android OS or other microkernels.
- Strong knowledge of Arm architecture, TrustZone, TEE, exception handling, and interrupt processing.
- Experience with kernel profiling tools (perf, ftrace, eBPF, LTTng, SystemTap).
- Knowledge of RISC-V privilege specifications or Arm architecture reference manuals.
- Deep knowledge of power management frameworks, DVFS (Dynamic Voltage and Frequency Scaling), and CPU idle states.
- Understanding of real-time operating systems, or deterministic execution requirements.
- Experience with gem5, Sniper, or other cycle-accurate architectural simulators.
- Understanding of mobile platform power optimization techniques and thermal management.
- Experience with hardware-assisted virtualization and hypervisor design.
- Familiarity with Android kernel, AOSP, or other mobile OS kernel implementations.
If this sounds of interest, please apply here or reach out to daniel@microtech-global.com