Intern in the Development of an eBPF/XDP Offload Infrastructure

REF : DAEB

Back

REF : DAEB
Location
Contract Type

SUBJECT

Within a team of 9 people dedicated to the development of a high-performance network card, you will contribute to the development of an infrastructure enabling the execution of eBPF/XDP programs to be offloaded onto dedicated hardware integrating a custom processor.

The team works at the interface between software and hardware, particularly in low-level C, on the Linux kernel and embedded firmware.

The objective of the internship will be to contribute to the development of the components required to load eBPF/XDP programs onto the card, manage their data and compile them for the target processor’s instruction set. You will work on different software layers, from communication mechanisms with the host to the execution of programs on the embedded processor.

You will contribute to building an eBPF runtime environment for a specific hardware architecture. This work will allow you to work with Linux kernel interfaces, communication mechanisms with a device and machine code generation, with concrete validation on a high-performance network card.

This internship will allow you to develop your skills in system and low-level programming, discover how the Linux kernel and eBPF/XDP technologies work, and work on concrete challenges at the interface between software and hardware in a technical and stimulating environment.

As such, your main responsibilities will be the following:

  • Contribute to setting up communication between the host and the card, particularly to transfer programs, configure their execution and report status and errors;
  • Contribute to managing the lifecycle of eBPF/XDP programs: loading, attaching to the XDP receive path, replacement and unloading, in accordance with Linux kernel interfaces;
  • Contribute to the management of eBPF maps, particularly their allocation and access operations from the host and embedded programs, taking into account memory, concurrency and synchronization constraints;
  • Contribute to the development of JIT compilation for the custom processor, translating eBPF bytecode into the target instruction set, particularly for arithmetic operations, branches and memory accesses;
  • Contribute to defining the eBPF subset supported by the target, detecting constructs that are incompatible with the processor and integrating hardware-specific checks, in addition to the Linux kernel’s eBPF verifier;
  • Carry out end-to-end tests with representative XDP programs, verify the consistency of the results with execution on the host and measure the costs of compilation, communication and execution;
  • Analyze the results obtained in order to identify limitations and areas for improvement.

 

The internship will result in the development of an integrated prototype covering a functional scope defined at the beginning of the internship, together with tests, documentation and an analysis of limitations and possible next steps

 

REQUIRED AND DEVELOPABLE SKILLS

  • C development and low-level programming;
  • Processor architecture, memory management and operating systems;
  • GNU/Linux environment and debugging at the software/hardware interface;
  • Network protocols and packet processing;
  • Initial experience in kernel, driver or firmware development would be appreciated;
  • Knowledge of assembly, compilation, code generation or eBPF/XDP would be a plus.

 

PROFILE

  • Third-year engineering student or equivalent educational background;
  • Good command of the C language and a strong interest in low-level development;
  • Good foundations in processor architecture, memory management and operating systems;
  • Experience with Linux and an interest in debugging at the software/hardware interface;
  • Curiosity, analytical skills and a willingness to learn about topics at the interface between software and hardware;
  • Enjoy working as part of a team and taking initiatives;
  • You are comfortable in English, particularly in a technical context.

 

Are you passionate about high-tech and cutting-edge technologies? Do you want to be part of a human adventure and develop in an agile, dynamic and collaborative environment? This internship is for you.

 

CONTRACT

  • Contract type: Internship agreement
  • Duration: 6 months
  • Compensation: Depending on level of study
  • Collective agreement: Metallurgy
  • Benefits: Hybrid work, meal vouchers, team building and other activities such as laser tag, escape games, sailing, skiing, go-karting, karaoke and much more!
  •  Location: Montbonnot(38)

 

ABOUT KALRAY

Founded in 2008 as a spin-off from CEA, Kalray is a leading European semiconductor company, backed by major industrial investors such as Safran, NXP Semiconductors and Bpifrance. With more than 30 patent families and more than €100 million invested in R&D, our technology is paving the way for a new era in data processing.

Thanks to their patented “manycore” architecture, Kalray’s MPPA® intelligent processors (known as DPU or xPU) are capable of managing multiple data streams in parallel – and without bottlenecks – enabling applications that process massive amounts of data to become smarter, more efficient and more energy-efficient, complementing traditional approaches (CPU and GPU).

Kalray’s offering includes hardware and software acceleration solutions, as well as a co-development – or design-ondemand – offering for processors and acceleration solutions optimized for specific uses in high-growth sectors such as data centers, AI gigafactories, 5G networks, Industry 4.0, space and defense, and many others.

Above all, Kalray is a team of passionate, enthusiastic and committed people who place excellence and collaboration at the heart of their work. Whether you are an intern or an apprentice, we will do everything we can to help you fully express your talent, develop your potential and contribute to the company’s success.

Our offices are located near Grenoble, in the French Alps, and we also have additional offices near Nice, in Sophia Antipolis, as well as in Romania.

For more information, visit our website and follow us on LinkedIn.

    Apply For This Position







    Don’t See the role for you?

    We’re always looking for people with unique backgrounds and skill sets. If you don’t see a role that works for you, but you believe you have something to offer, drop us a line and tell us your story.