Recent submissions

Comment · 1 year ago
For my master’s thesis, I looked at how to get better throughput over 5G mmWave, which has really unpredictable bandwidth. Just using a big BFIFO buffer (sized to the BDP) gave us twice the throughput of FQ-CoDel, but at the cost of high jitter and bad latency for interactive traffic. To fix that, I wrote a non-transparent Performance Enhancing Proxy (PEP) as a Linux kernel module in C. It mixes big buffers with FQ-CoDel and manages to get both high, stable throughput and low latency impact.
Comment · 1 year ago
It would be really interesting if it was possible to use other languages which can be compiled to .so files. Will look into it!
Comment · 2 years ago
Initially I did use fork a lot to allow each handler in its own “process” mainly because I wanted to isolate it as well in a container fashion. However the overhead became to much at the start when I just wanted it to work. Will be looking into it again!
Comment · 2 years ago
You’re absolutely right, I have not tried very hard to optimize for speed either yet. To comment was more directed at the fact most just say that “speed” is the main reason to use C, but for me it’s almost exclusively for the fun and “cool” factor.
Comment · 2 years ago
Thanks! Yes, an arena allocator for each request is on my todo list. Just didn’t get to implementing it yet. :D
Comment · 2 years ago
Oh! Did not know that, interesting. I guess they are more alike then.
Comment · 2 years ago
Few others have brought up Apache Modules, and they are incredibly similar to my idea. :D Did not know about them while I was developing it. The main difference as far as I could see was the fact that you had to recompile / restart the server. Which I try to avoid, so little changes require almost no recompiling.
Comment · 2 years ago
If you would want to link with external libraries, you would need to modify to server and make sure it has access to them when compiling the modules.
Comment · 2 years ago
Oh really interesting, will look into it! Was afraid it would leak memory.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton