• Nenhum resultado encontrado

Teoria das Filas /2

N/A
N/A
Protected

Academic year: 2021

Share "Teoria das Filas /2"

Copied!
6
0
0

Texto

(1)

Teoria das Filas - 2009/2

Miniprojeto

Universidade Federal do Esp´ırito Santo - UFES

Professor: Magnos Martinello

(2)

1

Proposta

A proposta do trabalho ´e refor¸car o compreendimento dos conceitos de teoria das filas em sistemas de computa¸c˜ao atrav´es da utiliza¸c˜ao de uma abordagem que combina modela-gem anal´ıtica e medi¸c˜ao. No que diz respeito `a medi¸c˜ao, a id´eia consiste em implementar uma aplica¸c˜ao para apresentar um v´ıdeo que ser´a continuamente recebido (streaming) em um sistema operacional Linux. As medidas coletadas em uma campanha de experi-menta¸c˜ao servir˜ao de entrada para os parˆametros de um modelo anal´ıtico constru´ıdo para avaliar se atrasos/perdas de pacotes de v´ıdeo n˜ao degradam a qualidade de apresenta¸c˜ao do v´ıdeo para um cliente. O modelo representa uma fila de recep¸c˜ao que precisa ser pro-jetada de tal modo a garantir probabilisticamente que o atraso seja inferior a um valor m´aximo. Para concluir o trabalho, os resultados obtidos dever˜ao ser comparados a fim de validar a modelagem anal´ıtica vs. medi¸c˜ao.

2

Estrutura do Trabalho

O trabalho a ser desenvolvido est´a dividido em 4 etapas. Cada uma das etapas ´e descrita a seguir:

2.1

Implementa¸

ao

Para poder realizar uma campanha de experimentos, os grupos devem implementar uma aplica¸c˜ao cliente (videoplayer) utilizando linguagens a escolha do programador como C, C++, Java ou Python.

A aplica¸c˜ao dever´a abrir conex˜oes (requisi¸c˜oes http, sockets TCP, UDP, STCP, RTP, RTCP) com servidores web de v´ıdeo on demand (vod) e iniciar a recep¸c˜ao do conte´udo do v´ıdeo. Em outras palavras, a aplica¸c˜ao recebe como entrada a URL do v´ıdeo (e.g. ”www.youtube.com” ou http://www.video.rnp.br/ ), abre uma conex˜ao e come¸ca o pro-cesso de medi¸c˜ao. Ressalta-se que o tipo do protocolo de transporte (TCP, UDP-preferencial) vai influenciar consideravelmente nos tempos de chegadas dos pacotes de v´ıdeo.

A sa´ıda do videoplayer deve mostrar o instante de chegada e o instante de sa´ıda (apre-senta¸c˜ao) e o correspondente n´umero do pacote (ignorar pacotes perdidos ). Exemplo: pacote 1, chegada 10 ms sa´ıda 20 ms

pacote 2, chegada 300 ms sa´ıda 600 ms pacote 3, chegada 500 ms sa´ıda 900 ms Para cada v´ıdeo deve ser observado: • Tamanho total do v´ıdeo - em bytes

(3)

• Taxa m´edia do v´ıdeo ( codifica¸c˜ao - banda requerida ) µ - em bytes/segundo • Tempo m´edio entre chegadas de pacote (1/λ) - tempo de chegada de cada pacote i

Tj(i) na rodada j;

• Tamanho m´edio dos pacotes - em bytes

Em paralelo `a realiza¸c˜ao desses experimentos, os grupos dever˜ao executar sniffers de pacotes, como TCPdump 1 ou Ethereal, Wireshark 2. O objetivo ´e capturar, gerar traces

e analisar todos os pacotes direcionados especificamente ao videoplayer.

Para a experimenta¸c˜ao ser efetiva, dever´a ser realizado uma campanha de experimen-tos na sua m´aquina cliente para ao menos 3 v´ıdeos de taxas distintas armazenados em um servidor (e.g. youtube) e realizar v´arias rodadas (no m´ınimo 20) para obter valores estatisticos mais est´aveis.

2.2

Modelagem anal´ıtica

Um modelo anal´ıtico que ser´a desenvolvido pela equipe permitir´a dimensionar o tamanho ideal da fila de recep¸c˜ao (buffer) de v´ıdeo. O modelo de fila geral deve incluir uma vari´avel aleat´oria S que representa o tempo de servi¸co para o videoplayer. O tempo de servi¸co depende essencialmente do n´umero de chegadas ( vari´avel aleat´oria discreta N (t) ) que ocorrem em um dado intervalo t. Por exemplo, se o n´umero de chegadas k no intervalo t for zero k = 0, a fila precisa conter um dado n´umero de pacotes (unidades de apresenta¸c˜ao do v´ıdeo) para poder apresentar o v´ıdeo at´e o intervalo t, caso contr´ario vai haver uma interrup¸c˜ao prejudicando a qualidade da apresenta¸c˜ao do v´ıdeo. Em outras palavras, ´e preciso garantir que a probabilidade condicional dessa vari´avel P [S ≤ t|N (t) = k] > 0.99. O tempo de servi¸co S ´e uma fun¸c˜ao relacionada a taxa m´edia do v´ıdeo (banda reque-rida), onde pode-se assumir (verificar mais adiante se a premissa funcionou bem) que os tempos entres servi¸cos s˜ao exponencialmente distribu´ıdos com tempo m´edio 1/µ. Esses tempos evidentemente ser˜ao calibrados com a taxa m´edia do v´ıdeo.

O n´umero m´edio de chegadas no intervalo t, N (t) ´e uma fun¸c˜ao relacionada a taxa m´edia de chegada dos pacotes λ, onde pode-se assumir que os tempos entres chegadas s˜ao exponencialmente distribu´ıdos (verificar mais adiante se a premissa funcionou bem) com tempo m´edio 1/λ. Esses tempos ser˜ao obtidos a partir do processo de medi¸c˜ao dos tempos entre chegadas de pacotes.

2.3

Valida¸

ao dos resultados

A valida¸c˜ao consiste em comparar os instantes (tempos) de apresenta¸c˜ao de cada pacote te´orico ( modelo anal´ıtico ) versus experimental (videoplayer). Para a compara¸c˜ao deve-se

1http://www.tcpdump.org/ 2http://www.ethereal.com/

(4)

variar o tamanho da fila de recep¸c˜ao B = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10... e mostrar uma figura (com curva te´oria vs. experimental) com os tempos de apresenta¸c˜ao de cada pacote em fun¸c˜ao do n´umero do pacote correspondente.

Se o tempo de apresenta¸c˜ao entre dois pacotes for maior que o inverso da taxa 1/µ, ent˜ao houve uma parada na apresenta¸c˜ao do v´ıdeo. Claramente quanto maior for a fila, maior ´e a probabilidade de n˜ao haver paradas. No entanto, o foco central do trabalho ´e determinar qual o tamanho ideal da fila de recep¸c˜ao de video. Vale ressaltar que tamb´em ´

e importante determinar as diferen¸cas entre o modelo te´orico vs. videoplayer para cada tamanho de fila B.

A reprodu¸c˜ao do v´ıdeo por um player real pode ser feita se os pacotes e seus respectivos tempos de sa´ıda (apresenta¸c˜ao) forem armazenados. Os tempos de sa´ıda v˜ao variar para os diferentes valores de B. Para cada valor, pode-se tocar o v´ıdeo e verificar a partir de qual valor a qualidade do v´ıdeo reproduzida para o usu´ario foi excelente.

2.4

Relat´

orio T´

ecnico

O relat´orio consiste de um documento em formato PDF (trab.pdf ) contendo as seguintes se¸c˜oes:

1. Introdu¸c˜ao 2. Implementa¸cao 3. Modelo Anal´ıtico

4. Experimenta¸c˜ao - descri¸cao dos experimentos realizados e apresenta¸c˜ao de todos os resultados;

5. Valida¸c˜ao - apresenta¸c˜ao das inferˆencias realizadas e respostas obtidas no processo de valida¸c˜ao dos resultados (modelagem anal´ıtica vs. experimenta¸c˜ao);

6. Discuss˜ao - os alunos devem discutir sobre os experimentos realizados e a metodo-logia aplicada. Nesa se¸c˜ao deve-se argumentar o sucesso ou fracasso no processo de valida¸c˜ao dos resultados. Al´em disso, os resultados obtidos dever˜ao ser confrontados com a caracteriza¸c˜ao realizada anteriormente, ou seja, na sua opini˜ao o modelo de fila foi ou n˜ao foi satisfat´orio. Deve-se usar o modelo para analisar outros cen´arios ex: se a capacidade (banda dispon´ıvel) for reduzida, quais s˜ao as suas recomenda¸c˜oes e futuras melhorias. Ao longo do texto devem ser apresentadas justificativas claras. 7. Conclus˜ao

(5)

3

Condi¸

oes de entrega

• Data de entrega: o trabalho dever´a ser entregue at´e `as 00:00:h do dia 26/10/2009 (quinta-feira) via email. N˜ao ser˜ao aceitos trabalhos ap´os o prazo. N˜ao aceitarei nenhum argumento para justificar atrasos.

• Grupo: este trabalho poder´a ser desenvolvido em grupos de, no m´aximo, trˆes pessoas. Quest˜oes relativas ao trabalho poder˜ao ser inclu´ıdas na segunda prova da disciplina.

3.1

Como entregar:

• Enviar todos os arquivos da implementa¸c˜ao, anal´ıtico e relat´orio do seu trabalho por e-mail para magnos@ninfa.inf.ufes.br. Somente trabalhos enviados para este endere¸co ser˜ao recebidos.

• teoria filas:trab:nome1:nome2:nome3

Ex: teoria filas:trab:JoaoSilva:JoanaSilveira

O nome do arquivo contendo o trabalho enviado em anexo deve ser trab.tar.gz. Ele ser´a descompactado da seguinte forma: tar xvzf trab.tar.gz e dever´a conter os c´odigos fontes al´em do arquivo chamado Makefile, com as regras de compila¸c˜ao do programa.

Ao digitar: make all deve ser gerado o execut´avel trab

Ap´os o envio vocˆe receber´a uma confirma¸c˜ao de recebimento do trabalho. Caso isso n˜ao aconte¸ca, reenvie o seu trabalho para o mesmo endere¸co. Evidentemente aguarde um certo per´ıodo para reenviar.

Na mensagem de confirma¸c˜ao do seu trabalho haver´a um hash MD5. Para garantir que o arquivo enviado n˜ao foi corrompido, compare o MD5 do email com o gerado em sua m´aquina. Isso ´e feito com o seguinte comando no terminal:

md5sum trab.tar.gz

Caso os valores sejam diferentes, o seu arquivo foi corrompido: reenvie o trabalho novamente.

O recebimento dos trabalhos ´e automatizado. Siga as instru¸c˜oes `a risca pois algum erro na submiss˜ao pode inviabilizar a entrega do seu trabalho.

Seja qual for a linguagem usada, o arquivo trab.tar.gz dever´a conter, obrigatoriamente, um Makefile e n˜ao poder´a conter arquivos .o ou execut´aveis.

(6)

4

Apresenta¸

ao

• A apresenta¸c˜ao do trabalho ser´a feita em sala de aula. A equipe deve preparar slides (uma demo ´e muito bem vinda) para demonstrar os resultados. A presen¸ca de todos os membros do grupo ´e obrigat´oria. A nota ser´a dada para aqueles que estiverem presentes, quem faltar recebe nota ZERO.

• Quest˜oes espec´ıficas sobre o projeto, implementa¸c˜ao e an´alise ser˜ao feitas individu-almente aos membros do grupo.

• Tragam o relat´orio, o c´odigo da aplica¸c˜ao equivalente ao enviado por email (para uma demo no laboratorio ou na sala de aula) e uma an´alise dos resultados obtidos.

5

Avalia¸

ao

• Trabalhos com erros de compila¸c˜ao receber˜ao nota ZERO. Todos os trabalhos ser˜ao testados no Linux com o compilador especificado no seu relat´orio ( GCC, G++, javac).

• Caso seja detectado pl´agio, todos os envolvidos receber˜ao nota ZERO. Se vocˆe fez o trabalho, n˜ao o repasse a ningu´em.

Casos mais severos de pl´agio ser˜ao reportados `a coordena¸c˜ao do curso para providˆencias.

• O trabalho vale 10 pontos, levarei em conta, al´em da corretude do programa, a clareza e simplicidade de seu c´odigo.

6

Observa¸

oes importantes

• Caso sejam detectados erros neste documento, ser˜ao divulgadas erratas. Fique atento `as observa¸c˜oes do professor durante as aulas e aos avisos na p´agina do curso.

Referências

Documentos relacionados

O sistema de avaliação será aplicado conforme o RAPM e/ou RCFAPM e o previsto neste Plano de Curso, sendo o corpo docente responsável pela elaboração das

Ocorreu aumento significativo da produção de matéria seca da braquiária no tratamento com calcário + gesso + guandu/ feijão de porco, em relação aos tratamentos calcário + gesso

Nesse caso, deseja-se conhecer, dados um grafo F e um conjunto de k cores, o menor n´ umero de v´ ertices em um grafo completo para que qualquer colora¸c˜ ao de arestas com

Movimentos suaves que visam “ativar” circuito de circulação energética do organismo (circulação do Qui nos meridianos), proporcionando sensação bem estar, de

Por outro lado, se uma firma com vantagem competitiva entende o link entre os recursos controlados e as suas vantagens, então outras firmas podem também

PARTE III A TEMPESTIVIDADE DO PROCESSO SOB O ÂNGULO NORMATIVO E SUA DIMENSÃO CONFLITUAL Capítulo 4 A TRÍADE CONSTITUCIONAL DA TEMPESTIVIDADE (EM SENTIDO AMPLO): CELERIDADE,

A probabilidade de um n´ umero aleat´ orio ser um pseudo-primo tende para zero, quando o n´ umero de algarismos tende para infinito [Pomerance 1981].. • Testar com v´

3. Como as pessoas com autismo e seus familiares têm reagido à série? Criaram-se expectativas. Foi muito gratificante. Havia nervosismos por parte da comunidade autista antes de a