Quais as grandezas físicas que influenciam a eficiência de tempo de um algoritmo na prática?
Passo 1
O exercício pergunta quais grandezas físicas do hardware influenciam o tempo de execução de um algoritmo na prática. O conteúdo envolve arquitetura de computadores e desempenho de programas, e vamos precisar entender como características do processador, memória e dispositivos de I/O impactam o tempo de execução.
Passo 2
No processador, a principal grandeza física é a frequência de clock, medida em hertz (Hz). Quanto maior a frequência, mais ciclos de máquina ocorrem por segundo e, em tese, mais instruções podem ser executadas num intervalo de tempo fixo. Além disso, a profundidade do pipeline e o número de ciclos por instrução (CPI) também vêm da microarquitetura do chip.
Passo 3
Na hierarquia de memória, duas grandeszas são cruciais: a latência de acesso (em nanosegundos) e a largura de banda (em gigabytes por segundo). Cache L1, L2 e L3 têm diferentes tempos de acesso e tamanhos (em bytes), influenciando quantas leituras/escritas rápidas o algoritmo consegue fazer.
Passo 4
Os barramentos internos e externos trazem dois parâmetros: largura do barramento (em bits) e taxa de transferência (em bytes por segundo). Para dispositivos de armazenamento e rede, medimos taxa de transferência (MB/s ou Gb/s) e latência de I/O (ms), que podem se tornar gargalos.
Passo 5
O número de núcleos físicos e o suporte a multithreading determinam quantas tarefas podem rodar em paralelo. Embora não seja uma grandeza puramente física, ela decorre do hardware disponível e do overhead de sincronização, impactando o tempo real em algoritmos paralelos.
Passo 6
Condições térmicas e consumo de energia (em watts) também entram: demasiada temperatura pode levar ao thermal throttling, reduzindo frequência e, consequentemente, aumentando o tempo de execução.
Passo 7
Com base nesses pontos, listamos as grandezas que afetam a eficiência de tempo de um algoritmo na prática.
Resposta
As principais grandezas físicas são:
- Frequência de clock do processador (Hz)
- Latência de acesso à memória (ns)
- Largura de banda da memória (GB/s)
- Tamanho das caches (bytes)
- Largura e taxa de transferência dos barramentos internos (bits e B/s)
- Taxa de transferência e latência de dispositivos de I/O (MB/s e ms)
- Número de núcleos físicos e suporte a multithreading
- Consumo de energia e temperatura (W e °C, que podem levar a thermal throttling)