|
|
|
|
|
by cmullaparthi
5543 days ago
|
|
The idea is that there is something very wrong with your design if you allow that to happen. In telco networks, once a message is accepted into a system, it is expected to be processed. You should throw away any messages you can't handle (because of overload) at the edge of the system. The same principle can be applied for any system which is serving any sort of network traffic. If this unbounded message generation is happening within the system, again there is something wrong. You shouldn't be in a situation where a process is producing messages which other parts of the system cannot consume. |
|
That's attractive in general, but is it necessarily possible?
Assume a planar grid with O(N2) nodes of which O(N) edge nodes that can accept a message for a given node somewhere near the center. In other words, that "given node" is O(N) steps away from any edge node.
Suppose that said given node has limited capacity. How can it keep those edge nodes aware of its capacity without wasting capacity or requiring O(N2) queuing at said given node? Remember - it takes O(N) time to get a message from the given node to any edge node and during that time and there are O(N2) places for a message to be in the network at any moment in time.
Now repeat for the other O(N2) interior nodes.