Send in your ideas. Deadline December 1, 2025
Grant
Theme fund: NGI0 Commons Fund
Start: 2025-11

Porting the Lucid Language to Open Platforms

Make writing high-performance data-plane software easier

Lucid is an open-source programming language designed to make writing high-performance data-plane software easier. It fills an important gap between existing paradigms. Compared with pipeline-oriented languages like P4, Lucid introduces higher-level abstractions that are more expressive and modular. Compared with run-to-completion frameworks like eBPF, Lucid provides a simpler serial packet-processing model with compiler-managed parallelization. While Lucid has been used successfully in a number of research projects, wider adoption is limited because it currently only supports specialized pipeline processors found in proprietary switches. In this project, we will port Lucid to standard architectures (e.g., ARM, x86, RISC-V), found in devices from home routers to SmartNICs and enterprise servers. Key tasks include extending Lucid's compiler to generate parallelized C for general-purpose CPUs, adding a type-safe foreign function interface, and developing a suite of example and benchmark applications. Our goal is to make Lucid useful for a much larger community, to accelerate innovation in open-source data-plane software.

Run by Princeton University and Hebrew University

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).