Systems Research Engineer
Research Engineer – Systems
Arm is the industry's leading supplier of microprocessor technology providing efficient, low-power chip intelligence making electronic innovations come to life. Through our partners, our designs power everything from coffee machines to the fastest supercomputer in the world. Do you want to contribute to the technology that enriches the lives of over 70% of the world’s population? We want to hear from curious and hard-working candidates interested in working with us on future generations of compute.
About Arm and Arm Research
Arm plays a key role in our increasingly connected world. Every year, more than 20 billion products featuring Arm technology are shipped. Our engineers design and develop CPUs, graphics processors, complex system technologies, supporting software development tools, and physical libraries.
At Arm Research, we develop new technology that can grow into new business opportunities. We keep Arm up to speed with recent technological developments by pursuing blue-sky research programs, collaborating with academia, and integrating new technologies into the wider Arm ecosystem. Our research activities cover a wide range of fields from mobile and personal computing to server, cloud, and HPC computing. Our work and our researchers span a diverse range from circuits to theoretical computer science. We all share a passion for learning and crafting.
About Systems Research
We are seeking highly motivated engineers to join the Arm Research group to work on a variety of groundbreaking research projects. This is an opportunity to work alongside friendly and welcoming researchers defining the next stages of the Arm architecture and systems, and meaningfully contribute to ideas that will be at the heart of an ecosystem that ship over 20 billion innovative Arm-powered processors each year.
Our software architecture research focuses on distributed systems, edge computing, compute-in-memory, and computer-in-network among other subjects. We also research computational engineering and high-performance data analytics. Through our work, we try to address three main questions: How do we balance hardware diversity with the software ecosystem? How do we evolve Arm technology to be relevant at large-scale (scale-up as well as scale-out)? What is the necessary infrastructure for evaluating large scale systems (in the absence of hardware)?
Education & Qualifications
- PhD degree or equivalent experience in engineering and science, most commonly Computer Science, Electrical Engineering, Mathematics, but we encourage applications from any field of study if you are motivated and feel your unique skills are relevant to what we do.
- This position is open to recent graduates as well as experienced candidates
Required Skills & Experience
- System-level programming in C
- Strong problem-solving abilities and a strong interest in making your research useful to industry
- Strong research skills: analytical thinking, experimental design, clear communication of complex ideas, report/paper writing
Preferred Skills & Experience
- Systems and/or OS programming (Linux kernel, micro-kernels, drivers, etc.)
- Programming on datacenter state-of-the-art technologies, like Data Processing Units (DPU/SmartNIC), computational storage drives (CSD), Data plane, etc.
- Experience with high-performance computing runtimes and libraries (UCX, rdma-core, MPI, OpenSHMEM, PGAS, etc.)
- Knowledge networking stack and protocols (zero-copy, OS-bypass, userspace drivers, etc.)
- Programming experience in C++, Rust.
- Programming experience in Python or any other high-level language
- Knowledge of the architecture and micro-architecture of CPUs, GPUs, accelerators, or network and memory subsystems
- Knowledge of software workloads, benchmarking, and performance analysis with common performance profiling tools (e.g., perf, PAPI, Pin)
What to Expect
- Work on Arm-based distributed and disaggregated systems, including DPU, CSD, etc.
- Publish in academic conferences and work on patents
- Influence the future of datacenter systems and Arm architecture
- Contribute to open-source codebases
Team Previous Work
- Breaking Band: A Breakdown of High-performance Communication published at ICPP 2019
- Using Arm Scalable Vector Extension to Optimize OPEN MPI published at CCGRID 2020
- Two-Chains: High Performance Framework for Function Injection and Execution published at CLUSTER 2021
- UCX Programming Interface for Remote Function Injection and Invocation published at OpenSHMEM 2021
- Open-sourced code on GitHub: https://github.com/openucx/ucx-two-chains
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of any characteristic.