Earlier quoted context omitted.
HackerNews does not allow deep threads, ( http://news.ycombinator.com/item?id=2032770 ) so I reply here. Why would supernode that has CPU as a bottleneck stop serving _any_ requests? Say, CPU is able to serve a thousand requests per second. If supernode receives a million requests per second, then supernode should serve first thousand requests and then ignore the rest, right?
Correct, it will stop serving requests (ignore the rest), but the end result is no different (in fact I imagine this is exactly what's happening). That system is dead to the world. According to Wikipedia in Q3 2009 [1] Skype has over 500 million users (Q1 2009 says 42M active at any time); any super node that is processing a thousand requests and then dies (or only processes one request a second) isn't helping anyone…
But I guess overloaded supernode does not serve anything at all. My guess would be that after 1000 successfully served handshakes clients send 1000 data requests, and most of these data requests are ignored, because supernode is overloaded. End result -- almost no data is distributed.
Most likely the problem is in Skype code for supernodes (almost all Skype clients are supernodes).
I think we should expect Skype hotfix soon.