Please enable JavaScript.
Coggle requires JavaScript to display documents.
ESCALONAMENTO DA CPU - Coggle Diagram
ESCALONAMENTO DA CPU
CONEXÕES-CHAVE
SJF
Previsão
Impossível saber burst futuro exato
RR
Tempo Resposta
Ideal para sistemas interativos
Prioridade
Aging
Evita starvation
Multicore
Afinidade
Otimiza uso de cache
Quantum
Overhead
Muito pequeno = muitas trocas contexto
SMP
Balanceamento
Distribuição inteligente entre CPUs
Heterogêneo
Especialização
Núcleos diferentes para tarefas diferentes
ESCALONAMENTO MULTIPROCESSADOR
Tipos de Multiprocessamento
Multicore
Múltiplos núcleos em um chip
ex: Ryzen, Core i7
Multithreaded (SMT/HT)
Núcleo executa 2+ threads simultaneamente
NUMA
Múltiplos processadores com memória local
Heterogêneo (HMP)
Núcleos diferentes
ex: ARM big.LITTLE, Intel Alder Lake
Abordagens de Escalonamento
SMP (Simétrico)
Cada CPU auto-escalona
Linux, Windows, macOS
Fila única comum ou filas separadas por processador
ASMP (Assimétrico)
CPU mestre controla escalonamento
Vantagem
Simplicidade
Desvantagem
Ponto único de falha
Desafios Específicos
Memory Stall
Núcleos disputam acesso à memória (espera)
Cache Inconsistência
Migração entre núcleos perde dados em cache
Balanceamento de Carga
Migração Push
Tarefa específica redistribui carga
Migração Pull
Processador ocioso puxa tarefa ocupada
Otimizações
Afinidade de Processador
Leve
Tenta manter no mesmo CPU, mas permite migração
Rígida
Processo especifica subconjunto de CPUs permitidas
SMT/HT
Núcleo físico executa múltiplas threads para usar recursos ociosos
Escalonamento de Threads
Threads kernel são escalonadas
Threads usuário mapeadas via LWP
Arquiteturas
Homogênea
Todos núcleos idênticos
ex: Ryzen 5700X
Heterogênea
Núcleos diferentes
ex: Intel Alder Lake - núcleos P e E
Homogêneo vs Heterogêneo
Diferença na configuração dos processadores
EXEMPLOS PRÁTICOS
Windows
32 níveis de prioridade
1-15 variável, 16-31 tempo real
Primeiro plano
Quantum aumentado (3x)
Preemptivo
Thread maior prioridade executa primeiro
Linux
CFS (Completely Fair Scheduler)
Balanceamento baseado em tempo de execução