Giter Club home page Giter Club logo

fog4ms's Introduction

Sobre o programa

O programa é baseado em um framework dash para NS-3 (@haraldott/dash). Sua principal função é simular transmissões dash em diferentes cenários criados a partir do NS-3, podendo adicionar diferentes algoritmos de adaptação, ou utilizar um dos algoritmos presentes no framework (Tobasco, Panda e Festive).

Parâmetros

Os seguintes parâmetros devem ser especificados para executar o programa: simlationId: o ID da simulação, para obter diferentes logs em simulações que utilizam o mesmo cenário (mesmo algoritmo e mesmo número de clientes).

  • numberOfClients: O número de clientes usado na simulação.
  • segmentDuration: A duração de cada segmento de vídeo (em microsegundos).
  • adaptationAlgo: O algoritmo de adaptção que o cliente utiliza. Os algoritmos pré-instalados são: tobasco, panda e festive.
  • segmentSizeFile: O arquivo contendo o tamanho dos segmentos de vídeo. A estrutura do arquivo é uma matriz (n,m), com n sendo o número de níveis de representação e m sendo o número de segmentos. Por exemplo, um vídeo codificado em três níveis de representação e dividido em 2 segmentos pode ser descrito através de um arquivo:

1564 22394

1627 46529

1987 121606

Como executar

Para executar o programa é necessário seguir o seguintes passos:

  1. Acessar a pasta ns-3.29
  2. Mover a pasta 'Fog4Ms' para a pasta 'src' do ns-3.29
  3. Habilitar os testes e exemplos através do comando:

./waf configure --enable-tests --enable-examples CXXFLAGS="-Wall" ./waf configure --enable-examples --enable-tests (Comando caso precise para desabilitar 'Warnings treated as errors')

  1. Construir e linkar as dependências e configurações estabelicidas através do comando:

./waf

  1. Rodar o script dash-migration através do comando:

./waf --run=dash-ms-migration

  1. Alternativamente pode-se rodar o script dash-migration, localizado na pasta src do ns-3.29, passando os parâmetros necessários descritos anteriormente. Exemplo:

./waf --run="dash-ms-migration --simulationId=1 --numberOfClients=3 --adaptationAlgo=panda --segmentDuration=2000000 --segmentSizeFile=src/Fog4MS/dash/segmentSizesBigBuck1A.txt"

  1. A partir do diretorio do Ns3 pode-se chamar o script em python para se fazer multiplas simulações. Exemplo:

python3 src/Fog4MS/Run.py dash-ms-migration -i simulationId -s seedValue -r 17 -args politica=0 -args numberOfClients=32 -args segmentSizeFile=src/Fog4MS/dash/segmentSizesBigBuck90.txt

Resultados

Os resultados podem ser obtidos através dos logs dentro da pasta "dash-log-files"

Graficos

Os gráficos são gerados pelo arquivo 'graficos.py' que se encontra dentro da pasta dash-migration, antes de rodar o script deve-se alterar os parâmetros inicias dentro do método 'main' de forma a retratar a simulação feita. No momento é gerado 5 graficos que ficam na mesma pasta onde de encontram os logs, abaixo um exemplo de como fazer o setup. ->Parametros: ->adaptAlgo="festive" (Algoritmo de adaptação escolhido) ->simulation=1 (SimulationId escolhido para a simulação) ->numberOfClients=15 - (Valor referente ao número de clientes na simulação) ->segmentfile="segmentSizesBigBuck90.txt" (Arquivo de segmento utilizado)

fog4ms's People

Contributors

d3f3r4l 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.