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 P4 programs to be executed on specific 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.
P4 makes it possible to describe network packet processing, including header parsing, table lookups, action execution and packet reconstruction on output. The objective of the internship will be to contribute to translating these descriptions into processes executable on the card and to developing the mechanisms required to configure them from the host.
You will therefore work on different layers of the infrastructure, from the compilation toolchain to the execution of processing operations on the embedded processor and their configuration from the host.
You will contribute to building a P4 infrastructure for a specific hardware architecture. This work will allow you to explore compilation, embedded development and network programming, 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 programmable network architectures 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:
- Contribute to defining the P4 execution model on the target, particularly the mapping between program elements and the card’s resources: parser, match-action table pipeline, metadata and deparser;
- Contribute to defining the P4 features supported by the target and identifying constraints related to the hardware architecture;
- Contribute to developing a compilation backend based on an existing toolchain such as p4c, in order to translate the intermediate representation into code and data structures adapted to the custom processor and available hardware resources;
- Contribute to developing mechanisms for table and action lookup and execution, as well as managing entries, default actions and memory resources;
- Contribute to implementing communication interfaces between the host and the card to load a pipeline, configure tables and query counters, particularly by studying their integration with a standard interface such as P4Runtime;
- Contribute to firmware integration, particularly for resource initialization, enabling processing operations and configuration updates, taking into account concurrency with ongoing traffic;
- Carry out end-to-end tests, compare the resulting behavior with a reference execution and measure performance in terms of throughput, latency, memory usage and update costs.
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;
- Basic knowledge of C++ and an interest in compilation toolchains;
- Processor architecture, data structures and memory management;
- Network protocols and packet processing;
- Embedded development and debugging on hardware targets;
- Initial experience with P4, compilers, firmware or programmable network architectures would be appreciated.
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.