RE: DDP 7.3 - Data Source MUST transmit DDP Messages in order
2003-12-06 01:33:46 GMT
I agree that state explosion on the receiver is a big concern. It's really a question of requiring a scoreboarding receiver verses a single counter. Pretty radically different complexity, when you throw in that a message can be 2 gigabytes in length and segmented on any arbitrary boundary. Look at SACK, for example - they understood that state explosion is a huge deal, and at some point you have to punt. Their form of punting was capping the number and then allowing even that amount to be discarded if things really hit the fan. Note I'm _not_ suggesting that we implement SACK style limits on out-of-order processing. If we were to change, I'd personally prefer going the other direction - require in-order DDP segments on an inorder TCP stream. I think the issue you have is section 7.3, with the SHOULD verses having a MUST, specifically: At the Data Source, DDP ... * SHOULD transmit DDP Segments within a DDP Message in increasing MO order for Untagged DDP Messages and in increasing TO order for Tagged DDP Messages. So hopefully the SHOULD means that the normal/fast path is in-order DDP Segments within an in-order TCP stream, but it also means that the receiver must be able to handle the out-of-order DDP segments within a DDP message on an in-order TCP stream case. So it doesn't get you out of the state explosion - it just means that you don't have to necessarily handle it in the fast path. Jim(Continue reading)
RSS Feed