[ndnSIM] Tracing RTT values of PIT entries

Alex Afanasyev alexander.afanasyev at ucla.edu
Sun Dec 1 13:20:50 PST 2013


You can, but it cannot be done using a scheduled event.  You need a more intrusive change in the simulator, ideally adding a new trace source that is fired every time new RTT update is received.

---
Alex

On Dec 1, 2013, at 1:03 PM, Amin Karami <amin at ac.upc.edu> wrote:

> Hi Alex,
> It means that, we can not print all the RTT time for all satisfied PIT entries?
> 
> /Amin
> 
> On 12/01/2013 09:46 ب.ظ, Alex Afanasyev wrote:
>> Hi Amin,
>> 
>> From what I can guess, other PIT entries are simply getting satisfied. The three that you're seeing is basically a "pipeline" based on bandwidth-delay-product in the system.
>> 
>> ---
>> Alex
>> 
>> On Nov 27, 2013, at 4:25 AM, Amin Karami <amin at ac.upc.edu> wrote:
>> 
>>> Hi Alex,
>>> I design a simple scenario as follows:
>>> c1--->
>>> c2---> R3 ----> R2 ----> p1
>>> c3--->
>>> 
>>> c1,c2 and c3 are connected to R3. In the first 3 seconds, just c1 sends Interest packets. When I printed the RTT values of PIT entries in R3, I face with below output:
>>> 
>>> 1    R3    PIT Size: 3
>>> =========
>>> /dst1/%00%01P
>>> mean of RTT: 0.00966371, Variance of RTT: 0.000361557
>>> Prefix: /dst1/%00%01P
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 2647520711
>>> =========
>>> /dst1/%00%01R
>>> mean of RTT: 0.00966371, Variance of RTT: 0.000361557
>>> Prefix: /dst1/%00%01R
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 3120749414
>>> =========
>>> /dst1/%00%01Q
>>> mean of RTT: 0.00966371, Variance of RTT: 0.000361557
>>> Prefix: /dst1/%00%01Q
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 315221540
>>> 
>>> 2    R3    PIT Size: 3
>>> =========
>>> /dst1/%00%02%C6
>>> mean of RTT: 0.0100666, Variance of RTT: 0.000979842
>>> Prefix: /dst1/%00%02%C6
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 2858765059
>>> =========
>>> /dst1/%00%02%C7
>>> mean of RTT: 0.0100666, Variance of RTT: 0.000979842
>>> Prefix: /dst1/%00%02%C7
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 629247679
>>> =========
>>> /dst1/%00%02%C8
>>> mean of RTT: 0.0100666, Variance of RTT: 0.000979842
>>> Prefix: /dst1/%00%02%C8
>>> In: dev[10]=net(0,0-10)
>>> Out: dev[10]=net(1,9-10)
>>> Nonces: 2514818005
>>> 
>>> 
>>> The rate of sending Interests is 400 per second for c1. As you seen, in each second, just 3 entries accommodate in PIT for routing purpose in FIB. What is the problem? Where is other about 397 Interest packets?
>>> 
>>> My implementation for printing RTT values are:
>>> 
>>> void PeriodicStatsPrinter (Ptr<Node> node, Time next)
>>> {
>>> Ptr<ndn::Pit> pit = node->GetObject<ndn::Pit> ();
>>>  std::cout << Simulator::Now ().ToDouble (Time::S) << "\t"
>>>            << Names::FindName (node) << "\t"
>>>            << "PIT Size: " << pit->GetSize () << "\t"
>>> for (Ptr<ndn::pit::Entry> entry = pit->Begin (); entry != pit->End (); entry = pit->Next (entry))
>>>  {
>>>    std::cout << "=========" << std::endl;
>>>    std::cout << entry->GetPrefix () << std::endl;
>>>    for (FaceMetricContainer::type::index<i_nth>::type::iterator metric = entry->GetFibEntry()->m_faces.get<i_nth> ().begin(); metric != entry->GetFibEntry()->m_faces.get<i_nth> ().end(); metric++)
>>>    {
>>>    std::cout << "mean of RTT: " << metric->GetSRtt ().ToDouble(Time::S) << ", Variance of RTT: " << metric->GetRttVar().ToDouble(Time::S) << "\n";
>>>    }
>>>     std::cout << *entry << std::endl;
>>>  }
>>>  Simulator::Schedule (next, PeriodicStatsPrinter, node, next);
>>> }
>>> 
>>> 
>>> 
>>> Best Regards,
>>> Amin
>>> 
>>> _______________________________________________
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim





More information about the ndnSIM mailing list