[ndnSIM] FIB Size?
alexander.afanasyev at ucla.edu
Thu Apr 10 14:25:47 PDT 2014
It is a dynamic data structure similar to trie (tree), which has multiple hash tables internally. You can check out the implementation in utils/trie/trie.h
On Apr 10, 2014, at 2:10 PM, Wali <ahmed.waliullah.kazi at gmail.com> wrote:
> Sorry, but I was curious about one related issue. There have been questions on the mailing list about updating the FIB at runtime. What data structure have you used to implement the FIBs? Is it static or dynamic - as a Vector or Hash in Java - which resizes upon filling up.
> Best regards,
> On Apr 10, 2014 4:01 PM, "Wali" <ahmed.waliullah.kazi at gmail.com> wrote:
> Thank you for the prompt reply. This clarifies the matter.
> Best regards,
> On Apr 10, 2014 3:09 PM, "Alex Afanasyev" <alexander.afanasyev at ucla.edu> wrote:
> Hi Wali,
> Sorry for the confusion. What I meant that usually FIB size is not an issue in the simulation scenario, since it is not an element that gets updated all the time. But, it doesn't mean you need to do any special allocations.
> In ndnSIM, FIB uses the same underlying data structure as CS and PIT, so you can use similar method to implement limits, but with the small caveat. If you open model/fib/ndn-fib-impl.h, you will see that I have hard-coded data structure policy to ndnSIM::counting_policy_traits, which does not enforce any limits. What you can do, you can change this to an appropriate FIB management policy (e.g., you have to figure out what to do when the limit is reached).
> To set limits, you will need to implement equivalent of SetMaxSize/GetMaxSize calls in CS implementation (you can can almost directly copy lines 263-275 of model/cs/content-store-impl.h (just remove irrelevant template parts).
> On Apr 10, 2014, at 8:12 AM, Wali <ahmed.waliullah.kazi at gmail.com> wrote:
>> Hello Alex,
>> We are trying to get a handle on how to control the size of FIBs (finite and infinite sized FIBs). I found a somewhat relevant reply on the mailing list, but could not understand what do you mean when you are referring that FIBs are not dynamically updated and ones simulation is responsible in defining appropriate number of FIB entries. Does it mean that we have to somehow initialize and explicitly allocate space at compile time? What is the default size of FIBs, if we do not allocate explicit space for the,?
>> I have attached the excerpt from your reply in an earlier message:
>> On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad <mohammad.hovaidi.ardestani at aalto.fi> wrote: > Hi everybody! > 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not.
>> Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM.
>> Thank you very much.
>> Best regards,
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ndnSIM