[ndnSIM] N consumers M distinct producers

Josh J joshjdevl at gmail.com
Wed May 21 06:38:36 PDT 2014


Hi,

I'm trying to setup a scenario where there are M distinct producers 1...M.
Each producer is responsible for a certain prefix /producer1 ... /producerM.

There are also N consumers which generate requests for interests ranging
from /producer1 to /producerM followiing a zipf distribution.

I modified the zipfmandelbrotconsumer by changing the following line

  Ptr<Name> nameWithSequence = Create<Name>
(m_producerPrefix+boost::lexical_cast<std::string>(seq));
  //nameWithSequence->appendSeqNum (seq);

https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc

I then installed a consumerapp and producerapp on each node accordingly.

https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc

The simulation runs for a very brief amount of time before receiving an error.
0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC]
p_random=0.142848
0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG]
RandomNumber=1
0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1
0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] >
Interest for 1, Total: 6, face: 1
0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG]
Trying to add 1 with +573764778.0ns. already 4 items
0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1)
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket()
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC]
p_random=0.926702
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG]
RandomNumber=8
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] >
Interest for 8, Total: 7, face: 1
0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG]
Trying to add 8 with +576379247.0ns. already 5 items
0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8)
0.576426s 0 ndn.fw:OnData(0x1722870, /producer2)
0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40)
terminate called after throwing an instance of
'boost::exception_detail::clone_impl<ns3::ndn::error::name::Component>'
  what():  std::exception


Is there any naming convention assumed in the routing such as
/producer/1 /producer/2 instead of being able to route to /producer1
/producer2 ?

The gdb backtrace is posted here
https://gist.github.com/joshjdevl/80bcc0af2fab262120d0

Thanks,
Josh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20140521/6f9977d5/attachment.html>


More information about the ndnSIM mailing list