[Nfd-dev] On the necessity of the STRAGGLER timer

Seweryn Dynerowicz f80120 at ulusofona.pt
Thu Nov 17 03:09:20 PST 2016


Dear Klaus,

On 16 November 2016 at 21:51, Klaus Schneider <klaus at cs.arizona.edu> wrote:
>
> I think Junxiao refers to Section 4.2.8
> Interest Finalize Pipeline: "The Dead Nonce List is a global data
> structure designed to detect looping Interests, and we want to insert as
> few Nonces as possible to keep its size down."
>

The way I understand this specific point is that we do not want to insert
the Nonce for every single Interest we ever receive. This is precisely
what the next sentence states;

"Only outgoing Nonces (in out-records) need to be inserted, because an
incoming Nonce that has never been sent out won't loop back."

In the current implementation, I only see two cases where a Nonce is not
transferred from an OUT-Record to the DNL;
- the condition in insertDeadNonceList determines that there is no need to
save it in DNL
- a new Interest arrived and was selected to be sent out the Face
referenced in the OUT-Record thereby overwriting the Nonce of the previous
Interest without placing it in DNL

The condition in the first case will not change between the moment the
STRAGGLER timer is started and the moment onInterestFinalize actually runs
given that the parameters that will be passed to insertDeadNonceList are
set upon starting STRAGGLER.

As for the second case, I think it is an error, as it means that if the
previous Interest actually loops back, the node will fail to identify it as
a loop.

The rest of the time, a Nonce is transferred to the DNL and STRAGGLER only
delays that transfer.

Another reason I can think off, is that historically there was no DNL and
> thus the straggler timer was used to detect loops. So you might be right,
> that the straggler timer is less important in the current NFD version.


The times they are a changin' :)

Regarding the RTT computation, when incoming Data is received, the
>> IN-Records (and therefore the specific Interest packets being satisfied)
>> are removed.
>>
>
> Are they?


Yes. Section 4.3.1. bullet 7. of the pipeline which is consistent with the
onIncomingData pipeline code (I noticed some discrepancies)

So you only compute the RTT for the first Data packet which satisfies
>> the Interest, right ? If you're only interested in RTT, the OUT-Records
>> do not enable you
>> to do anything useful regarding that so they could be removed
>> straightaway without waiting for STRAGGLER.
>>
>
> I don't know about the specifics, but in principle the straggler timer
> should help you to do measurements of more then the fastest interface.
> Whenever you send out Interests on multiple faces (either in parallel or
> sequential) it can be useful to wait a little longer for responses (Data or
> NACKs).
>

I agree, that would be one reason to have the STRAGGLER timer.

But as the RTT is a measure of how fast the last Interest up a certain path
was satisfied, wouldn't it make more sense to use the FIB to keep track of
the RTT ?

In addition to maintaining different RTT estimates, you could store
> information about a probed path being up (receiving another Data) or down
> (receiving a NACK), packet loss estimates, or other information.
>

Ditto.


> I've used the functionality enabled by the straggler timer extensively in
> my previous work: http://conferences2.sigcomm.org/acm-icn/2015/proceedin
> gs/p137-schneider.pdf


Thank you for the reference.


Best regards,

S.

+----------------------------------------------+
| Dynerowicz Seweryn                           |
| PostDoc Researcher                           |
| SITI, COPELABS, Building U                   |
| Universidade Lusófona                        |
| Campo Grande, 388, 1749-024 Lisboa, Portugal |
| Mobile: +351 913 930 302                     |
+----------------------------------------------+

I hate the empty set; he's so full of himself.

"Judge a man by his questions rather than his answers",
Pierre-Marc Gaston, Duc de Lévis

"Ignorance more frequently begets confidence than does knowledge.",
C. Darwin

"Seek freedom and become captive of your desires. Seek discipline
and find your liberty.", F. Herbert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20161117/f55b5c91/attachment.html>


More information about the Nfd-dev mailing list