Quando o tráfego de rede é pesado, é mais eficiente e oferece o melhor desempenho, para desativar interrupções e executar no modo de pesquisa. Mas quando o tráfego da rede é leve, o processamento orientado a interrupções funciona melhor, ele observou.
“Uma implementação usando apenas a pesquisa desperdiçaria muitos recursos/energia em períodos de tráfego leve. Uma implementação usando apenas interrupções se torna ineficiente em períodos de tráfego intenso. … Portanto, a maior economia de energia surge ao comparar a uma implementação sempre de alto desempenho durante tempos de tráfego leve ”, disse Karsten. “Nosso mecanismo detecta automaticamente (a quantidade de tráfego de rede) e alterna entre as pesquisas e as interrupções orientadas para obter o melhor dos dois mundos”.
Na carta de apresentação do patch, Damato descreveu a implementação do novo parâmetro com mais detalhes, observando: “Este modo de entrega é eficiente, porque evita a execução do Softirq interferindo no processamento de aplicativos durante períodos movimentados. Pode ser usado com bloqueio epoll_wait Conservar os ciclos da CPU durante os períodos ociosos. O efeito de alternar entre períodos ocupados e ociosos é que o desempenho (taxa de transferência e latência) é muito próximo da pesquisa completa, enquanto a utilização da CPU é menor e muito próxima da mitigação de interrupção. ”
Adicionado Karsten: “No nível das porcas e parafusos, permitindo que o recurso requer um pequeno ajuste nos aplicativos e na configuração de uma variável de configuração do sistema”.
E embora ele ainda não possa quantificar os benefícios energéticos da técnica (a economia de 30% citada é o melhor caso), ele disse: “A maior economia de energia surge ao comparar a uma implementação de alto desempenho sempre em períodos de tráfego leve . ”