Implementation and Performance Evaluation of Network Coding for Cooperative Mobile Devices Morten V. Pedersen, Frank H.P. Fitzek and Torben Larsen Implementação e Avaliação de Desempenho de Rede Cooperativa de Codificação para Dispositivos Móveis ICC Workshop, 2008 Michel Albonico Roteiro • • • • Introdução Fundamentos da Economia de Energia Ambiente de Testes Network Coding Aplicado a Dispositivos Móveis • Conclusão • Análise Crítica Introdução • A Performance é medida através de throughput, delay e consumo de energia • Sistemas puramente celular: – O dispositivo móvel é somente conectado à estação base • Rede sem fio cooperativa: – Além da rede celular, estabelece um link com os dispositivos próximos Introdução • Sistemas puramente celular: Introdução • Rede sem fio cooperativa: Introdução • Download de dados com cooperação e sem cooperação: Introdução • Sem cooperação: – Cada dispositivo móvel precisa receber 2 pacotes do link de cellular – Taxa de transmissão baixa – Delay e consumo de energia consideráveis Introdução • Cooperação I: – Dois celulares irão receber 1 pacote cada do Link Cellular – Encaminham estes para as entidades cooperativas – Pela rede de cooperação os pacotes são enviados em paralelo Introdução • Cooperação II: – Necessita de um dispositivo intermediário Introdução • Cooperação e Network Coding: – Broadcast (adicionado com técnicas de codificação) para distribuir na rede de cooperação Introdução • N é igual ao número de Dispositivos Móveis no cluster • Um ambiente com N dispositivos cooperando é N vezes mais rápido que uma rede convencional • Em caso de erro poderá haver muita retransmissão • Network Coding diminui isso Introdução • Network Coding evita retransmissões • Aumenta o número de pacotes (Aumento no consumo de energia) Fundamentos da economia de energia • Quatro estados para o consumo de energia: – Sending (enviando) – Receiving (recebendo) – Idle (escutando o canal, diferente de sleeping) – Coding (codificando) Fundamentos da economia de energia • Foram utilizados celulares N95 e os parâmetros para o mesmo • Consumo de energia como parâmetro muito importante Fundamentos da economia de energia • Rede IEEE 802.11b/g: – Utilizada para cooperação – Distancia entre 3 e 30m Fundamentos da economia de energia • Rede Celular (2G/3G): – Usada na comunicação com a Estacao Base – sending? Fundamentos da economia de energia • Rede IEEE 802.11b/g: Fundamentos da economia de energia • Network Coding: – Menor consumo no processo de Idle Ambiente de Testes • N nós dispostos ao redor de um nó interno • N + 1 (Número de nós) Ambiente de Testes • Um par de nós é disposto em lados opostos e tentam trocar pacotes • Formando N/2 clusteres de cooperação Ambiente de Testes • Os pacotes são transmitidos em slots de tempo fixo • Somente um nó pode utilizar o canal para transmitir • Os nós não comunicam-se diretamente, necessitam de um nó intermediário Ambiente de Testes • (N + 1) estados possíveis em um slot • Somente tres possíveis estados em um determinado slot: – sending – receiving – idle Ambiente de Testes • Tres casos difentes quanto à comunicação: – Pure Relaying – Pure network Coding – Network Conding in Team Ambiente de Testes • Pure Relaying: – Cada nó envia para o meio e este repassa para o destino – O número de recebimentos é igual ao número de envios – Delay igual ao número de Slots – Sender Slots = 2N • 1 Envia / 1 Recebe (Centro) / (N - 1) Idle • Centro Envia / 1 Recebe / (N - 1) Idle Ambiente de Testes • Pure Relaying: Ambiente de Testes • Pure Network Coding: – Cada transmissão para um nó específico é ouvida por todos os demais – O nó do meio recebe as transmissões de todos os nós externos – Codifica todos os pacotes em um único e envia a todos por broadcast (O pacote não ficaria muito grande?) Ambiente de Testes • Pure Network Coding: – A codificação habilita a requisição de um novo pacote caso o mesmo seja perdido – Receiving = N - 1 • Todos menos o q enviou – Sending Slots = N + 1 • N – Todos enviam para o centro • 1 – O centro envia o broadcast Ambiente de Testes • Pure Network Coding: Ambiente de Testes • Network Coding in Team: – Pares pertencem a grupos – T é o número de grupos – O nó do centro recebe todos as transmissões e cria os pacotes codificados para cada grupo – N + T Slotes para envio • N – Todos os nós externos podem enviar • T – O nó do central envia para cada grupo Ambiente de Testes • Network Coding in Team: Ambiente de Testes • Exemplo usando 96 nós externos e 1 central (Consumo de energia) – Pure Relaying (D = 2N = 96) sending: 192 x 1,62 = 311,04 receiving: 192 x 1,37 = 263,04 idle: 18240 x 0,979 = 17856,96 total: 18431,04 W Ambiente de Testes – Pure Coding (D = N + 1 = 97) sending: 97 x 1,62 = 157,14 receiving: 9216 x 1,37 = 12625,92 idle: 96 x 0,041 = 3,936 coding: 0,593 total: 12787,59 W Ambiente de Testes – Pure Coding in Team (D = N + T = 100) sending: 100 x 1,62 = 162,00 receiving: 2304 x 1,37 = 3156,48 idle: 7296 x 0,041 = 299,14 coding: 0,593 total: 3618,21 W Ambiente de Testes – Pure Coding in Team • Conforme cresce o número de grupos, o consumo de energia aumenta, assim como o delay Network Coding Aplicado a Dispositivos Móveis • Existencia de um Servidor de Cooperação (Cooperation Server) • Todos os dispositivos conectam ao servidor para obter acesso aos serviços • Servidor detecta na vizinhança se alguém já teve acesso ao serviço e se este pode cooperar Network Coding Aplicado a Dispositivos Móveis Network Coding Aplicado a Dispositivos Móveis • Aplicação no dispositivo móvel: – Pode conter fluxos de dados de diferentes aplicações – Pacotes baixados são armazenados no flow cache – Peer info: informações para os demais dispositivos – Output queue: pacotes a serem enviados aos outros dispositivos Network Coding Aplicado a Dispositivos Móveis Conclusões • A combinação de redes wireless cooperativas e Network Coding traz benefícios em troughput, delay e consumo de energia • Cuidado com idéia de Network Coding Team, pois deve haver balanceamento entre delay e consumo de energia Conclusões • O consumo de energia para o estado de idle em redes WLAN é o ponto chave de todo o processo • Trabalhos futuros: Estratégia para Servidores de Cooperação e Network Coding em dispositivos móveis Análise Crítica • Em poucos pontos trata de questões de troughput • Ambiente com poucos grupos ( <= 4) seriam interessantes? • Pouco explicado como o Network Coding diminui o consumo de energia em modo idle • Quantos hosts por grupo? Como são definidos? (Network Coding Team) Análise Crítica • Descrever melhor o ambiente de testes • Já que vários pacotes são codificados em um único, seu tamanho não torna-se muito grande?