Hacker News new | ask | show | jobs
by hazz99 896 days ago
Once you're past the fundamentals, if find yourself interested in high-performance networking, I recommend looking into userspace networking and NIC device drivers. The Intel 82599ES has a freely available (and readable!) data sheet, DPDK has a great book, fd.io has published absolutely insane benchmarks, ixy [1] has a wonderful paper and repo. It's a great way to go beyond the basics of networking and CPU performance. It's even more approachable today with XDP – you don't need to write device-specific code.

[1] https://github.com/emmericp/ixy

1 comments

And on the other end of the advanced spectrum, any recommendations for learning datacenter networking? Eg similar to the topics in Cisco’s datacenter certifications: https://learningnetwork.cisco.com/s/ccie-data-center-exam-to...
Unfortunately I don’t have any recommendations to give, my experience starts and stops at application development. Though I would love to spend some time in a datacenter!

Potentially have a look at Infiniband and Clos/fat tree networks?

My more generic recommendation would be to explore semantic scholar for impactful/cited papers, look for some meta analyses, and just dig through multiple layers of references till you hit the fundamentals (typically things published in the 80s for a lot of CS topics).