Subject: [icnrg] Icarus: An ICN caching simulator

From: Ioannis Psaras <[email-masked]>
Date: Tue, 1 Apr 2014 08:54:48 +0100

Dear all,

at UCL we have developed a simulator for ICN caching environments called Icarus. The simulator is based on Python, it is easily extensible and already includes implementation of our proposals for in-network caching [1], [2], [3], [4]. We welcome suggestions to include more caching protocols in our implementation and we also encourage others to implement their protocols in Icarus, which we can include in the later versions of the software.

The design details behind Icarus can be found in [5]. We welcome comments and suggestions and we hope that Icarus will be a useful tool for the community. The source together with installation instructions is available at: http://icarus-sim.github.io/

Best regards,
Lorenzo, Yiannis and George.

[1] Lorenzo Saino, Ioannis Psaras and George Pavlou, "Hash-routing Schemes for Information-Centric Networks", 3rd ACM SIGCOMM Workshop on Information-Centric Networks, Hong Kong, China, August 2013.
Available at: http://www.ee.ucl.ac.uk/~uceeips/hashroute-icn13.pdf

[2] Ioannis Psaras, Wei Koong Chai and George Pavlou, "Probabilistic In-Network Caching for Information-Centric Networks", 2nd ACM SIGCOMM Workshop on Information-Centric Networks, Helsinki, Finland, August 2012.
Available at: http://www.ee.ucl.ac.uk/~uceeips/prob-cache-icn-sigcomm12.pdf

[3] Wei Koong Chai, Ioannis Psaras and George Pavlou, "Cache Less for More In Information-Centric Networks", IFIP NETWORKING 2012, Prague, Czech Republic, May 2012 (Best conference paper award!)
Available at: http://www.ee.ucl.ac.uk/~uceeips/centrality-networking12.pdf

[4] Ioannis Psaras, Wei Koong Chai, George Pavlou, "In-Network Cache Management and Resource Allocation for Information-Centric Networks", IEEE Transactions on Parallel and Distributed Systems (IEEE TPDS), to appear (pre-print available on request).

[5] L. Saino, I. Psaras and G. Pavlou, "Icarus: a Caching Simulator for Information Centric Networking", to appear in Proc. of the 7th International ICST Conference on Simulation Tools and Techniques (SIMUTOOLS‘14), Lisbon, Portugal, March 2014
Available at: https://www.ee.ucl.ac.uk/~lsaino/publications/icarus-simutools14.pdf

---

From: Dirk Kutscher <[email-masked]>
Date: Tue, 1 Apr 2014 07:44:49 +0000

Thanks for sharing, Lorenzo, Yiannis, George.

Best regards,
Dirk

From: icnrg [mailto:[email-masked]] On Behalf Of Ioannis Psaras
Sent: Dienstag, 1. April 2014 09:55
To: [email-masked]
Cc: George Pavlou; Lorenzo Saino
Subject: [icnrg] Icarus: An ICN caching simulator

Dear all,

Best regards,

[5] L. Saino, I. Psaras and G. Pavlou, "Icarus: a Caching Simulator for Information Centric Networking", to appear in Proc. of the 7th International ICST Conference on Simulation Tools and Techniques (SIMUTOOLS'14), Lisbon, Portugal, March 2014
Available at: https://www.ee.ucl.ac.uk/~lsaino/publications/icarus-simutools14.pdf

---

From: Andrey Lukyanenko <[email-masked]>
Date: Tue, 1 Apr 2014 11:50:17 +0300

Hello,

Thanks for the simulator. Btw, your hash-routing scheme resembles our last
year Infocomm paper:
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6566743
There are some difference in topology.

Best regards,
Andrey Lukyanenko.

On Tue, Apr 1, 2014 at 10:54 AM, Ioannis Psaras <[email-masked]> wrote:

> Dear all,
>
> at UCL we have developed a simulator for ICN caching environments called
> Icarus. The simulator is based on Python, it is easily extensible and
> already includes implementation of our proposals for in-network caching
> [1], [2], [3], [4]. We welcome suggestions to include more caching
> protocols in our implementation and we also encourage others to implement
> their protocols in Icarus, which we can include in the later versions of
> the software.
>
> The design details behind Icarus can be found in [5]. We welcome comments
> and suggestions and we hope that Icarus will be a useful tool for the
> community. The source together with installation instructions is available
> at: http://icarus-sim.github.io/
>
> Best regards,
> [1] Lorenzo Saino, Ioannis Psaras and George Pavlou, "Hash-routing Schemes
> for Information-Centric Networks", 3rd ACM SIGCOMM Workshop on
> Information-Centric Networks, Hong Kong, China, August 2013.
> [2] Ioannis Psaras, Wei Koong Chai and George Pavlou, "Probabilistic
> In-Network Caching for Information-Centric Networks", 2nd ACM SIGCOMM
> Workshop on Information-Centric Networks, Helsinki, Finland, August 2012.
> Available at:
> http://www.ee.ucl.ac.uk/~uceeips/prob-cache-icn-sigcomm12.pdf
>
> [3] Wei Koong Chai, Ioannis Psaras and George Pavlou, "Cache Less for More
> In Information-Centric Networks", IFIP NETWORKING 2012, Prague, Czech
> Republic, May 2012 (Best conference paper award!)
> [4] Ioannis Psaras, Wei Koong Chai, George Pavlou, "In-Network Cache
> Management and Resource Allocation for Information-Centric Networks", IEEE
> Transactions on Parallel and Distributed Systems (IEEE TPDS), to appear
> (pre-print available on request).
>
> [5] L. Saino, I. Psaras and G. Pavlou, "Icarus: a Caching Simulator for
> Information Centric Networking", to appear in Proc. of the 7th
> International ICST Conference on Simulation Tools and Techniques
> (SIMUTOOLS‘14), Lisbon, Portugal, March 2014
> Available at:
> https://www.ee.ucl.ac.uk/~lsaino/publications/icarus-simutools14.pdf
>
> _______________________________________________
> icnrg mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/icnrg
>
>

---

From: Lorenzo Saino <[email-masked]>
Date: Tue, 1 Apr 2014 15:47:07 +0100

Hi Andrey,

Thanks a lot for your email.

In our design we indeed use a hash function at the edge nodes of a 
domain to map a content identifier to a responsible caching node 
similarly to the way you identify "designated routers" in the phase 1 of 
your design.

However, the focus of our paper is different. We explore different 
hash-routing schemes to find a suitable trade-off between cache hit 
ratios and link load. We found that in realistic ISP topologies pure 
hash-routing achieves excellent cache hit performance, but at the cost 
of largely increasing link load as a result of detouring. Under certain 
circumstances, it reaches the point that the link load decrease achieved 
by good cache hits is completely offset by the link load increase caused 
by detouring.

To address this issue, we designed routing schemes based on the 
hash-routing concept that trade off cache hits performance for a reduced 
path stretch.

I hope this answer your question. We are more than happy to discuss it 
further.

Best regards,
Lorenzo

On 01/04/14 09:50, Andrey Lukyanenko wrote:
> Hello,
>
> Thanks for the simulator. Btw, your hash-routing scheme resembles our 
> last year Infocomm paper: 
> On Tue, Apr 1, 2014 at 10:54 AM, Ioannis Psaras <[email-masked] 
> <mailto:[email-masked]>> wrote:
>
>     Dear all,
>
>     at UCL we have developed a simulator for ICN caching environments
>     called Icarus. The simulator is based on Python, it is easily
>     extensible and already includes implementation of our proposals
>     for in-network caching [1], [2], [3], [4]. We welcome suggestions
>     to include more caching protocols in our implementation and we
>     also encourage others to implement their protocols in Icarus,
>     which we can include in the later versions of the software.
>
>     The design details behind Icarus can be found in [5]. We welcome
>     comments and suggestions and we hope that Icarus will be a useful
>     tool for the community. The source together with installation
>     instructions is available at: http://icarus-sim.github.io/
>
>     Best regards,
>     [1] Lorenzo Saino, Ioannis Psaras and George Pavlou, "Hash-routing
>     Schemes for Information-Centric Networks", 3rd ACM SIGCOMM
>     Workshop on Information-Centric Networks, Hong Kong, China, August
>     2013.
>     <http://www.ee.ucl.ac.uk/%7Euceeips/hashroute-icn13.pdf>
>
>     [2] Ioannis Psaras, Wei Koong Chai and George Pavlou,
>     "Probabilistic In-Network Caching for Information-Centric
>     Networks", 2nd ACM SIGCOMM Workshop on Information-Centric
>     Networks, Helsinki, Finland, August 2012.
>     Available at:
>     <http://www.ee.ucl.ac.uk/%7Euceeips/prob-cache-icn-sigcomm12.pdf>
>
>     [3] Wei Koong Chai, Ioannis Psaras and George Pavlou, "Cache Less
>     for More In Information-Centric Networks", IFIP NETWORKING 2012,
>     Prague, Czech Republic, May 2012 (Best conference paper award!)
>     Available at:
>     http://www.ee.ucl.ac.uk/~uceeips/centrality-networking12.pdf
>     <http://www.ee.ucl.ac.uk/%7Euceeips/centrality-networking12.pdf>
>
>     [4] Ioannis Psaras, Wei Koong Chai, George Pavlou, "In-Network
>     Cache Management and Resource Allocation for Information-Centric
>     Networks", IEEE Transactions on Parallel and Distributed Systems
>     (IEEE TPDS), to appear (pre-print available on request).
>
>     [5] L. Saino, I. Psaras and G. Pavlou, "Icarus: a Caching
>     Simulator for Information Centric Networking", to appear in Proc.
>     of the 7th International ICST Conference on Simulation Tools and
>     Techniques (SIMUTOOLS‘14), Lisbon, Portugal, March 2014
>     Available at:
>     <https://www.ee.ucl.ac.uk/%7Elsaino/publications/icarus-simutools14.pdf>
>
>     [email-masked] <mailto:[email-masked]>

---

From: Andrey Lukyanenko <[email-masked]>
Date: Wed, 2 Apr 2014 17:31:24 +0300

Hi,

Thanks a lot for the explanation. From that I understood that our proposals
could be combined and complement each another.

I have one question about the simulator: do you know how fast is it? How
long did it take for you to test your largest topology?

Best regards,
Andrey Lukyanenko.

On Tue, Apr 1, 2014 at 5:47 PM, Lorenzo Saino <[email-masked]> wrote:

> In our design we indeed use a hash function at the edge nodes of a domain
> to map a content identifier to a responsible caching node similarly to the
> way you identify "designated routers" in the phase 1 of your design.
>
> hash-routing schemes to find a suitable trade-off between cache hit ratios
> and link load. We found that in realistic ISP topologies pure hash-routing
> achieves excellent cache hit performance, but at the cost of largely
> increasing link load as a result of detouring. Under certain circumstances,
> it reaches the point that the link load decrease achieved by good cache
> hits is completely offset by the link load increase caused by detouring.
>
> On Tue, Apr 1, 2014 at 10:54 AM, Ioannis Psaras <[email-masked]>wrote:
>
>>  Dear all,
>>
>> called Icarus. The simulator is based on Python, it is easily extensible
>> and already includes implementation of our proposals for in-network caching
>> comments and suggestions and we hope that Icarus will be a useful tool for
>> the community. The source together with installation instructions is
>> available at: http://icarus-sim.github.io/
>>
>>  Best regards,
>> Schemes for Information-Centric Networks", 3rd ACM SIGCOMM Workshop on
>>  [3] Wei Koong Chai, Ioannis Psaras and George Pavlou, "Cache Less for
>> More In Information-Centric Networks", IFIP NETWORKING 2012, Prague, Czech

---

From: Lorenzo Saino <[email-masked]>
Date: Thu, 3 Apr 2014 15:49:13 +0100

Hi Andrey,

Please find my answers inline.

Best regards,
Lorenzo

On 02/04/14 15:31, Andrey Lukyanenko wrote:
> Hi,
>
> Thanks a lot for the explanation. From that I understood that our 
> proposals could be combined and complement each another.
Yes, we would be more than happy to explore how our proposals could be 
combined if you're available.
>
> I have one question about the simulator: do you know how fast is it? 
> How long did it take for you to test your largest topology?
>
The performance of the simulator depends on several factors. As an 
example, I can tell you that with the largest topology I used (Tiscali, 
240 nodes) and a content catalogue of 300,000 objects I can normally run 
between 500,000 and 1,000,000 requests per minute per core on an Intel 
Core i7-2640M.

You can find a more detailed performance evaluation in this paper: 
https://www.ee.ucl.ac.uk/~lsaino/publications/icarus-simutools14.pdf
>
> Best regards,
> Andrey Lukyanenko.
>
>
> On Tue, Apr 1, 2014 at 5:47 PM, Lorenzo Saino <[email-masked] 
> <mailto:[email-masked]>> wrote:
>
>     Hi Andrey,
>
>     similarly to the way you identify "designated routers" in the
>     phase 1 of your design.
>
>     hash-routing schemes to find a suitable trade-off between cache
>     hit ratios and link load. We found that in realistic ISP
>     topologies pure hash-routing achieves excellent cache hit
>     performance, but at the cost of largely increasing link load as a
>     result of detouring. Under certain circumstances, it reaches the
>     point that the link load decrease achieved by good cache hits is
>     completely offset by the link load increase caused by detouring.
>
>     hash-routing concept that trade off cache hits performance for a
>     reduced path stretch.
>
>     I hope this answer your question. We are more than happy to
>     discuss it further.
>
>     Best regards,
>     Lorenzo
>
>
>>     Thanks for the simulator. Btw, your hash-routing scheme resembles
>>     our last year Infocomm paper:
>>     On Tue, Apr 1, 2014 at 10:54 AM, Ioannis Psaras
>>     <[email-masked] <mailto:[email-masked]>> wrote:
>>
>>         Dear all,
>>
>>         at UCL we have developed a simulator for ICN caching
>>         environments called Icarus. The simulator is based on Python,
>>         it is easily extensible and already includes implementation
>>         of our proposals for in-network caching [1], [2], [3], [4].
>>         We welcome suggestions to include more caching protocols in
>>         our implementation and we also encourage others to implement
>>         their protocols in Icarus, which we can include in the later
>>         versions of the software.
>>
>>         The design details behind Icarus can be found in [5]. We
>>         welcome comments and suggestions and we hope that Icarus will
>>         be a useful tool for the community. The source together with
>>         installation instructions is available at:
>>         http://icarus-sim.github.io/
>>
>>         Best regards,
>>         [1] Lorenzo Saino, Ioannis Psaras and George Pavlou,
>>         "Hash-routing Schemes for Information-Centric Networks", 3rd
>>         ACM SIGCOMM Workshop on Information-Centric Networks, Hong
>>         Kong, China, August 2013.
>>         Available at:
>>         http://www.ee.ucl.ac.uk/~uceeips/hashroute-icn13.pdf
>>         [3] Wei Koong Chai, Ioannis Psaras and George Pavlou, "Cache
>>         Less for More In Information-Centric Networks", IFIP
>>         NETWORKING 2012, Prague, Czech Republic, May 2012 (Best
>>         conference paper award!)
>>         Available at:
>>         [4] Ioannis Psaras, Wei Koong Chai, George Pavlou,
>>         "In-Network Cache Management and Resource Allocation for
>>         Information-Centric Networks", IEEE Transactions on Parallel
>>         and Distributed Systems (IEEE TPDS), to appear (pre-print
>>         available on request).
>>
>>         Simulator for Information Centric Networking", to appear in
>>         Proc. of the 7th International ICST Conference on Simulation
>>         Tools and Techniques (SIMUTOOLS‘14), Lisbon, Portugal, March 2014
>>         Available at:

---

From: Andrey Lukyanenko <[email-masked]>
Date: Fri, 4 Apr 2014 13:02:34 +0300

Hi Lorenzo,

By combination of the proposals I mean following. Our work is focused on
maximing hit ratio on a path through a AS-level path (this is a restricted
off-path routing scheme). We try to maximize the object capacity of each AS
on the path, and the obvious solution is to use hash-function, when only a
single node is responsible for caching the object.

We have found (as expected) that the path length is increased, but this
increase is partly compensated by higher hit ration. However, we did not
study the impact of hash-function representation on the actual hit ration /
path length.

Yes, I am available to discuss the topic further.

Best regards,
Andrey Lukyanenko.

On Thu, Apr 3, 2014 at 5:49 PM, Lorenzo Saino <[email-masked]> wrote:

> example, I can tell you that with the largest topology I used (Tiscali, 240
> nodes) and a content catalogue of 300,000 objects I can normally run
> between 500,000 and 1,000,000 requests per minute per core on an Intel Core
> i7-2640M.
>
>>>  [5] L. Saino, I. Psaras and G. Pavlou, "Icarus: a Caching Simulator
>>> for Information Centric Networking", to appear in Proc. of the 7th