Giter Club home page Giter Club logo

dct2gen's Introduction

Source code of the [DCT2Gen traffic generator] (http://dl.acm.org/citation.cfm?id=2906504)

This document is copied from Paderborn University webpage ( https://cs.uni-paderborn.de/?id=65279)

DCT2Gen takes a description of certain properties of observed Layer 2 traffic and generates a schedule of TCP payload transmissions. When this schedule is executed, this generates Layer 2 traffic on the network having the same properties as the observed Layer 2 traffic.

A detailed description of DCT2Gen can be found in our paper Philip Wette and Holger Karl: DCT2Gen: A Versatile TCP Traffic Generator for Data Centers, 2014. Here you can find a print (http://www.sciencedirect.com/science/article/pii/S0140366415004594) and a pre-print on arXiv (http://arxiv.org/abs/1409.2246).

Download DCT2Gen ver. 0.02

https://cs.uni-paderborn.de/fileadmin/informatik/fg/cn/Open-source_Software/DCT2Gen0.02.tar.bz2

https://github.com/CN-UPB/trafficGen

DCT2Gen comes with a set of csv-files describing the six properties

Flow sizes (S_obs)
Flow inter-arrival times (IAT_obs)
Number of communication partners per node (N_obs_inter, N_obs_intra)
Number of bytes per traffic Matrix entry (B_obs_inter, B_obs_intra)

and with the inferred properties

B_PL_inter
B_PL_intra

To run DCT2Gen, you need a running installation of GNU R, Java, and Gurobi (with a valid license). If Gurobis Java bindings are not installed to /opt/gurobi562/linux64/lib/gurobi.jar you have to change that path accordingly in DCT2Gens source code.

To compute a traffic schedule, use the function makeTraffic(numMatrices, numRacks, hostsPerRack, trafficScale, fileName) numMatrices is the number of traffic matrices to generate. Each traffic matrix stands for 10s of traffic. numRacks is the number of racks in the data center hostsPerRack is the number of hosts in one rack trafficScale is a factor to linearly scale the size of the traffic matrices. fileName is the filename storing the generated traffic schedule.

makeTraffic(..) uses the files S_obs.csv, IAT_obs.csv, N_obs_inter.csv, N_obs_intra.csv, B_TM_inter.csv, B_TM_intra.csv. B_TM_inter, B_TM_intra are inferred from B_obs_inter, B_obs_intra. Everytime you update B_obs_inter, B_obs_intra you have to use the functions B_obs_inter2B_PL_inter() and B_obs_intra2B_PL_intra() (from Deconvolver.R) to recreate B_TM_inter and B_TM_intra. But before you use these functions, please make sure you understand what the Deconvolver does. Be aware that the deconvolving routines take a lot of CPU time.

DCT2Gen creates a schedule of TCP payload transmissions between all hosts in a data center. The schedule is a csv file where each line srcHost, dstHost, startTime, payloadBytes represents one backlogged TCP connection between srcHost and dstHost that is established at startTime and transfers payloadBytes Bytes of payload from srcHost to dstHost.

Host IDs are created based on their location in the datacenter. They start at 1 and end at numRacks * hostsPerRack. Hosts 1 to hostsPerRack are located in rack 1, Hosts hostsPerRack + 1 to 2 * hostsPerRack in rack 2, and so on.

dct2gen's People

Contributors

dejeneboru avatar schwabe avatar wette avatar

Watchers

James Cloos avatar  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.