Bulle du parallélisme de pipeline
Données
| Étages de pipeline | 8 |
|---|---|
| Micro-lots | 32 |
Bulle du parallélisme de pipeline
Calculez la fraction de bulle de pipeline et l'efficacité de calcul qui en résulte pour un entraînement en parallélisme de pipeline, à partir du nombre d'étages de pipeline et du nombre de micro-lots par lot.
Données
Pipeline
Résultats
Saisissez une valeur pour afficher les résultats.
La bulle du parallélisme de pipeline
Le parallélisme de pipeline découpe un modèle en étages séquentiels et place chacun sur un groupe d'appareils distinct : un bloc de couches du premier appareil transmet sa sortie au suivant, et ainsi de suite. Il permet à un modèle trop volumineux pour un seul accélérateur de s'étaler sur plusieurs, mais il acquitte une taxe caractéristique : les étages ne peuvent pas tous être occupés à la fois. Au début d'un lot, les derniers étages restent inactifs en attendant que les données les atteignent, et à la fin les premiers étages se vident pendant que les derniers micro-lots s'écoulent. Cet intervalle d'inactivité est la bulle de pipeline, et ce calcul la quantifie.
D'où vient la bulle
Imaginons une chaîne de montage à huit postes. Le premier article doit traverser les postes un à sept avant que le poste huit ait quoi que ce soit à faire ; sept étapes se sont alors écoulées durant lesquelles la chaîne n'était pas pleinement employée. La même chose se produit à l'inverse lorsque la chaîne se vide. Pour un pipeline de étages, ce démarrage et cet arrêt coûtent étapes, quel que soit le travail qui suit. Que ce coût fixe pèse ou non dépend du nombre de micro-lots qui s'enchaînent derrière.
La formule
Avec étages de pipeline et micro-lots, la fraction de bulle et l'efficacité complémentaire pour un calendrier synchrone standard valent
BE=m+p−1p−1=m+p−1mLe dénominateur est le nombre total d'étapes du pipeline — les micro-lots utiles plus les étapes de remplissage et de vidange. Les deux fractions totalisent toujours un, puisque chaque étape est soit un travail utile, soit de la bulle.
Exemple chiffré
Soit un pipeline à 8 étages alimenté par 32 micro-lots par lot :
BE=32+8−18−1=397≈0.179=17.9%=3932≈0.821=82.1%Près de dix-huit pour cent du calendrier est perdu en bulle, laissant environ quatre-vingt-deux pour cent au calcul utile. Porter le nombre de micro-lots à 64 ramènerait la bulle à environ onze pour cent, puisque le remplissage fixe de sept étapes se répartit alors sur davantage de travail.
Limites
La formule suppose le calendrier synchrone standard, des étages de coût égal et une communication entre étages assez faible pour être négligée. Les calendriers entrelacés, qui attribuent plusieurs blocs d'étages non contigus à chaque appareil, réduisent la bulle sous cette valeur, tandis que des coûts d'étages inégaux ou de lourds transferts inter-étages peuvent dégrader l'efficacité réelle. Le nombre de micro-lots est par ailleurs la même grandeur qui, à travers le lot global, régit le comportement de l'optimiseur — voir le Taille de lot effective — et le parallélisme de pipeline se combine généralement au parallélisme de données, dont la perte de mise à l'échelle propre est traitée par le Mise à l'échelle en parallélisme de données.
Questions fréquentes (FAQ)
Qu'est-ce que la bulle de pipeline ?
En parallélisme de pipeline, le modèle est découpé en étages séquentiels sur différents appareils, et les micro-lots y circulent comme sur une chaîne de montage. Au début de chaque lot, seul le premier étage a du travail tandis que les autres attendent l'arrivée des données, et à la fin les premiers étages restent inactifs pendant que les derniers terminent. Ce temps d'inactivité de remplissage et de vidange constitue la bulle.
Pour un calendrier synchrone comportant autant de passes avant que de passes arrière, la bulle correspond aux étapes de démarrage, soit le nombre d'étages moins un, réparties sur l'ensemble du calendrier.
Comment réduire la bulle ?
Le levier direct consiste à diviser le lot en davantage de micro-lots : le coût de remplissage et de vidange est fixé au nombre d'étages moins un, de sorte que découper le lot plus finement l'amortit sur davantage de travail utile et réduit la fraction de bulle.
Les calendriers entrelacés et d'autres ordonnancements avancés la réduisent davantage en attribuant plusieurs étages non contigus à chaque appareil. La contrepartie est que plus de micro-lots impliquent une taille par micro-lot plus faible, ce qui peut nuire à l'efficacité des noyaux de calcul : la bulle est donc réduite plutôt qu'éliminée.
Comment étages et micro-lots interagissent-ils ?
Davantage d'étages approfondissent le pipeline, ce qui augmente le coût de remplissage et de vidange et agrandit donc la bulle pour un nombre fixe de micro-lots. Davantage de micro-lots produisent l'effet inverse en diluant ce coût fixe.
Une règle générale utile consiste à maintenir le nombre de micro-lots nettement au-dessus du nombre d'étages — souvent par un facteur de quatre ou plus — pour que la bulle reste faible. La fraction de bulle et l'efficacité totalisent toujours un : améliorer l'une améliore l'autre.
Mentions légales
Ce calcul applique la formule standard de bulle de pipeline synchrone, qui suppose des étages de coût égal, un ordonnancement simple de remplissage et de vidange, et une communication négligeable entre étages. Les calendriers entrelacés et les coûts d'étages inégaux modifient le résultat. À considérer comme une estimation de planification, non comme une garantie d'efficacité mesurée.
Recommandations
Mise à l'échelle en parallélisme de données
Estimez le débit réel d'entraînement réparti sur des appareils en parallélisme de données à partir du débit par appareil et de l'efficacité de mise à l'échelle, avec le débit linéaire idéal et l'accélération obtenue par rapport à un seul appareil.