Uso da CPU e sua utilização [fechada]

-1

Quando usamos o _task_manager_ no windows ou top no Linux, podemos ver que o uso da CPU geralmente não é muito alto. Além disso, os desenvolvedores também estão fazendo o melhor para deixar esse alvo cair. Na verdade, se o uso da CPU for muito alto, consideramos que algo está errado.

Mas eu aprendi com a maioria dos livros didáticos de sistema operacional que queremos fazer o melhor uso da CPU, não desperdiçando os recursos da CPU. Mas, na verdade, na maioria das vezes, nossos processadores estão inativos.

Isso me confunde muito. por que temos essa contradição? Alguém poderia esclarecer isso, por favor?

    
por Alex 14.07.2013 / 02:47

3 respostas

3

Não é realmente uma contradição. Pense no seu próprio dia. Você tem uma tremenda capacidade de conseguir trabalho e, às vezes, não tem tempo suficiente para fazer tudo porque tem muitas tarefas ou prazos simultâneos ... Então, nos outros dias, você fica sentado sem realizar muita coisa.

De uma maneira muito similar, nossos computadores tendem a gastar muito tempo esperando por nós. Mesmo assim, como programadores, tentamos manter nosso código otimizado não apenas para que possa executar rapidamente e produzir resultados o mais rápido possível, mas também otimizar os recursos do sistema. Dessa forma, se for um "dia agitado", estamos tentando evitar contribuir para "contenção" (demandas simultâneas dos mesmos recursos de hardware) no sistema.

Para um exemplo de tecnologias tornadas possíveis por essa situação interessante, dê uma olhada nos produtos de virtualização modernos. A razão pela qual podemos rodar 10 ou 20 máquinas virtuais simultaneamente em um processador dual ou quad core com apenas 4 ou 8 GB de RAM é que todos esses sistemas não estão tentando usar muita memória e tempo de processador simultaneamente. (É claro que você precisa obter hardware robusto ou selecionar criteriosamente quais sistemas serão virtualizados no mesmo host ou se criará problemas de contenção!)

    
por 14.07.2013 / 03:01
2

Para expandir a observação do Breakthrough "Se você tem um carro de 500 HP, com que freqüência você acha que vai colocar o" pedal no metal "e usar todos os 500 HP?"

Por incrível que pareça, isso se assemelha a motores de carros e CPUs.

Com um carro, se você tiver um motor de 500HP, você quer ter esse poder disponível às vezes, mas quando não é necessário, você pode ter desativação do cilindro, como nos caminhões Dodge e no C7 Corvette.

As CPUs fazem a mesma coisa, a AMD chama de Cool and Quiet e a Intel chama de Speedstep . Ambas pretendem reduzir as velocidades de relógio e o consumo de energia em modo inativo e aumentá-lo quando necessário.

    
por 14.07.2013 / 02:59
2

Aqui você tem uma das diferenças fundamentais entre a ciência da computação abstrata / engenharia elétrica e a computação moderna e prática do usuário final. Não há uma contradição em jogo em si, mas uma diferença de perspectiva e objetivos.

para ser franco, eles estão pensando em servidores e supercomputadores, e mainframes de cem usuários, e as cargas de trabalho grandes e constantes que os acompanham, enquanto o usuário final está pensando em carregar uma página da Web uma vez e lê-la por 10 minutos, ou abrir um documento e editá-lo com velocidade de digitação humana, ou rasgar um DVD, executar uma verificação de vírus ou executar um jogo (tarefas intensivas da CPU que levam mais de alguns segundos e cujo gargalo principal é Velocidade IO).

ambas as mentalidades otimizam a característica mais importante de seu ambiente, tempo versus custo e consumo de energia.

Se você estiver executando um cluster de alto desempenho que executa cálculos matemáticos em lotes de telemetria de rádio ou executa simulações contínuas avançadas ou tem capacidade para centenas ou milhares de usuários, você pensa sobre as coisas de maneira diferente. alguns milissegundos de ineficiência em cada cálculo que um sim executa poderiam se manifestar em anos de diferença no processamento de um grande conjunto de dados.

No entanto, o usuário cliente está mais focado em apenas ser capaz de executar multitarefas em um bom número de pequenas cargas de curta duração e está mais preocupado com acessibilidade, baixo consumo de energia e tranquilidade do que com diferenças de milissegundos no tempo de computação.

    
por 14.07.2013 / 04:18

Tags