• 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 [email protected]. 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

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,

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

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

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´

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

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