Coder Social home page Coder Social logo

avastack / cdnsim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cnplab/cdnsim

0.0 1.0 0.0 12.08 MB

CDNSim is a stream-level simulator written in Python, designed to simulate large content delivery networks.

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%

cdnsim's Introduction

CDNSim

What is CDNSim

CDNSim is a stream-level simulator written in Python, designed to simulate a large content delivery network.

What you need to run CDNSim

Input files that must be provided:


-links - IRL AS-to-AS links, 'monthly' format
-origin - IRL IPv4 origin prefixes, 'monthly' format
-rank - CAIDA AS rank data
-geo - county codes (e.g., 'de' or 'fr,de'). Files should be stored in 'geoAS' directory (examples provided). Geographical data can be obtained from here.


All this data are available online, therefore the examples are only given to show how the data are expected to be organized. Each example file includes only the first one hundred entries.

CDNSim uses Python2 and some libraries

py2-ipaddress:

Python 2.7 backport of 3.3's ipaddress module.

pip install py2-ipaddress

or visit: https://pypi.python.org/pypi/py2-ipaddress/

SubnetTree:

pip install pysubnettree

or on Ubuntu/Debian: sudo apt-get install python-subnettree

or visit: https://pypi.python.org/pypi/pysubnettree/

NetworkX:

pip install networkx

or on Ubuntu/Debian: sudo apt-get install python-networkx

or visit: https://networkx.github.io/

matplotlib:

pip install matplotlib

or on Ubuntu/Debian: sudo apt-get install python-matplotlib

or visit: http://matplotlib.org/

treap:

pip install treap

or visit https://pypi.python.org/pypi/treap

CDN-Sim Parameters

usage: cdnsim.py [-h] [-trace file] [-links file] [-origin file] [-rank file]
                 [-geo string] [-nhosts number] [-active number]
                 [-backnoise number] [-streaming] [-ondemandCache]
                 [-percentCache number] [-hierarchical] [-cachesec number]
                 [-cacheinit number] [-cachethreshold number] [-interactive]
                 [-reqRate number] [-scenario file] [-endtime number]
                 [-waitCacheBoot] [-unlimCoreLinkBandwidth] [-siminfo text]
                 [-figures] [-allfigures] [-parallel]

CDN-Sim in Python

optional arguments:
  -h, --help               show this help message and exit

Input files:
  -trace file              User behavior trace (default: usr_trace.dat)
  -links file              IRL AS-to-AS links (default: as_links.dat)
  -origin file             IRL origin prefixes (default: origin.dat)
  -rank file               CAIDA AS rank data (default: caida.org.dat)

Simulation setup:
  -geo string              Comma-separated list of countries (default: de)
  -nhosts number           Maximal number of hosts (default: 1000000)
  -active number           Simultaneously active streams (default: 100000)
  -backnoise number        Simultaneous active background streams (default: 0)
  -streaming               Live streaming (not VoD) (default: True)
  -ondemandCache           Create caches on demand (default: False)
  -percentCache number     % of ASes with static cache (default: 0)
  -hierarchical            Use hierarchical cache placement (default: False)
  -cachesec number         # seconds of video to keep in cache (default: 10)
  -cacheinit number        ondemand cache init time (default: 0.1)
  -cachethreshold number   # streams to start a cache (default: 1)
  -interactive             Interactively populate ASes (default: False)
  -reqRate number          Request rate per min (0-auto) (default: 0)
  -scenario file           Scenario file (format: time, rate/min) (default: )
  -endtime number          Finalize simulation, no new requests (default: 30)
  -waitCacheBoot           Wait cache to boot or bypass it (default: True)
  -unlimCoreLinkBandwidth  Set no limit to the core link bandwidth (default:
                           False)

Results:
  -siminfo text            Name of the simulation (default: )
  -figures                 Figures with results (default: False)
  -allfigures              Figures for all user streams (default: False)
  -parallel                Enable parallelism in simulation (default: False)

cdnsim's People

Contributors

ian7on avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.