Um sistema multiprocessado foi criado adicionando mais processadores a uma máquina. Esse aumento de processadores melhora o tempo de resposta, a vazão ou ambos? Justifique.
Passo 1
O enunciado pergunta se, ao criar um sistema multiprocessado adicionando mais processadores a uma máquina, esse aumento melhora o tempo de resposta, a vazão ou ambos.
Informações dadas (diretas e implícitas):
Informações dadas (diretas e implícitas):
- Foi adicionada capacidade de processamento (mais processadores) à mesma máquina.
- Não foi especificado o tipo de carga de trabalho (um único programa paralelo, muitos pedidos independentes, etc.).
Perguntas que preciso responder: - O que é exatamente “tempo de resposta”?
- O que é “vazão”?
- Em quais situações aumentar processadores melhora cada um desses indicadores?
- Quais limitações e efeitos colaterais (conteúdos como overhead, contenção) podem impedir melhorias?
Passo 2
Definições fundamentais (explico com calma para você aplicar na prova):
- Tempo de resposta: é o tempo que um pedido/alguma tarefa leva desde que é feita até que recebe uma resposta final. Denoto por
(média do tempo de resposta). É também chamado de latência. - Vazão: é a taxa de trabalho completado por unidade de tempo, denoto por
ou (p. ex. tarefas por segundo). É a “quantidade entregue” por segundo.
Intuição: vazão fala “quantos por segundo”, tempo de resposta fala “quanto tempo cada um demora”. Eles estão relacionados: se em média existempedidos no sistema e a vazão é , a Lei de Little diz
onde
é o tempo médio que um pedido passa no sistema. Essa relação será útil para ver efeitos de fila.
Passo 3
Caso 1 — muitos pedidos independentes (workload com tarefas paralelizáveis e independentes): modelo simples e ideal.
- Suponha que cada processador, sozinho, serve à taxa
(tarefas por segundo). Com processadores independentes, a vazão ideal é
enquanto a vazão com
era
. Ou seja, idealmente a vazão cresce aproximadamente linear com
.
- E quanto ao tempo de resposta médio
? Se a chegada de pedidos for fixa e a capacidade total aumentar, a utilização por servidor diminui e o tempo médio de fila cai (menos espera), então tende a diminuir. Em termos simples: mais servidores → mais capacidade → menos fila → menor tempo de resposta, desde que a carga de entrada seja menor que a nova capacidade .
Exemplo numérico rápido: um processador atende uma tarefa ems, então tarefa/s. Com , capacidade ideal tarefa/s. Se a chegada é tarefa/s, com 1 processador o sistema estaria saturado (pois ), com 4 processadores fica estável e o tempo de fila cai, reduzindo .
Passo 4
Caso 2 — um único trabalho paralelo (um programa que tenta usar vários processadores): Amdahl e o efeito de porção serial.
- Seja
a fração do trabalho que é perfeitamente paralelizável (por exemplo, significa paralelizável) e a fração serial que não pode ser paralelizada. A velocidade (speedup) máxima ao usar processadores é dada pela Lei de Amdahl:
- O tempo de execução desse trabalho com
processadores é
onde
é o tempo com um processador. Observação: mesmo com
existe um limite
ou seja, o ganho é limitado pela fração serial.
Exemplo concreto: se e
s, então com
Exemplo concreto: se
logo
Mas
. Ou seja, reduz a latência do trabalho, mas com retornos decrescentes e um limite imposto pela parte serial.
Passo 5
Relação entre os dois casos e interpretação prática:
- Se a sua métrica na prova é vazão de sistema (quantos pedidos por segundo), adicionar processadores quase sempre aumenta a vazão até que outro recurso se torne gargalo (barramento de memória, I/O, locks). Em termos ideais, vazão cresce quase linearmente com
. - Se a métrica for tempo de resposta de um pedido/tarefa:
- Para workloads com muitos pedidos independentes: tempo de resposta médio cai porque as filas diminuem (mais servidores disponíveis). Use a Lei de Little
para ver essa conexão. - Para um único trabalho paralelo: tempo de resposta melhora até o limite imposto por Amdahl; pode ficar limitado pela parte serial e pelo overhead de coordenação.
- Para tarefas majoritariamente seriais (pequeno
): aumentar traz pouco ou nenhum ganho no tempo de resposta.
- Para workloads com muitos pedidos independentes: tempo de resposta médio cai porque as filas diminuem (mais servidores disponíveis). Use a Lei de Little
Passo 6
Efeitos colaterais que podem impedir melhoria (coisas que o professor adora cobrar):
- Overhead de paralelismo: criar threads, sincronizar e juntar resultados consome tempo; isso reduz o ganho efetivo. No cálculo, o overhead reduz
efetivo ou adiciona uma componente que cresce com . - Contenção por recursos compartilhados: memória, barramento, locks, cache-coherency. Se todos os processadores disputam o mesmo recurso, a vazão pode parar de crescer e o tempo de resposta pode até aumentar.
- Aceleração não linear e pontos de saturação: além de certo
os ganhos são marginais ou negativos. Em provas é bom justificar com Amdahl e mencionar gargalos práticos.
Passo 7
Resumo prático e receita para usar na prova (curto, direto e contundente):
- Regra curta: aumentar processadores tende a melhorar a vazão; já o efeito sobre o tempo de resposta depende do tipo de carga:
- muitos pedidos independentes → vazão aumenta e tempo de resposta médio diminui (menos fila);
- um único trabalho paralelizável → tempo de resposta diminui até o limite de Amdahl (retornos decrescentes);
- trabalho serial ou muita contenção → pouco ou nenhum efeito no tempo de resposta; pode até piorar por overhead.
- Sempre mencione (na prova) a Lei de Amdahl para programas paralelos e a Lei de Little para sistemas com filas — isso mostra que você entende a relação entre vazão e tempo de resposta.
Passo 8
Mensagem de incentivo rápida: você já tem as fórmulas e a intuição — na prova, descreva o cenário (tipo de carga), cite Amdahl/Little e conclua com uma frase do tipo “vazão aumenta, tempo de resposta depende”. Vai dar certo!
Resposta
Aumentar o número de processadores geralmente melhora a vazão (mais capacidade = mais tarefas por unidade de tempo). O tempo de resposta pode melhorar, permanecer quase igual ou até piorar dependendo do caso: melhora quando o trabalho é paralelizável ou quando reduz filas (Lei de Little); melhora com limites e retornos decrescentes no caso de um job paralelo (Lei de Amdahl); é pouco afetado ou pode piorar se a aplicação for majoritariamente serial ou houver overhead/contenção.