Troca de dados e equações diferenciais

Em um dos projetos em que trabalhei, foi implementado um mecanismo de troca de dados entre componentes remotos do sistema, que funcionava de acordo com o seguinte cenário: o componente de origem A, por seu lado, prepara dados destinados à transmissão; o componente-receptor B abre periodicamente uma sessão de comunicação e coleta todos os dados que A acumulou no momento da conexão. Os dados que chegam já durante uma sessão de comunicação são atrasados ​​até a próxima conexão.

Em algum momento, percebi que a transferência de dados nesse esquema é descrita usando uma equação diferencial comum. Descrição do modelo e as conclusões que foram obtidas com sua ajuda, sob o corte.

Nós denotamos x(t)- a quantidade de dados em algumas unidades arbitrárias acumuladas para troca no lado do componente A até o momento t. Deixe a pausa entre o final da sessão de intercâmbio e o início da próxima partida a0>0unidades de tempo e a transferência de uma unidade de dados requer a1>0unidades de tempo. Então na transferência x(t)unidades de dados necessárias a0+a1x(t)unidades de tempo. A taxa de dados é

 fracx(t)a0+a1x(t). quad(1)


Se a taxa de armazenamento de dados no lado A for designada f(t)então x(t)é uma solução para a equação diferencial:

 fracdxdt= fracxa0+a1x+f(t). quad(2)


Como um crescimento ilimitado no volume de dados ainda não enviados é uma situação extremamente indesejável, torna-se uma tarefa importante obter condições para o limite das soluções para essa equação.

Para simplificar, consideramos a função f(t)contínuo. Vamos

f(t)= phi0+ phi(t),


onde

 left| int0t phi(s)ds right| leqK phi<+ infty


para todos t geq0e  phi0>0- constante, desempenhando o papel de valor médio.

Vejamos alguns exemplos. Vamos f(t)periódico e seu cronograma tem a forma:

imagem

Neste caso  phi0=1/3,  phi(t)=f(t) phi0.
Integrando numericamente a equação (1) para vários valores de parâmetros a0,a1e valores iniciais x(0), obtemos os seguintes gráficos de soluções:
imagem

imagem

Os exemplos mostram: quando 1/a1> phi0, as soluções também são limitadas para vários valores x(0)o sistema tende a algum estado estacionário. Pausas menos curtas entre as sessões a0, mais rápida é essa convergência. At 1/a1< phi0essa convergência não é observada e as soluções crescem com o tempo. Reduzir a duração das pausas diminui a taxa de crescimento, mas a tendência a um aumento ilimitado x(t)ainda salvo.

No caso geral, pode ser demonstrado que, se 1/a1> phi0, as soluções da equação (1) são delimitadas e, se 1/a1< phi0- soluções ilimitadas serão obtidas. Ou seja, a limitação das decisões é determinada apenas pela proporção das taxas de acumulação e extração de dados. Duração das pausas entre as sessões de intercâmbio a0, o único parâmetro que pode ser facilmente controlado não afeta fundamentalmente o comportamento do sistema. Embora, como pode ser visto na relação (1) e nos exemplos, com seu aumento, a taxa de câmbio diminua.

Como resultado, a análise do modelo permite tirar as seguintes conclusões. Se a taxa de câmbio for insuficiente e, no lado da fonte, a quantidade de dados para envio aumentar constantemente, não fará sentido tentar corrigir a situação reduzindo as pausas entre as sessões. Somente um aumento no desempenho do sistema pode ajudar aqui.

Por outro lado, no caso em que o serviço de troca carrega computadores constantemente em detrimento de outras tarefas, a decisão correta seria aumentar a duração da pausa dentro de limites razoáveis: isso afetará apenas a relevância dos dados, sem o risco de sobrecarregar a fonte com dados não enviados.

Cálculos detalhados para as condições de decisões limitadas e algumas outras questões relacionadas ao modelo considerado são publicados nos materiais do seminário escolar "Modelagem Matemática, Métodos Numéricos e Complexos de Programas", nomeado após E.V. Voskresensky. Você pode visualizar e baixar o artigo aqui .

Source: https://habr.com/ru/post/pt417349/


All Articles