Home
ccnSim user manual - Sites personnels de TELECOM ParisTech
Contents
1. 5 1 D Ice RS 1 R lru _cache 1072 THHHHHHHHHHHHHHHHHHHHHHHE Statistics window 60 ts 0 1 partial_n 1 steady 3600 2 output vector file resultdir net F F D D R R a a ccn id rep vec output scalar file resultdir net F F D D R R a a ccn id rep sca Snippet 2 Initialization file for the Abilene simulation 18 CHAPTER 3 PRACTICAL CCNSIM Setting up network networks abilene_network Initializing Initializing Zipf Initialization ends Start content initialization Content initialized Running simulation Event 1 0 Elapsed 0 0005 00s Speed ev sec 0 simsec sec 0 ev simsec 0 Messages created 25 present 25 in FES 23 Caches filled at time 134 6 01 variance 0 113934 1 variance 0 0499831 2 variance 0 0846741 01 1 0 0110749 1 1 0 0064429 2 1 0 00657124 aed Event 372608 T 2054 6 Elapsed 1 0405 015 Speed ev sec 358277 simsec sec 1975 58 181 353 Messages created 121187 present 22 in FES 22 Simulation stopped with endSimulation Calling finish at
2. ing object is accepted only if its price is greater than or equal to the one of the eviction candidate the least recently used object stored in the cache It is defined in include cost related decision policies ideal costaware policy h See cost_scenario tar gz to start experimenting with it To understand how the decision policy is set up see base_cache initialize in src node cache base_cache ned Replacement strategies Finally within the node module the user can choose which type of caching using This choice is fulfilled by the means of the RS parameter of the node compound module The following is a brief description of the algorithms cur rently available within ccnSim e RS lru_cache implements an LRU replacement cache It is the most used algorithm within the literature and simply replaces the least recently used item stored within its cache e RS 1fu cache implements an LFU replacement cache By the means of counters an LFU cache may establish which is the leas popular content and deleting it when the cache is full 10 CHAPTER 2 THE CCNSIM SIMULATOR e RS random_cache implements a random replacement cache When the cache is full the canonical behaviour of a random replacement is to choice at random an element to evict e RS two_cache implements an extension of LFU and random replace ment It takes two random elements and then evicts the least popular one e RS fifo_cache implement a basic First
3. 0 1 2 3 4 5 Shaping factor amp Figure 3 2 Comparison of different decision strategies for different values of a 3 3 Simulating ranges As the last part of this brief ccnSim tutorial we deal with simulating different decision strategies D for a 0 1 In particular we are going to simulate 1 lcd prob_cache and fix0 1 In this last case positive decision is taken one time over ten times otherwise stated on a path long 10 hops only one node will cache the data We will consider the average download distance hdistance as coarse grained metric It turns out that by exploiting the notation we can simulate this scenario in one single shot First of all we have to modify the ini file in the following way ad alpha a 0 5 1 step 0 1 Eos DS 1ce lcd prob cache fix0 1 5 wad As we see we have a bunch of 24 simulations to run Doing ccnSim u Cmdenv would execute the 24 runs in sequence If we are running ccnSim on a machine more than a single processor we would like to run a bunch of par allel simulations The runall sh script in the directory CCNSIM_DIR scripts launches the simulations in parallel on different processor For modifying the number of processor it suffices to open the file with a suitable text editor and 3 4 SUMMARY 21 modify the option j of the command That said by writing john CCNSIM_DIR scripts runall sh The whole
4. 2 Statistics The way which statistics are taken in ccnSim is rather complex More general one of issues in taking statistics within a network of caches is when starting to collect samples One could start at time t 0 taking into account the period of time in which the caches are still empty cold start Otherwise we could wait for caches that fill up hot start Moreover when comparing simulations with models often the system is supposed to be stable In other words statistics should be considered only after the transient phase of the system is vanished Identifying the transient of the system is not a simple task In cenSim things work in the following way First we wait for the nodes or a subset of them to be completely full After that we wait for the system to be stable Stabilization happens when the vari ance of the hit probability of each node goes below a threshold that is fixed by the parameter variance_threshold in modules statistics statistics ned This is implemented by sampling the hit probability of each node and then cal culating the variance of the samples collected The parameters that affects the statistics calculations are e ts the sampling time of the stabilization metric 1 the hit probability e window the window of samples for which the variance is calculated e partial_n the set of nodes for which waiting for filling and stabilization e steady how much simulation time you want
5. Note that the following parameters can be set both from the ini and from within the ned description file of each module 1 Most of the modules illustrated have a cor responding C class If you start to look at the source code to deeply understand how ccnSim works you will find some blocks of code inside the following preprocessor direc tives ifdef SEVERE_DEBUG code endif The nested lines of code are disabled by default You can skip reading them as they have no functional role and will not help you understand ccnSimThey serve only to debug ccnSimlt is highly advisable enable the SEVERE_DEBUG mode when you modify ccnSim source code in order to check if you are introducing inconsistencies or if you are experiencing strange errors which are easier to debug in the SEVERE_DEBUG mode For more details search for SEVERE_DEBUG in include ccnsim h 2 1 Topology definition The network represents the top level module of a ccnSim simulation In there the user should define the connections between different CCN nodes modules and the placement of clients and repositories as well as the number of nodes within the network used Each network module MUST extend the base_network in which the other modules i e clients statistics and so forth are defined Clients placement Clients represent an aggregate of users thus at most one client is connected and active on a given node Indeed in ccnSim clients are connected to each n
6. Zipf The content distribution module corresponding to the content distribution class takes besides the number of objects objects parameter other two parameters alpha is the shaping factor of the MZipf and q represents the MZipf plateau 2 3 Nodes Content Store and Strategy Layers The node module represents the cenSim core It is compounded by three other submodules the core layer the strategy layer and the content store modules Each of these submodules are described below jointly with the pa rameters they accept 2 3 1 Core Layer The core_layer module implements the basic tasks of a CCN node and the communication with the other node s submodules It handles the PIT sending data toward the interested interfaces It handles the incoming interests by sending back data in the case of a cache hit within in the content_store or by appending the interest to the existent PIT entry In the case no entry exists yet it queries the strategy_layer in order to get the correct output interface s 2 3 2 Caching strategies We can think to a caching algorithm on a CCN network as a triple 2 0 7 The forwarding strategy F determines which path exploiting i e where the given Interest has to be sent The decision policy D returns a boolean value saying if the current node on the path has to cache or not the given data The replacement R drops an element from a full cache to make room for the incoming cacheable element In the followi
7. end of Run 0 p hit cache 0 161627 Distance client 2 20726 Time client 0 011430159267 Downloads client 1821 64 End Snippet 3 Execution of the simulation 3 2 USING THE GRAPHICAL INTERFACE 19 Average pni Figure 3 1 Simulation result p_hit per node say we would produce the p hit for each node of the network Moreover we want sort the output in ascending value The following snippet of code is apt to do that john CCNSIM_DIR results grep p_hit ccn id0 sca gt awk print 4 gt sort n gt p_hit data The plot of the file p hit data is shown in Fig 3 1 In pasting and copying the previous snippet take care of substituting the with the right directory CCNSIM_DIR results abilene F spr D lce R lru alpha 1 3 2 Using the graphical interface Sometimes you may need to verify if you wrote the topology in the correct way before launching the entire simulation campaign Or you may need to see how single packets move insider the network For this kind of preliminary checks it may be useful to launch cenSim with the Omnetpp graphical interface To do 80 john CCNSIM_DIR ccnSim Please refer to Omnetpp manual to learn how to interact the graphical in terface 20 CHAPTER 3 PRACTICAL CCNSIM LCD 4 FIX 1 10 ProbCache 3 6 3 4 3 2 2 8 2 6 2 4 2 2 Average distance Hops 1 8 1 6 L
8. gt 1 10 face lt gt delay 1 68ms lt gt node 9 face Snippet 1 Ned file for the Abilene simulation say from 0 5 to 1 with a 0 1 steps One choice could be running ccnSim different times each time with a different value of alpha Moreover for each execution one has to specify different output files in order to not override the results Instead by the means of the notation we can easily write alpha a 0 1 1 step 0 1 In this way Omnet will execute 10 different runs of the same scenario each with a different a Being a a ini variable it can be used for automatically specifying the directory name of the output files output scalar file and output vector file In this way each simulation run will be hold on a dif ferent file T his notation has been used in Snippet 2 for random generator seed rep shaping factor a forwarding F decision D and replacement strategy R Just recall that the name of the ini variable does not forcedly correspond to the ccnSim parameter Now let s try to execute the simulation The simpler method the more complex one will be explained in a while is to write the following john CCNSIM_DIR ccnSim u Cmdenv The option u Cmdenv is for executing ccnSim in console mode without running the graphic engine In Snippet 3 we report the result of the execution skip ping out uninteresting p
9. output n curves where n represents the number of nodes of the network one for each node Each curve is averaged on every content e Per content statistics we output N curves where N represents the num ber of contents in the catalog one for each content Each curve is aver aged on all the nodes of the network e Fine grained statistics we output Nn curves fine grained statistics one for each node and each different content of the system 2 6 Summary In this chapter we overviewed the parameters set that affect the behaviour of the main ccnSim modules In Tab 2 1 we briefly sum up what previously shown indicating the meaning and the value got by the given parameter We recall that these parameters can be set either within the corresponding ned module or within the initialization file ini To locate the ned module that owns a certain parameter param you can do as follows john CCNSIM_DIR grep r lt param gt modules networks 2 6 SUMMARY 13 Syntax Meaning Values num repos Number of the repositories Int gt 0 node_repos Nodes that own a repository Comma separated string replicas Degree of replication for each content Int lt num_repos num_clients Number of active clients Int gt 0 node_clients Nodes which have an active attached Int lt num_clients lambda Poisson arrival rate Double gt 0 RIT Timeout to indicate a download failure in seconds Double gt 0 ch
10. In First Out replacement The first element entered in the cache is the first to be evicted once the cache is full 2 4 Clients As said above a client represents an aggregate of users modeled as a Poisson process In the current implementation a client asks for files chunk by chunk i e the chunk window W is fixed to one The following parameters describe the client behaviour implemented in the correspondent C class e lambda is the total arrival rate of the Poisson process Of course this parameter can be different for each client e check_time represents a timer expressed in seconds Client modules check the state of every download each check_time seconds e RIT Represents the Round Trip Time of the network expressed in sec onds If the time needed for downloading a file exceeds this value the client assumes that the download is expired and does something usually resend the interest packet for the expired download 2 5 Output 2 5 1 Output files The output is collected in standard Omnet files In particular coarse grained and per node statistics are collected within the corresponding sca vector file Instead fine grained and per content statistics are collected within the vec file In case you run a lot of simulations vec files may grow up to GB In this case you may want to disable disable them by adding the following line in omnetpp ini vector recording false 2 5 OUTPUT 11 2 5
11. R include john CCNSIM_DIR cp patch ctopology cc OMNET_DIR src sim john CCNSIM_DIR cd OMNET_DIR amp amp make amp amp cd CCNSIM john CCNSIM_DIR scripts makemake john CCNSIM_DIR make In this snippet of code and for the remainder of the document we suppose that CCNSIM DIR OMNET DIR contain the installation directory of ccn im and Omnet respectively 1 5 Run your first simulation To run your first simulation john CCNSIM_DIR ccnSim u Cmdenv If you have kept the omnet ini files that is by default in ccnSim package at the end of the simulations you should find different output files for different values of alpha and different decision policies To see the files john CCNSIM_DIR cat results abilene F spr D decision R lru alpha alpha_value ccn id0 sca where you should replace alpha value with 0 5 0 6 0 7 0 8 0 9 or 1 and decision with fix0 1 lcd lce prob cache For more details about launching simulations please refer to Chap 3 1 6 Organization of this manual This document is organized as follows e In Chap 2 we give a description of the module organization of ccnSim together with a brief description of the most important parameters that describe the simulation e Chap 3 reports a brief ccnSim tutorial We will show how to simulate and extending ccn im Chapter 2 The ccnSim simulator In the following we give an Omnet perspective of ccnSim
12. and include directories sources and headers respectively Roughly for each module in the modules directory a C class is defined specifying its behaviour Packets Data and interest packets of the CCN architecture are defined within the packet directory Messages are specified in the msg syntax Finally the topolgies directory contains a set of sample topology that the user can employ for starting with ccnSim an example with Abilene network will be provided in Chap 3 1 4 Downloading and installing cenSim You can freely download ccnSim from the ccnSim home page http www enst fr drossi ccnsim If you do not have Omnet version gt 4 1 installed download it from http www omnetpp org and install it following the InstallGuide of Om net that you usually find in the documentation section of Omnet website The new version of ccnSim makes use of the boost libraries 2 thus you should have minimal boost installation on your system install boost download it from http www boost org users download and extract the content of the archive Inside the parent directory you will find a directory named boost Move it inside usr include You may need superuser privi leges 4 CHAPTER 1 CCNSIM OVERVIEW In order to install cenSim it is first necessary to patch Omnet Then you can compile the ccn im sources These steps are as follows john cd CCNSIM_DIR john CCNSIM_DIR cp patch ctopology h OMNET_DI
13. arts As we can see caches are being filled after 134 secs the simulation is initialized Then ccn im waits for the variance of each node s p hit to be under a given threshold That happens after the second round thus clearing out the old statistics After about 1800 secs the simulator stops flush ing on the console some of the synthetic values saved in the sca file If we go through the directory CCNSIM DIR results abilene F spr D 1ce R lru alpha 1 we would find three files with the same name 140 and different extensions As said in Chap 2 the sca file contains the coarse and per node metrics Let s 3 1 RUN SIMPLE SIMULATION 17 General paramteters General network networks net abilene _network seed set rep 0 THHHHHHHHHHHHHHHHHHHHHHHE Repositories node repos num repos 1 replicas 1 THEHHHHHHHHHHHBHHHHHHHHHHHHE Clients node clients num clients 11 lambda 1 RIT 2 check time 0 1 THHHHHHHHHHHHHHHHHHE Content Distribution file size 1 alpha 1 k objects 1074 THEHHHHHHHHHHHHHHHHHHHHHHHE Forwarding FS F spr TTL2 1000 1 1000 routing file THEHHHHHHHHHHHHHHHHHHHHHHHE Caching
14. ccnSim user manual October 17 2014 il Contents 1 ccnSim overview 1 11 WhatiscenSim 1 12 cenSim and 2 2 1 1 3 Overall structure of cenSim 2 14 Downloading and installing cenSim 3 15 Run your first simulation 4 1 6 Organization of this 1 4 2 The ccnSim simulator 5 21 Topology definition 5 2 2 Content handling 6 2 3 Nodes Content Store and Strategy Layers 7 2 3 1 Core Layer BO iaa 7 2 3 2 Caching strategies 7 2 4 Clients s ma RR Belk BORE dep ane SP et 10 2 5 Output hapten za er Ene d 10 22501 Output files w uu dum edo er RUP OR 10 235422 ih e OS SA pom pudedencs Eo god 11 2 6 3 12 3 Practical ccnSim 15 31 Run a simple simulation 15 3 2 Using the graphical interface 19 3 3 Simulating ranges ee ee 20 Si A et Dee 4 21 111 iv CONTENTS Chapter 1 ccnSim overview 1 1 What is ccnSim ccnSim is a scalable chunk level simulator for Content Centric Networks CCN 6 that we developed in the context of the Connect ANR Project e It is written in C under the Omnet framewo
15. eck_time Timer indicating how often a download should be checked Double gt 0 file_size Average file size in chunks Int gt 1 alpha MZipf shaping factor Double gt 0 MZipf plateau Double gt 0 objects Catalog cardinality Int gt 0 FS Forwarding strategy String TTL1 TTL for the NRR1 strategy Int gt 0 TTL2 for the NRR strategy Int gt 0 routing file Routing matrix when fixed routing is used String DS Decision strategy String RS Replacement strategy String C Cache size chunks Int gt 0 window Stabilization window in samples Int gt 0 ts Sampling time in seconds Double gt 0 partial n Num of nodes to be full for starting statistic collections Int gt 0 or 1 all nodes steady Time to simulate after stabilization in seconds Double gt 0 Table 2 1 Summary of the main ccnSim parameters 14 CHAPTER 2 THE CCNSIM SIMULATOR Chapter 3 Practical ccnSim In this chapter we will go through a complete simulation of a CCN We simulate the following scenario e A general network of caches Abilene Clients are connected at each node e The client s arrival rate is lreq s It is the same for every node in the network e The catalog is composed by 1000 objects each one single sized Object popularity is distributed like a Zipf with shaping factor a 1 3 1 Runa simple simulation The first step for running a simulation is to define the network As mentioned in Chap 2 conn
16. ections and number of nodes are easily defined within a ned file In Snippet 1 we report the whole ned file which describes the network As mentioned in Chap 2 abilene network has to extend base_network and then specifying number of nodes and connections If we omit extending base network the basic modules do not get initialized and the simulations would not be executed Finally the package network represents the actual directory where Omnet looks for the ned file in this case CCNSIM_DIR networks The next step is to set the correct parameters within the initialization ini file We set the network name to Abilene the network defined in Snippet 1 The parameters are set following the indication in Tab 2 1 and the final ned file is shown in Snippet 2 If the reader has already read Chap 2 understanding the ini file should not be hard The notation is used within the ini in order to define ini variables ini variables are handy for dealing with ranges of values for the simulation parameters Let s suppose that we want simulate different alpha values let s 15 16 CHAPTER 3 PRACTICAL CCNSIM package networks network abilene network extends base_network parameters n 7 11 connections allowunconnected node 1 face lt gt 5 delay 5 48ms lt gt 0 10 face lt gt delay 3 80ms lt gt node 0 facet 10 face lt gt delay 5 02ms lt
17. ess centrality stores the chunk It is defined in include betweeness centrality h 2 3 NODES CONTENT STORE AND STRATEGY LAYERS 9 e DS fixP 8 implements the Fixed probability decision The parameter P indicates the probability with which a given node stores the incoming chunk Example DS fix0 1 It is defined in include fix_policy h e DS _ 9 implements the ProbCache strategy As much a node is far from the either temporary or permanent copy the less is the prob ability of caching the given element It is defined in include prob_cache_policy h DS never disable caching within the network It is defined in include never_policy h e DS costawareP 3 implements the Cost Aware CoA strategy An in coming object is accepted with a probability proportional to its price P is the average cache admission probability weighted on the different prices It is defined in include cost related decision policies costaware policy h See cost_scenario tar gz to start experimenting with it e DS ideal blind 3 implements the Ideal Blind strategy An incoming object is accepted only if its rank is greater than or equal to the rank of the eviction candidate 1 the least recently used object stored in the cache It is defined in include cost_related decision policies ideal blind policy h See cost_scenario tar gz to start experimenting with it e DS ideal_costaware 3 implements the Ideal CoA strategy An incom
18. im simulation e Writing the description of the topology usually the user will need only to set up connections between the CCN nodes e Initializing the parameters of each module This can be done either di rectly from the ned files or from the omnetpp ini initialization file e Executing the simulation We report the aforementioned steps in Fig 1 1 In the remainder of this manual we assume the reader has a basic knowledge of the Omnet environ ment Otherwise we invite the interested reader to give a look at 1 1 3 Overall structure of ccnSim In order to better understand ccnSimstructure we provide a look at its internal directory structure As said within the introduction ccnSim is a package built over the top of Omnet As such we can divide its structure in three different subunits Module properties are defined in its ned file and simply specify the module appearance For instance for a cache we could specify its size or its replacement algorithm These files are all contained within the modules directory 1 4 DOWNLOADING AND INSTALLING CCNSIM 3 topologies modules clients content node cache strategy statistics packets include src clients content strategy statistics Module behaviours represent ccnSim core and are defined as C classes contained within the src
19. itory connected to itself The number of tories specified should be at most number_repos If the number of repositories specified is lt number_repos this includes the case of an empty string gt gt the remaining repositories are distributed ran domly across the network To understand which node the i th repository is attached to open the output sca file see Sec 2 5 1 and search for repo i 2 2 Content handling The content_distribution module takes no part in the architecture itself but accomplishes many crucial tasks for the correct functioning of the simulation Catalog initialization The catalog is a table of contents We will use inter changeably the terms content or object The catalog is described by these parameters objects represents the cardinality of the catalog expressed in num ber of contents 2 3 NODES CONTENT STORE AND STRATEGY LAYERS 7 e file size as the contents are distributed like a geometric distribu tion this parameter represents the average size of the file in chunks Moreover if file size is set to one whole objects are considered each one composed by a single chunk e replicas this parameters indicates the degree of replication of each content and has to be less num repos In other words the i th content will be randomly replicated over exactly replicas reposi tories CDF initialization For the time being the only distribution implemented is a Mandelbrodt
20. ng we explain how to set each element of this triple within cenSim We recall that these are pa Forwarding strategies FS The forwarding strategy receives an interest for which no PIT entry exists yet Then it decides on which output face the interest should be sent We make the assumption that each node knows the location of the permanent copy of each 8 CHAPTER 2 THE CCNSIM SIMULATOR content There are different strategies actually implemented within ccnSim One particular strategy can be chosen by setting the FS parameter of a node module Shortest Path Routing FS spr The strategy layer choses the shortest path repository and sends packets on the corresponding interface Random Repository FS random repository The strategy layer choses one repository at random out of the given set of repository Note that this strategy requires that the core nodes follow the path chosen by the edge node the node to which the client is attached to Nearest Replica Routing Two phases FS nrr With this setting the strategy layer first explores the neighboring nodes by flooding meta interest i e interests which do not change the content of the cache with a given TTL Then the strategy sends the interest packet toward the nearest nodes having the content available The T TL can be set by the means of the TTL1 parameter Setting TTL1 to oo i e greater than the network diameter makes NRR degenerating in the ideal NRR iNRR strateg
21. ode of the network You can see in networks base ned 6 CHAPTER 2 THE CCNSIM SIMULATOR that port 0 of each node is connected to a client The placement consists in specifying how many and which of them are active The activation of client takes place in the method client initialize The basic parameters for client placement are defined in networks base ned num_clients this integer value specifies how many clients are active over the network e node_clients comma separated string that specifies which CCN node has an active client connected to itself The number of clients specified should be lt number_clients If the number of clients spec ified is lt number clients this includes the case of an empty string gt the remaining clients are distributed randomly across the network To understand which node the i th active client is attached to open the output sca file see Sec 2 5 1 and search for client i Repositories initialization In ccnSim there is no real node representing a repository A CCN node just knows that he owns a repository connected to itself The repository distribution takes place in content distribution init repos The distribution of repositories basically depends on two parameters de fined in networks base ned e num_repos integer value that specifies how many repositories should be distributed over the network e nodes repos comma separated string that specifies which CCN node has a repos
22. rk e It allows to simulate CCN networks in scenarios with large orders of mag nitude In particular ccnSim is able to simulate content stores up to 106 chunks and catalog sizes up to 10 files a reasonable time e It is distributed as free software downloadable at http www enst fr drossi ccnsim Roughly speaking ccn im extends Omnet as to provide a modular en vironment in order to simulate CCN networks Mainly ccnSim models the forwarding aspects of a CCN network namely the caching strategies and the forwarding layer of a CCN node However it is fairly modular and simple to extend We hope that you enjoy ccnSim in which case we ask you to please cite our paper 5 1 2 ccn im and Oment Omnet is a C based event driven framework It provides i a set of core C classes to extend for designing the behaviour of a custom simulator ii a network description language ned to describe how the custom modules interact each other iii a msg language defining the messages node will exchange Our simulator comes as a set of custom modules and classes that extend the Omnet core in order to simulate a CCN network A ccnSim simulation steps traverses three phases e Compiling ccnSim source files and linking with the Omnet core 1 2 CHAPTER 1 CCNSIM OVERVIEW ned description Omnet libraries ccnSim c files Chapter 3 omnetpp ini Chapter 2 Figure 1 1 Basic steps in a ccnS
23. rs In ACM ICN 2014 4 W Chai D He I Psaras and Pavlou Cache less for more in information centric networks In IFIP NETWORKING volume 7289 pages 27 40 2012 5 R Chiocchetti D Rossi Rossini ccnSim an highly scalable ccn simulator In JEEE ICC 2013 6 Van Jacobson Diana Smetters James D Thornton Michael F Plass Nicholas H Briggs and Rebecca L Braynard Networking named content In ACM CoNEXT page 112 2009 7 N Laoutaris Che and I Stavrakakis The LCD interconnection of LRU caches and its analysis Performance Evaluation 63 7 2006 8 Nikolaos Laoutaris Sofia Syntila and Ioannis Stavrakakis Meta Algorithms for Hierarchical Web Caches In IEEE 2004 9 I Psaras W Chai and Pavlou Probabilistic in network caching for information centric networks In ACM ICN 2012 23
24. set of simulations is executed in parallel Now we have a bunch of 72 files Indeed for each different strategy we simulate 6 different values of a generating a vec a sca and a vci Each file is in the right directory with the name of the corresponding strategy and the corresponding a value Let s start evaluating the performance in terms of the coarse grained average download distance As before some bash scripting does the magic john CCNSIM_DIR results grep distance ccn id0 sca gt awk print 4 gt distance_lcd data Note that we are considering the LCD 1cd decision strategy and that the string replacing the should be abilene F spr D 1cd R 1ru alpha in order to get the right results Indeed for the given decision policy in this case the LCD policy we need all the different values for each different shaping factor Repeating the above snippet for each strategy and plotting the result we generate Fig 3 2 3 4 Summary In this section we have shown how to practically simulate a CCN network by the means of cenSim We simulated a simple scenario considering the Abilene network Then we showed how to simulate a range of parameters and producing the correct results 22 CHAPTER 3 PRACTICAL CCNSIM Bibliography 1 http www omnetpp org 2 Boost homepage http www boost org 3 A Araldo Rossi and F Martignon Design and evaluation of cost aware information centric route
25. to run your simulation after the stabilization has happened All the time variables here are expressed in seconds For the sake of the example let s suppose window 60s and ts 0 1s That means each 100ms a sample is collected When 608 of samples are collected i e 600 samples the variance is calculated and tested against the threshold The partial_n parameter is useful in case there are few clients and shortest path is used In this case some node could remain empty and waiting for it would mean a infinite simulation Besides the hit probability the other statistics are handled per single module e g per client or per CCN node e p hit p hit X it defines the probability of finding a content ris n miss n hit within the node e hdistance represents the number of hops that an interest travels before hitting a copy of the requested chunk e elapsed the total time for terminating a download of a file e downloads the average number of downloads terminated by a given client e interest and data the average number of Interest and Data messages respectively handled by a node of the network 12 CHAPTER 2 THE CCNSIM SIMULATOR For most of these statistics it s possible to average on the different contents and or on the different nodes within the network e Coarse grained statistics we output one synthetic value averaged on every content and for every node coarse grained statistics e Per node statistics we
26. y which explore the entire network looking for a copy of the given content Nearest Replica Routing One phase FS nrri In this last case a node which receives an interest sets up an exploration phase in which the node floods the neighborhood with the request for the given object When the copy is found the data comes back it can be a permanent copy or a cached copy as well The scope of the flooding can be set by the means of TTL2 parameter Note that the routing table is learned at run time by the mean of the Dijkstra algorithm It is possible passing the routing matrix as an ASCII file specified by the file routing parameter of the strategy layer module Decision Strategies By connecting more caches there arises the problem of caching coordination who caches what Thus a cache uses a decision strategy or meta caching algorithm in order to decide if storing or not the incoming data The parameter CD in omnetpp ini sets which decision algorithm to employ for the given cache e DS 1ce implements the Leave Copy Everywhere policy Store each in coming chunk within the cache It is defined in include always_policy h e DS 1cd 7 implements the Leave Copy Down policy Store each incom ing chunk only if is the downstream node of the permanent or temporary retrieved copy It is defined in include lcd policy h e DS btw 4 implements the Betweenness Centrality policy On a given path only the node with highest betweenn
Download Pdf Manuals
Related Search
Related Contents
AIS 600 Instructions MSI PT880 Neo FSR Motherboard 入出力モジュール - ジョンソンコントロールズ Tascam US-224 User's Manual Copyright © All rights reserved.
Failed to retrieve file