6.3 Prot´otipo OddCI-DTV
6.3.3 Avaliando o Desempenho do Prot´otipo OddCI-DTV
Com o objetivo de realizar um estudo preliminar do desempenho do prot´otipo OddCI-DTV em receptores reais de TV Digital, foi constru´ıdo um ambiente de testes (testbed) funcional que permitiu que todos os fluxos de comunicac¸˜ao fossem contemplados, como o fluxo entre o o PNA e o Controller (via os canais broadcast e direto) e a troca de informac¸˜oes entre a aplicac¸˜ao paralela e o seu respectivo Backend (via canal direto).
As subsec¸˜oes seguintes detalham quais as m´etricas que foram utilizadas na avaliac¸˜ao de desempenho, os experimentos realizados e tamb´em a configurac¸˜ao do ambiente usado nos testes.
M´etricas de Desempenho
Trˆes caracter´ısticas espec´ıficas de um Sistema OddCI-DTV foram consideradas para aferic¸˜ao da eficiˆencia do sistema implementado: a) a velocidade do Controller para disparar coman- dos pelo canal de broadcast; b) a capacidade do canal de retorno para receber tarefas a serem processadas e transmitir os resultados obtidos; e, finalmente, c) o potencial dos receptores de TV Digital para o processamento de aplicac¸˜oes paralelas. Neste sentido, as seguintes
m´etricas2de desempenho foram observadas:
• Tempo M´edio de Preparac¸˜ao do PNA (Σ), o qual mede a velocidade do OddCI-DTV para criar instˆancias e considera o tempo envolvido na comunicac¸˜ao Controller-PNA- Controllerpara iniciar a execuc¸˜ao da aplicac¸˜ao. Ele ´e calculado pela express˜ao:
Σ = w + d + r + a
ondew ´e o tempo de preparac¸˜ao e transmiss˜ao da WM (contendo a imagem execut´avel do PNA) do Controller para o receptor usando o canal de broadcast (carrossel de dados), d ´e o tempo de processamento do carrossel de dados e carga da imagem do PNA no receptor, r ´e o tempo para envio da solicitac¸˜ao de ingresso na instˆancia do PNA para o Controller ea ´e o tempo para a resposta do Controller para o PNA.
• Tempo M´edio de Processamento (Λ), o qual mede o tempo m´edio de processamento de diversas tarefas de uma aplicac¸˜ao pelo receptor de TV Digital a partir do momento em que o PNA inicia o processamento de uma tarefa at´e o momento em que ´e finalizado o processamento da mesma.
Descric¸˜ao dos Experimentos
O primeiro experimento teve como objetivo medir o tempo de preparac¸˜ao do PNA (Σ) usando aplicac¸˜oes de diversos tamanhos. Neste sentido, foram formatadas oito wakeup messages com tamanhos de 100, 500, 1.000, 1.500, 2.500, 3.500 e 7.500Kb.
Foram tamb´em realizados experimentos para medir o tempo m´edio de processamento (Λ) dos receptores de TV Digital. Um experimento usou a aplicac¸˜ao Primos com intervalos limites de diversas magnitudes. Os tamanhos escolhidos foram iguais a10n, comn variando
de 1 a 6. No caso da aplicac¸˜ao Primos, a m´etrica Λ foi calculada atrav´es da divis˜ao do tamanho do intervalo limite pelo tempo total de processamento.
Embora a aplicac¸˜ao Primos represente um exemplo real (fatorac¸˜ao de n´umeros primos possui grande utilidade na ciˆencia em geral) e seja especialmente adequada ao objetivo do experimento: estressar a capacidade do receptor, n´os tamb´em realizamos testes com uma 2Embora tenha sido usada a m´edia em ambas as m´etricas tamb´em foram calculadas as suas medianas, as
6.3 Prot´otipo OddCI-DTV 119
aplicac¸˜ao de bioinform´atica real. A aplicac¸˜ao selecionada para os testes foi a BLAST (Basic Local Alignment Search Tool) [Altschul et al. 1990], um algoritmo de bioinform´atica para a comparac¸˜ao de informac¸˜oes de sequˆencias biol´ogicas prim´arias, tais como as sequˆencias de amino´acidos de prote´ınas diferentes ou os nucleot´ıdeos de sequˆencias de DNA. Uma busca do BLAST compara uma sequˆencia de consulta com uma biblioteca ou banco de dados de sequˆencias, e identifica as sequˆencias da biblioteca que se assemelham com a sequˆencia de consulta, considerando um determinado limiar de similaridade fornecido. O c´odigo fonte do BLAST est´a dispon´ıvel para download no s´ıtio do U.S. National Center for Biotechnology Information(NCBI) [NCBI 2011]. Para os nossos experimentos, a vers˜ao da aplicac¸˜ao im- plementada em C + + foi portada usando um compilador cruzado (cross compiler) como uma aplicac¸˜ao residente do receptor de TV Digital - a qual executa diretamente no sistema operacional do mesmo. Para efeitos de comparac¸˜ao, as aplicac¸˜oes BLAST e Primos tamb´em foram executadas em um computador pessoal de referˆencia.
N´os tamb´em conduzimos uma avaliac¸˜ao mais ampla da capacidade dos receptores de TV Digital considerando, al´em do PC de referˆencia, recursos disponibilizados por pro- vedores p´ublicos de computac¸˜ao na nuvem. Para essa finalidade, n´os realizamos uma an´alise cruzada usando os resultados de um benchmarking conduzido pela empresa Neus- tar/Webmetrics [Neustar 2011]. Os programas usados no benchmark foram portados para os receptores de TV Digital dispon´ıveis e o seu desempenho pode ser avaliado usando a mesma referˆencia. Novamente, os programas foram escritos emC + + e executaram como aplicac¸˜oes residentes.
Um ´ultimo experimento envolveu uma aplicac¸˜ao que usa a pilha TCP/IP para buscar dados pelo canal de retorno. Foram realizados testes de acesso a p´aginas Web com 100, 500, 1.000, 1.500, 2.500, 3.500, 5.000, e 7.000 Kb usando um acesso dom´estico padr˜ao de 1 Mbps.
Exceto onde explicitamente definido de outra forma, todos os experimento foram repli- cados tantas vezes quanto necess´arias para obtc¸˜ao de m´edias com intervalos de confianc¸a de 95%.
Configurac¸˜ao do Ambiente de Testes
O ambiente montado para os testes envolve um sistema completo de transmiss˜ao e recepc¸˜ao de TV Digital (padr˜ao SBTVD [ABNT 2009a]) dispon´ıvel no Laborat´orio de Aplicac¸˜oes de V´ıdeo Digital da Universidade Federal da Para´ıba (LAVID/UFPB), consistindo de: gerador de carrossel, multiplexador, modulador, transmissor (de baixa potˆencia para uso local) e receptor TVDI de entrada (low-end) e topo de linha (high-end) com o middleware Ginga.
O testbed consiste dos seguintes componentes (sua configurac¸˜ao est´a detalhada na Ta- bela 6.1):
• Estac¸˜ao de TV para a formatac¸˜ao do carrossel de dados, multiplexac¸˜ao, modulac¸˜ao e transmiss˜ao das mensagens de controle para o Controller;
• Receptores de TV Digital para receber pelo ar e processar as mensagens de controle enviadas pela estac¸˜ao de TV;
• Duas vers˜oes do PNA (NCL/Lua e Java DTV), ambas implementando o comporta- mento descrito na Sec¸˜ao 5.2;
• Uma aplicac¸˜ao cliente em duas vers˜oes (Ginga-NCL/Lua and Ginga-J), a qual imple- menta o “Crivo de Eratosthenes” para encontrar n´umeros primos [TPG 2011];
• Duas aplicac¸˜oes residentes implementadas em C++: um algoritmo de bioinform´atica e um algoritmo para benchmarking;
• Vers˜oes do Provider, Controller e Backend desenvolvidos como servic¸os de rede e executados em PCs convencionais.