icarus-sim / icarus

A scalable simulator for evaluating the performance of in-network caches in Information Centric Networking (ICN)

Home Page:http://icarus-sim.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is it possible to run the workload in parallel?

anirudhajitani opened this issue · comments

From what I know so far, all events are added to the workload and executed serially one by one. Is it possible to change it to simulate multiple parallel requests as it usually happens in real-world?

I had another question about the file size, currently it assumes that all files are of unit length. I plan to add another attribute called file size and make the necessary changes to the caching policies. Is there any other part of the code that I need to take care of to implement this change?

From what I know so far, all events are added to the workload and executed serially one by one. Is it possible to change it to simulate multiple parallel requests as it usually happens in real-world?

No, all requests are atomic, they are completed end to end before a new one begins. To change this you will have to do some implementation work, and I suspect it will very likely slow down execution of experiments. By the way, unless you have specific reasons for needing to run requests concurrently, that will likely not give you any noticeable improvement in the accuracy of results. This paper compared the accuracy of Icarus with other ICN simulators, including ccnSim, that's based on ns-3 and performs packet-level simulations with concurrent requests handling and buffering. The results obtained with ccnSim were pretty identical to those obtained simulating the same scenario with Icarus.

I had another question about the file size, currently it assumes that all files are of unit length. I plan to add another attribute called file size and make the necessary changes to the caching policies. Is there any other part of the code that I need to take care of to implement this change?

You will need to change the workload implementation you want to use so that each event it generates also includes a response size. Apart from that, the only other thing you will need to change is, if you need to measure link load, the implementation of the link load collector so that it takes into account the fact that responses will have different size.

You're welcome.

Do you some GlobTraff files I could use?

No, Icarus doesn't ship any GlobeTraff workload files. You will need to download GlobeTraff, build it and generate workload files with you desired parameters.