• Nenhum resultado encontrado

Mitigando o problema em nível de rede

7 Resistindo ao Bufferbloat em Caminhos Compartilhados

7.4 Mitigando o problema em nível de rede

Esta seção apresenta o LIFO-CoDel [Felix et al., 2016], uma nova proposta para reduzir o impacto causado pelo mecanismo de controle de fila no CC do MPTCP. A estratégia empregada pela proposta altera o escalonamento dos pacotes FIFO (First In, First Out), utilizada originalmente pelo FIFO-CoDel, para LIFO (Last In, First Out) além dos demais ajustes detalhados a seguir.

Esta proposta foi inspirada em [Maurer, 2015], o qual utiliza uma estratégia denominada LIFO adaptativo com CoDel para controlar a sobrecarga de requisições nos servidores do Facebook. Neste trabalho, a proposta LIFO-CoDel é projetada para um contexto original de redes heterogêneas sem fio, as quais precisam de soluções específicas capazes de tratar suas características peculiares em conjunto com os requisitos de suas aplicações.

Figura 7.6: Atraso na fila vs. pilha

&

Figura 7.7: Diagrama de Fluxo do LIFO-CoDel

A fim de mostrar a diferença entre FIFO e LIFO, a Figura 7.6 ilustra em um plano cartesiano de tamanho da fila vs. tempo, a entrada, permanência e saída de pacotes das estruturas fila e pilha. Na disciplina FIFO-CoDel, conforme a fila cresce, o atraso do pacote aumenta.

O parâmetro τ controla o atraso do pacote e o μo tamanho da fila. Quando o pacote ρi é desenfileirado, ele será descartado seδifor maior queτe o instantet = deqifor maior que μ. Este último se ajusta dinamicamente conforme o número de descartes para controlar o tamanho da fila.

Isto permite que pacotes com um tempo de permanênciaδi maiores queτ sejam encaminhados até que se entre novamente em estado de descarte. O LIFO-CoDel propõe controlar este estado de descarte com duas principais alterações: alterar a fila para pilha, a fim de priorizar os pacotes com menor tempo de permanência; e um novo parâmetro para controlar os descartes na fila.

A alteração da estrutura fila para pilha permite priorizar a retirada dos pacotes com menor tempo de permanência, ou seja, os pacotes mais recentes. Considerando que o mecanismo esteja em estando de descarte, na Figura 7.6.(b) o pacotepiseria descartado porque seu tempo de permanência é maior queτ edeqi > μ. Contudo, LIFO-CoDel utiliza o parâmetroθ para determinar se o pacote será descartado. Conforme ilustra o diagrama de fluxo da Figura 7.7, o parâmetroθrepresenta a razão entre o tempo de permanência máximoδmax(Equação 7.6) e o tempo de permanência médio ¯δ(Equação 7.7) para o n-ésimo pacote retirado da pilha, dado pela Equação 7.8. Se ¯δ = 0, então se assumeθ = 0. Juntamente com o θ, é calculadoΓt, que se refere a diferença entre o tempo de permanência atual e o anterior (Equação 7.9). O valor deΓt é utilizado para incrementar ou reiniciar o valor da variávelk (Equação 7.10). QuandoΓt > 0, assumindo a estrutura pilha, refere-se a um pacote já na pilha antes da última retirada, porém pode indicar também um atraso maior do sistema em relação à última retirada. No entanto, o valor dek eθé reinicializado quandoΓt < 0, ou seja, quando o pacote atual possuir um tempo de permanência menor que o anterior. Por fim, o pacotepisomente é descartado se k > θ.

δmax = max(δ1, . . ., δn) (7.6)

θ= δmax

Nesta seção apresentamos os resultados da avaliação da LIFO-CoDel em comparação com os resultados do CoDel e FQ-CoDel. O cenário, as métricas e os parâmetros utilizados nas simulações são os mesmos apresentados no início do capítulo. Os resultados mostram que o LIFO-CoDel causa um impacto menor no CC do MPTCP, e com isto, melhora o desempenho da transmissão multicaminhos. Um dos motivos desta melhoria é a redução no número de descartes na fila, ilustrado pela Figura 7.8.(a). Esta redução contribui com o aumento dogoodput, conforme Figura 7.8.(b). O LIFO-CoDel tem umgoodput cerca de 40% maior que FIFO-CoDel, para atraso de 1msno caminho A. O aumento do atraso ocasiona um descarte maior de pacotes, e isto reduz ogoodputdo LIFO-CoDel. Contudo, com atraso de 100msos resultados são discretamente melhores que o FIFO-CoDel.

A Figura 7.9 apresenta os resultados para a variação do tamanho da CWND e RTT do LIFO-CoDel. Assim como CoDel, a janela de congestionamento se manteve em torno de 5 pacotes. Porém, com atraso de 100ms. O algoritmo CC não priorizou o caminho com menor RTT, como observado nos resultados diante do CoDel e DropTail. As Figuras 7.10.(a) e 7.10.(b) apresentam respectivamente o tamanho médio e o tempo médio de permanência na fila sob as disciplinas FIFO-CoDel e LIFO-CoDel. O LIFO-CoDel reduz o tamanho da fila e consequentemente o tempo de permanência. Estes resultados se referem às simulações com o algoritmo LIA. Com o algoritmoRT_Compensator os resultados variam de 2% a 5%. Com o algoritmoUncoupled, a variação é mais expressiva para o LIFO-CoDel, com valores até 50%

acima dos apresentados comLI A.

0

A fim de compreender o impacto do FIFO e LIFO em cada caminho, realizamos simulações com o FQ-CoDel, que separa os subfluxos em filas independentes. Os resultados obtidos para ambas as disciplinas tiveram uma variação muito discreta, para ogoodputficou entre 2% a 3%. Estes resultados indicam que a separação em filas distintas não muda o fato que ambos os subfluxos compartilham o mesmo gargalo. Os resultados comparando as disciplinas DropTail, CoDel e FQ-CoDel em relação aos algoritmosUncoupled, LIA eRTT_Compensator demonstram que existe umtrade-off entre RTT e vazão. Diante de filas com grande capacidade, o DropTail não descarta pacotes e a fila cresce acarretando um alto valor de RTT (fenômeno bufferbloat). Porém a transmissão alcança a utilização máxima do canal. O CoDel resolve o problema dos atrasos, porém, os descartes impactam no CC do MPTCP e isto reduz a utilização do canal de transmissão. No cenário de redes heterogêneas sem fio, este aspecto tem impacto ainda maior. Ao aumentar o atraso em um dos caminhos se observou uma redução na vazão e um aumento no RTT de ambos os caminhos.

0

7.6 Importância dos resultados para a tese

O uso de múltiplos caminhos é uma das principais características que tornam os protocolos multicaminhos mais resilientes que os protocolos tradicionais, com o TCP e o UDP.

Isto porque uma falha pode ser facilmente superada movendo o tráfego para um outro caminho.

No entanto, os protocolos que empregam o controle de congestionamento baseado em perdas identificam tardiamente o congestionamento causado pelo fenômeno dobufferbloat, devido as perdas só ocorrem quando a fila do gargalo enche. Os resultados apresentados demonstram que isto tem grande impacto no desempenho e na resiliência da transmissão quando os caminhos compartilham um gargalo que sofre com o bufferbloat. Neste caso, o reconhecimento dos caminhos compartilhados pode reduzir este impacto. Por outro lado, em um cenário em que o gargalo é inevitável, como um proxy MPTCP1, outras medidas são necessárias para garantir a resiliência da transmissão. Uma opção é prover medidas de resistência junto ao protocolo de transporte, como empregar um controle de congestionamento baseado em atraso, como o wVegas [Cao et al., 2012]. No entanto, este capítulo propôs uma solução em nível de rede a fim de minimizar o problema. Isto estende as possibilidades de aplicação da estratégia de resiliência além dos protocolos de transporte multicaminhos. Ela pode, por exemplo, ser aplicada em um proxy de camada de rede, similar ao proposto pela Tessares2. Neste caso, como medida de resistência, a estratégia de resiliência pode definir a disciplina de fila que causa um menor impacto sobre as transmissões multicaminhos em caso de congestionamento.

7.7 Resumo

O capítulo apresentou um estudo de caso sobre o impacto do fenômenobufferbloatnas transmissões multicaminhos. Este estudo de caso é coerente com as medidas a serem empregadas pelo módulo de resistência do arcabouço proposto pela estratégia de resiliência. Os resultados da avaliação mostraram que em um cenário heterogêneo onde os caminhos compartilham um congestionamento, o desempenho do MPTCP pode ser limitado não apenas pelo impacto do congestionamento, mas também pela disciplina de fila. Para este último caso, foi proposta a disciplina LIFO-CoDel a fim de controlar os descartes na fila e minimizar o impacto no controle de congestionamento do MPTCP. Os resultados obtidos demonstram que isto minimiza otrade-off entregoodpute latência causado pelas disciplinas DropTail e CoDel.

1Operadoras como a Tessares, oferecem um proxy MPTCP para interligar os usuários domésticos utilizando duas diferentes redes de acesso, como uma Linha Digital de Assinante (DSL, do InglêsDigital Subscriber Line) e LTE.

2Informações disponíveis em https://www.tessares.net.

8 Conclusões

Este capítulo apresenta um síntese das conclusões desta tese, as questões em aberto e as direções futuras. O objetivo é reforçar as contribuições apresentadas, relacionando-as com a tese, apresentar as questões em aberto e os motivos pelos quais não foram abordadas pela tese e por fim, destacar as publicações, os trabalhos que estão sendo desenvolvidos e as direções futuras. O Capítulo está organizado da seguinte forma. A Seção 8.1 apresenta as contribuições e resultados alcançados. A Seção 8.2 descreve as questões em aberto, os trabalhos oriundos da tese e os trabalhos futuros. Por fim, a Seção 8.3 detalha as publicações relacionadas direta e indiretamente com a tese.