The netmap freebsd/linux interface is awesome! I'm looking forward to seeing more examples of its use.
The C10M problem
11–20 of 116 posts
Re: The C10M problem
#12>Content Blocked (content_filter_denied) >Content Category: "Piracy/Copyright Concerns" I'm starting to use these blocks at my workplace as a measure of site quality (this will be a high quality article). Can someone dump the text for me?
That page is essentially a glorified intro to his series of blog entries, and they are on another domain, so perhaps they are not blocked: http://blog.erratasec.com/search/label/C10M
Thanks for the link.
Re: The C10M problem
#13On the other hand, I worry that just means I'm old. There are a lot of perfectly competent developers out there that have very little idea about the concerns that motivate thinking like this C10M manifesto.
I sometimes wonder if my urge toward efficiency something like my grandmother's Depression-era tendency to save string? Is this kind of efficiency effectively obsolete for general-purpose programming? I hope not, but I'm definitely not confident.
Re: The C10M problem
#14>Content Blocked (content_filter_denied) >Content Category: "Piracy/Copyright Concerns" I'm starting to use these blocks at my workplace as a measure of site quality (this will be a high quality article). Can someone dump the text for me?
Does it work through IA? http://web.archive.org/web/20140217043940/http://c10m.robert...
Re: The C10M problem
#15Here is how C2M http://www.erlang-factory.com/upload/presentations/558/efsf2... It shows good practical tricks and pitfalls. It was 3 years ago so I can only assume it got better, but who knows. Here is the thing though, do you need to solve C*M problem on a single machine? Sometimes you do but sometimes you don't. But if you don't and you distribute your system you have to fight against sequential points in your sys…
Re: The C10M problem
#16You can SSH into your box. You can debug with gdb. Valgrind. Everything is normal...except the performance, which is just insane.
Given how easy it is, there isn't really a good excuse anymore to not write data plane applications the "right" way, instead of jamming everything through the kernel like we've been doing. Especially with Intel's latest E5 processors, the performance is just phenomenal.
If you want a fun, accessible project to play around with these concepts, Snabb Switch[0] makes it easy to write these kinds of apps with LuaJIT, which also has a super easy way to bind to C libraries. It's fast too: 40 million packets a second using a scripting language(!).
I wrote a little bit about a recent project I completed that used these principles here: https://news.ycombinator.com/item?id=7231407
Re: The C10M problem
#17On the one hand, I love this. There's an old-school, down-to-the-metal, efficiency-is-everything angle that resonates deeply with me. On the other hand, I worry that just means I'm old. There are a lot of perfectly competent developers out there that have very little idea about the concerns that motivate thinking like this C10M manifesto. I sometimes wonder if my urge toward efficiency something like my grandmother's…
Re: The C10M problem
#18Re: The C10M problem
#19Here is how C2M http://www.erlang-factory.com/upload/presentations/558/efsf2... It shows good practical tricks and pitfalls. It was 3 years ago so I can only assume it got better, but who knows. Here is the thing though, do you need to solve C*M problem on a single machine? Sometimes you do but sometimes you don't. But if you don't and you distribute your system you have to fight against sequential points in your sys…
If you could do 10M connections on one machine, then why not 1B on 100? Does it even make sense to have a billion simultaneous connections?
My latest project keeps every "connection" open at all times, but it's a custom UDP based reliable messaging protocol, not TCP. At Facebook's scale, we'd have the equivalent of one billion connections "open". It's easy to keep them open, despite changing IP addresses, because every packet is public-key authenticated and encrypted, so you don't have to rely on IP addresses to know who you're talking to...
It also means you only pay for a connection setup time once. For mobile devices, the improvement in latency is palpable.
Re: The C10M problem
#20At the risk of sounding dumb, aren't we still limited to 65,534 ports on an interface?