Calculadora de Bolha do Paralelismo de Pipeline
Entradas
| Estágios do pipeline | 8 |
|---|---|
| Microlotes | 32 |
Calculadora de Bolha do Paralelismo de Pipeline
Calcule a fração de bolha do pipeline e a eficiência de computação resultante para o treinamento com paralelismo de pipeline a partir do número de estágios do pipeline e do número de microlotes por lote.
Entradas
Pipeline
Resultados
Insira um valor para ver os resultados.
A bolha do paralelismo de pipeline
O paralelismo de pipeline divide um modelo em estágios sequenciais e coloca cada um em um grupo de dispositivos diferente, de modo que um bloco de camadas no primeiro dispositivo entrega sua saída ao seguinte, e assim por diante. Isso permite que um modelo grande demais para um acelerador se espalhe por vários, mas paga um imposto característico: os estágios não podem estar todos ocupados ao mesmo tempo. No início de um lote, os estágios posteriores ficam ociosos esperando os dados chegarem, e no fim os estágios iniciais ficam ociosos enquanto os últimos microlotes se esvaziam. Esse intervalo ocioso é a bolha do pipeline, e esta calculadora a quantifica.
De onde vem a bolha
Imagine uma linha de montagem com oito estações. O primeiro item precisa passar pelas estações de um a sete antes que a estação oito tenha algo a fazer; até então decorreram sete passos em que a linha não foi plenamente aproveitada. O mesmo ocorre ao contrário quando a linha se esvazia. Para um pipeline de estágios, esse aquecimento e resfriamento custa passos, independentemente de quanto trabalho vem em seguida. Se esse custo fixo importa depende de quantos microlotes fluem atrás dele.
A fórmula
Com estágios de pipeline e microlotes, a fração de bolha e a eficiência complementar para um cronograma síncrono padrão são
BE=m+p−1p−1=m+p−1mO denominador é o número total de passos do pipeline — os microlotes úteis mais os passos de enchimento e esvaziamento. As duas frações sempre somam um, já que cada passo é trabalho útil ou bolha.
Exemplo resolvido
Tome um pipeline de 8 estágios alimentado com 32 microlotes por lote:
BE=32+8−18−1=397≈0.179=17.9%=3932≈0.821=82.1%Quase dezoito por cento do cronograma se perde na bolha, deixando cerca de oitenta e dois por cento para a computação útil. Elevar a contagem de microlotes para 64 reduziria a bolha para aproximadamente onze por cento, já que o enchimento fixo de sete passos passa a ser distribuído por mais trabalho.
Limites
A fórmula supõe o cronograma síncrono padrão, estágios de custo igual e comunicação entre estágios pequena o suficiente para ser ignorada. Cronogramas intercalados, que atribuem vários blocos de estágio não contíguos a cada dispositivo, reduzem a bolha abaixo do que isto dá, enquanto custos desiguais de estágio ou transferências pesadas entre estágios podem piorar a eficiência real. A contagem de microlotes aqui é também a mesma grandeza que, por meio do lote global, governa o comportamento do otimizador — veja a Calculadora de Tamanho Efetivo de Lote — e o paralelismo de pipeline costuma ser combinado com o paralelismo de dados, cuja perda de escalonamento distinta é coberta na Calculadora de Escalonamento com Paralelismo de Dados.
Perguntas frequentes (FAQ)
O que é a bolha do pipeline?
No paralelismo de pipeline o modelo é dividido em estágios sequenciais em dispositivos diferentes, e os microlotes fluem por eles como em uma linha de montagem. No início de cada lote só o primeiro estágio tem trabalho enquanto os demais esperam os dados chegarem, e no fim os estágios iniciais ficam ociosos enquanto os últimos terminam. Esse tempo ocioso de enchimento e esvaziamento é a bolha.
Para um cronograma síncrono com o mesmo número de passagens direta e reversa, a bolha são os estágios-menos-um passos de aquecimento distribuídos por todo o cronograma.
Como a bolha é reduzida?
A alavanca direta é dividir o lote em mais microlotes: o custo de enchimento e esvaziamento é fixo em estágios-menos-um passos, de modo que dividir o lote mais finamente o dilui em mais trabalho útil e encolhe a fração de bolha.
Cronogramas intercalados e outros avançados a reduzem ainda mais ao atribuir vários estágios não contíguos a cada dispositivo. O compromisso é que mais microlotes significam um tamanho menor por microlote, o que pode prejudicar a eficiência dos kernels, de modo que a bolha é reduzida, e não eliminada.
Como estágios e microlotes interagem?
Mais estágios aprofundam o pipeline, o que eleva o custo de enchimento e esvaziamento e, assim, amplia a bolha para um número fixo de microlotes. Mais microlotes fazem o oposto, diluindo esse custo fixo.
Uma regra prática útil é manter a contagem de microlotes bem acima da contagem de estágios — muitas vezes por um fator de quatro ou mais — para que a bolha permaneça pequena. A fração de bolha e a eficiência sempre somam um, de modo que melhorar uma melhora a outra.
Aviso legal
Isto usa a fórmula padrão da bolha do pipeline síncrono, que supõe estágios de custo igual, um cronograma simples de enchimento e esvaziamento e comunicação desprezível entre estágios. Cronogramas intercalados e custos desiguais de estágio alteram o resultado. Trate-o como uma estimativa de planejamento, não como uma garantia de eficiência medida.