Por que a velocidade de produção é determinada pelo sistema final com o rendimento mais lento?

0

Eu tenho pesquisado a taxa de transferência de transferências de pacotes e fiquei confuso sobre o throughput total de um sistema final para outro. Por exemplo: digamos que um servidor esteja enviando um pacote para um cliente com um roteador intermediário. Meu livro de texto Computer Networking por Kurose e Ross diz que o sistema final com a velocidade de processamento mais lenta determina a velocidade de transferência de toda a transferência de arquivos. Por que é isso?

As duas velocidades de taxa de transferência não seriam somadas para compensar todo o throughput de transferência de arquivos? Por exemplo: a taxa de transferência do servidor bombeia bits a 1 Mbps e o roteador bombeia bits a 2 Mbps. Diga também que o tamanho do arquivo era 10 milhões de bits. Do servidor para o roteador, levaria 10 segundos para chegar ao servidor e, em seguida, levaria cerca de 5 segundos para alcançar o cliente, fazendo com que a interação de throughput total demorasse 15 segundos. Isso é o que eu pensaria, mas usando a lógica do livro-texto isso levaria 10 segundos. Por que isso acontece?

    
por Darien Springer 30.09.2017 / 22:25

2 respostas

0

Imagine uma fila de formigas movendo-se de uma folha para o buraco, mas há um bastão na maneira como precisam subir:

<Leaf> ------ <stick> ------ <hole>

Demora 3 segundos para uma formiga alcançar o stick (leg1 da jornada), 10 segundos para subir sobre o stick (leg2) e, em seguida, 2 segundos para mover do stick para o buraco (Leg3). A largura de banda total de leg1 é de 3 formigas, a largura de banda do stick é uma formiga e a largura de banda de leg3 é de 3 formigas.

Então ant0 deixa a folha e viaja para o pau. Ele sobe o bastão e caminha até o buraco. Tempo total = 15 segundos.

Ant1 sai 1 segundo atrás de ant0 e atravessa a perna1 em três segundos. Chega ao bastão, mas a largura de banda dos bastões está cheia porque Ant0 está usando. então Ant1 tem que esperar 9 segundos antes de poder COMEÇAR a cruzar o bastão. Quando Ant0 é feito no stick, Ant1 cruza e continua no buraco. O tempo total gasto é de 3s + 9s (espera) + 10s cruzando o stick + 2 segundos para o buraco = > 24 segundos.

Ant2 sai 1 segundo atrás de ant1 e leva três segundos para alcançar o stick. então precisa esperar em ambos Ant0 e Ant1 para limpar o bastão antes que ele possa se cruzar. Tempo total = 3s + 10s (esperando por ant1) + 8s (esperando por ant0) + 10s (cruzando o stick) + 2s para alcançar o buraco = > 33 segundos.

Então, se fôssemos medir o throughput desse caminho, seria 3 / (15 + 24 + 33) = > 0,0416 formigas por segundo.

digamos que aceleramos leg1 para 1 segundo (3x mais rápido). acabamos com 3 / (13 + 22 + 31) = > 0,454 formigas por segundo. muito pouco aumento para um aumento de velocidade de 3x em uma perna.

Digamos que aceleramos leg3 para 1 segundo (2x mais rápido). acabamos com 3 / (12 + 21 + 30) = > 0,0476 formigas por segundo. mais uma vez, muito pouco impacto.

Se aumentarmos a velocidade de leg2, no entanto, talvez por 2x a 5 segundos, obtemos um número muito diferente 3 / (7 + 11 + 17) = > 0,085 formigas por segundo.

Assim, um aumento em qualquer uma das pernas mais rápidas fez muito pouco, mas dobrar a taxa do componente mais lento efetivamente dobrou a taxa de transferência do caminho.

Então você percebe que mesmo que a Leg3 tenha muita largura de banda e uma taxa rápida de transmissão, isso não afeta a velocidade com que as formigas alcançam o buraco, porque a taxa na qual as formigas entram na Leg3 é limitada pelo stick. , então a maior parte da largura de banda na Leg3 é inutilizável. você pode aumentá-lo 100 vezes e não ter um impacto na taxa de chegada das formigas. Nessa situação, a única coisa que você pode fazer para alterar a equação é aumentar a taxa na qual as formigas cruzam o bastão. tudo o mais é sem sentido.

    
por 01.10.2017 / 01:14
2

O final com a velocidade mais lenta determinará a velocidade geral do link, porque não pode receber dados mais rapidamente, caso contrário, resultará em erros.

Não pense no tempo gasto, pense em quão rápido algo pode escutar.

Coloque desta forma: você tem uma pessoa lendo um livro em voz alta, mas eles podem falar muito rápido, e você tem uma pessoa ouvindo. A pessoa que está ouvindo só pode compreender a uma velocidade lenta, de modo que o leitor rápido precisa desacelerar para uma velocidade que o ouvinte possa compreender, ou o ouvinte deve continuar dizendo "espere, você pode repetir muito". Isso determina o rendimento.

Você também está cometendo um erro crítico ao assumir que o roteador está mantendo todo o bloco de dados a ser transferido antes de transmiti-lo e, embora isso ocorra em pequenos blocos de dados, não é como o sistema geral funciona.

Existem duas taxas de transferência que você está vendo aqui. A taxa de transferência do originador para o roteador e do roteador para o receptor. O roteador armazena apenas uma pequena quantidade de dados em um determinado momento e não armazena todo o bloco grande antes de retransmiti-lo, assim você efetivamente tem o link mais lento no sistema limitando a velocidade geral que o link de ponta a ponta pode trabalhar em.

    
por 30.09.2017 / 22:38