Edge-home-orchestration-go: Período de atualização de informações de recursos

Criado em 1 set. 2020  ·  7Comentários  ·  Fonte: lf-edge/edge-home-orchestration-go

Sua solicitação de recurso está relacionada a um problema?
Atualmente, o intervalo de atualização das informações do recurso é de 5 segundos e a precisão é muito baixa.
A seguir está o log de quando a Orquestração de Borda recebeu solicitações de descarregamento de serviço de maneira consistente. (veja tempo e cpuUsage)

2020/09/01 08:00:38 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:500 rtt:0.000816483]
2020/09/01 08:00:38 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:500 rtt:0.000816483]
2020/09/01 08:00:39 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:500 rtt:0.000816483]
2020/09/01 08:00:41 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:500 rtt:0.000816483]
2020/09/01 08:00:42 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:500 rtt:0.000816483]
2020/09/01 08:00:43 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:1.7456359102244388 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:44 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:44 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:45 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:46 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:47 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:47 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000425345]
2020/09/01 08:00:48 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:250 rtt:0.000452635]
2020/09/01 08:00:49 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:13.316582914572864 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:49 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:50 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:51 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:52 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:52 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0.000452635]
2020/09/01 08:00:53 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0]
2020/09/01 08:00:54 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0]
2020/09/01 08:00:54 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:19.6405648267009 netBandwidth:166 rtt:0]
2020/09/01 08:00:56 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0]
2020/09/01 08:00:57 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0]
2020/09/01 08:00:58 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0.000969224]
2020/09/01 08:00:59 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0.000969224]
2020/09/01 08:00:59 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0.000969224]
2020/09/01 08:01:00 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0.000969224]
2020/09/01 08:01:01 orchestration_api.go:421: candidate resource : map[cpuCount:8 cpuFreq:4200 cpuUsage:15.83011583011583 netBandwidth:333 rtt:0.000969224]

Descreva a solução que você gostaria
Que tal atualizar as informações do recurso enquanto o serviço (contêiner) está em execução?

enhancement

Todos 7 comentários

@ t25kim Obrigado pela sugestão interessante. (Talvez eu esteja certo ou errado, então me corrija ^^) A atualização baseada em eventos e / ou algum mecanismo de atualização dinâmica (intervalo de tempo) sempre parece valioso. A questão é como poderíamos integrar essa ideia ao edge-home-orchestration-go . Além disso, pode ser interessante se todos nós estimarmos qualquer impacto do consumo de memória na solicitação dessas atualizações de recursos com a adoção dessa ideia. Você tem alguma ideia para começar?

@ Karthikeyan-Samsung @ suresh-lc O que você acha desta proposta?

Reduzir a frequência terá impacto no desempenho do dispositivo. Além disso, o algoritmo do Scoring Manager precisa ser refinado e baseado na abordagem de ML (Séries Temporais, ARIMA etc ...)

Baseado em eventos é uma boa ideia, mas precisamos explorar para registrar eventos que mostram alteração de CPU / Memória. E devemos tentar torná-lo genérico em vez de dependente de hardware. Conforme mencionado por Karthik, baseado em séries temporais é uma boa abordagem. Precisamos também fazer um brainstorm para obter dados para essa análise. Este é um bom começo e podemos discutir mais sobre isso.

A longo prazo, é certo ir, como disse @ Karthikeyan-Samsung.
No curto prazo, considerando a situação atual, acho que as informações dos recursos devem ser atualizadas dinamicamente, alterando o tempo atualmente fixo de 5 segundos.
Por exemplo, um intervalo de 5 segundos é adequado se houver poucos recursos restantes e as informações estiverem corretas. No entanto, devemos pensar seriamente no intervalo no caso oposto (falta de recursos e informações incorretas), pois é perigoso dizer que há muitos recursos disponíveis quando há poucos recursos disponíveis.

@ suresh-lc @ Karthikeyan-Samsung @ t25kim Obrigado por todas as sugestões produtivas e inspiradoras. Se precisarmos das abordagens de curto e médio longo prazo para melhorar o mecanismo de atualização de recursos atual, existe algum meio de acionamento para modificar o intervalo de tempo para atualizar os recursos disponíveis de edge-home-orchestrator-go ? ^^ Espero ter alguma boa idéia sobre isso. (No final das contas, parece ser baseado em eventos orientados)

Acho que StartMonitoringResource () pode determinar o intervalo com as informações do recurso no banco de dados e enviar o valor como parâmetro para atualizar as informações do recurso.
Minha preocupação é o limite e o algoritmo para determinar o intervalo.

Acho que StartMonitoringResource () pode determinar o intervalo com as informações do recurso no banco de dados e enviar o valor como parâmetro para atualizar as informações do recurso.
Minha preocupação é o limite e o algoritmo para determinar o intervalo.

Parece que isso também está relacionado ao chamado padrão de usuário refletindo AI / ML. Como atualização frequente durante o horário de pico e raramente atualização durante a meia-noite ou algo parecido.

Portanto, também gostaria de vincular esse problema ao nº 26.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

t25kim picture t25kim  ·  7Comentários

mchittineni picture mchittineni  ·  33Comentários

t25kim picture t25kim  ·  9Comentários

t25kim picture t25kim  ·  17Comentários

MoonkiHong picture MoonkiHong  ·  5Comentários