Master Thesis: Open-source CPU Proxy to Benchmark Telecom Workloads

EricssonLinköping, ÖstergötlandOn-siteFull-timeStaff, 8–12 yearsListed 2 hours ago

Apply now

About this role

Join our Team

About this opportunity: 
Control-plane software — from Layer 3 (L3) traffic control in mobile networks to microservice-based control planes in telecom and cloud — behaves very differently from the compute-heavy workloads common in CPU benchmarking (e.g., SPEC CPU, HPC, ML training). These workloads are typically front-end and memory-system bound rather than compute bound: low IPC, high branch mispredictions, large instruction footprints causing L1-I/iTLB misses, and pointer-chasing that stalls the back end. CPU microarchitecture is often tuned using representative benchmarks, but this workload class is underrepresented in open suites because real control-plane applications are large, proprietary, and hard to deploy. The result is a genuine gap: there is no open benchmark that faithfully reproduces the microarchitectural behavior of large control-plane software.

What you will do:

The goal is to characterize the microarchitectural behavior of a large control-plane application and build an open-source, configurable benchmark proxy that reproduces it — providing a shareable, non-proprietary tool for CPU architecture exploration. The work will include:

- Characterize a representative control-plane workload (e.g., Layer 3 traffic control or an open control-plane/microservice proxy) using hardware performance counters and top-down analysis (front-end bound, bad speculation, back-end bound, retiring).
- Extract a portable workload signature: IPC, top-down breakdown, branch MPKI, BTB/iTLB/L1-I behavior, cache MPKI, and memory-level parallelism.
- Design and implement a parameterized synthetic benchmark in C/C++ that can independently stress the front end, branch predictor, and back end, tunable to a target signature.
- Calibrate and validate fidelity across at least two CPU microarchitectures (e.g., x86 and Arm), then release the benchmark as open source with documentation and a “signature → config” recipe.
   
The skills you bring:

- Master’s students in electrical engineering, computer science, or related field
- Programming experience in Python (and/or C++, Rust)
- Basic knowledge of machine learning and/or reinforcement learning
- Interest in 3GPP protocol layers (RRC/L3)
- Strong teamwork; suitable for two students with a split focus:
- One leaning toward protocols/systems
- One leaning toward ML

Why join Ericsson?

At Ericsson, you´ll have an outstanding opportunity. The chance to use your skills and imagination to push the boundaries of what´s possible. To build solutions never seen before to some of the world’s toughest problems. You´ll be challenged, but you won’t be alone. You´ll be joining a team of diverse innovators, all driven to go beyond the status quo to craft what comes next.

What happens once you apply?

Click Here to find all you need to know about what our typical hiring process looks like.Encouraging a diverse and inclusive organization is core to our values at Ericsson, that's why we champion it in everything we do. We truly believe that by collaborating with people with different experiences we drive innovation, which is essential for our future growth. We encourage people from all backgrounds to apply and realize their full potential as part of our Ericsson team. Ericsson is proud to be an Equal Opportunity Employer.  learn more.

Primary country and city: Sweden (SE) || Linköping

Req ID:  791413