Paul Emmerich

Senior Software Engineer at NVIDIA

Munich, Bavaria, Germany
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Paul Emmerich is a Senior Software Engineer with 17 years of experience in high-performance networking and distributed systems, currently at NVIDIA after a six-year tenure in Site Reliability Engineering at Google. He co-founded and served as CTO of croit.io and has deep academic roots as a PhD candidate and former research associate at TUM studying network performance. Paul is a hands-on backend engineer and notable open-source contributor to projects like MoonGen and ixy, implementing low-level DPDK-based packet generation, precise timestamping, and efficient NIC driver batching. His work blends systems research with production-grade engineering, demonstrated by contributions that optimize 10 Gbit/s packet paths and IPv6 functionality. Based in Munich, he also brings governance experience from the Ceph Foundation and a track record of turning research insights into robust, high-throughput infrastructure.
code17 years of coding experience
job12 years of employment as a software developer
bookComputer Science, Computer Science at University of Newcastle
bookDoctor of Philosophy - PhD, Informatik, Doctor of Philosophy - PhD, Informatik at Technical University of Munich
github-logo-circle

Github Skills (12)

c1710
dpdk10
memory-management10
packet10
driver10
c1110
network-programming10
linux9
device-driver9
pcie8
ipv68
lua7

Programming languages (15)

C#JavaC++CRustTeXKotlinTypeScript

Github contributions (5)

github-logo-circle
emmericp/ixy

Oct 2017 - Mar 2020

A simple yet fast user space network driver for Intel 10 Gbit/s NICs written from scratch
Role in this project:
userBack-end Developer
Contributions:2 reviews, 47 commits, 15 PRs in 2 years 5 months
Contributions summary:Paul implemented and optimized the batch API for packet transmission within the ixy network driver. Their work involved modifying the `ixgbe.c` file, including batching mechanisms, and integrating the batching functionality with the ixy-pktgen application to enhance packet sending efficiency. They also refactored the memory management system for the buffers and addressed several compiler warnings. This involved changes across driver and memory management files.
driversspace-networkdriverinteluser-space
emmericp/MoonGen

Sep 2014 - Apr 2022

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.
Role in this project:
userBackend Developer
Contributions:624 commits, 80 PRs, 346 pushes in 7 years 7 months
Contributions summary:Paul contributed to the DPDK-based high-speed packet generator MoonGen, likely focusing on the low-level networking aspects. Their commits include modifications to test-pmd, demonstrating work on network device drivers and command-line interfaces, and implementing workarounds for specific hardware. The changes suggest a focus on performance and optimization of packet generation, specifically including improvements related to software and hardware rate control, as well as implementing IPv6 functionality. The user also refactored code related to timestamping packets, suggesting an interest in high-precision network measurements.
packetsdpdklibevconnectionlibuv
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Paul Emmerich - Senior Software Engineer at NVIDIA