Canaux mémoire et bande passante : peupler correctementMemory channels and bandwidth: populating correctly
Deux serveurs dotés de la même quantité de mémoire peuvent afficher des performances très différentes selon la façon dont les barrettes sont réparties. Le contrôleur mémoire lit en parallèle sur plusieurs canaux : n'en peupler qu'une partie divise mécaniquement la bande passante disponible, quelle que soit la capacité totale installée.Two servers holding the same amount of memory can perform very differently depending on how the modules are distributed. The memory controller reads in parallel across several channels: populating only some of them mechanically divides the available bandwidth, whatever the total capacity installed.
Le parallélisme des canauxChannel parallelism
Chaque canal mémoire est un chemin indépendant entre le processeur et ses barrettes. Le contrôleur les exploité simultanément et entrelace les accès, si bien que la bande passante théorique est proportionnelle au nombre de canaux effectivement peuplés. Une plateforme à huit canaux dont seuls quatre sont utilisés perd donc environ la moitié de sa bande passante, même si la capacité totale reste confortable.Each memory channel is an independent path between the processor and its modules. The controller uses them simultaneously and interleaves accesses, so theoretical bandwidth is proportional to the number of channels actually populated. An eight-channel platform with only four in use therefore loses roughly half its bandwidth, even if total capacity remains comfortable.
- La bande passante suit le nombre de canaux peuplés
- Peupler tous les canaux avant d'ajouter une seconde barrette par canal
- Des modules de plus petite capacité mais mieux répartis sont préférables
- La matrice de peuplement du constructeur fait foi
- Bandwidth follows the number of populated channels
- Fill every channel before adding a second module per channel
- Smaller modules better distributed are preferable
- The vendor population matrix is authoritative
Les charges limitées par la mémoireMemory-bound workloads
Le calcul scientifique, la simulation, l'analytique en mémoire et l'inférence de modèles sur processeur passent le plus clair de leur temps à attendre la mémoire plutôt qu'à calculer. Sur ces charges, ajouter des cœurs ne sert à rien si la bande passante ne suit pas : les cœurs supplémentaires se contentent d'attendre. La bande passante par cœur devient alors le vrai critère de dimensionnement.Scientific computing, simulation, in-memory analytics and CPU model inference spend most of their time waiting on memory rather than actually computing. On such workloads, adding cores achieves nothing if bandwidth does not follow: the extra cores simply wait their turn. Bandwidth per core then becomes the real sizing criterion.
- HPC et simulation : bande passante souvent limitante
- Inférence sur processeur : vitesse liée à la bande passante
- Des cœurs supplémentaires n'aident pas si la mémoire sature
- Raisonnez en bande passante par cœur, pas en capacité totale
- HPC and simulation: bandwidth is often the limit
- CPU inference: speed tied to memory bandwidth
- Extra cores do not help when memory saturates
- Think in bandwidth per core, not total capacity
NUMA et placement des processusNUMA and process placement
Sur une machine à plusieurs sockets ou à architecture en chiplets, la mémoire est attachée à un domaine précis. Un processus qui accède à de la mémoire rattachée à un autre domaine subit une latence supérieure et consomme de la bande passante d'interconnexion. Les hyperviseurs et les ordonnanceurs savent tenir compte de cette topologie, à condition que les machines virtuelles soient dimensionnées pour tenir dans un domaine. Reprendre le peuplement d'une machine existante coûte quelques barrettes et améliore parfois nettement les performances.On a multi-socket machine or a chiplet architecture, memory is attached to a specific domain. A process accessing memory belonging to another domain suffers higher latency and consumes interconnect bandwidth. Hypervisors and schedulers can account for that topology, provided virtual machines are sized to fit inside a single domain. Reworking the population of an existing machine costs a few modules and sometimes markedly improves performance.
- La mémoire est rattachée à un domaine NUMA précis
- Un accès distant coûte en latence et en interconnexion
- Dimensionnez les machines virtuelles pour tenir dans un domaine
- Peuplez les canaux de façon identique sur chaque socket
- Memory is attached to a specific NUMA domain
- A remote access costs latency and interconnect bandwidth
- Size virtual machines to fit within one domain
- Populate channels identically on each socket
Repères de configurationConfiguration guidance
Repères indicatifs : la configuration finale est validée avec vous selon vos contraintes réelles (charge, budget, environnement).Indicative guidance: the final configuration is validated with you against your real constraints (workload, budget, environment).
Questions fréquentesFrequently asked questions
Un besoin précis à chiffrer ?A specific need to quote?
Décrivez votre contexte : nous revenons sous 24 à 72 heures avec une approche et un devis.Tell us your context: we come back within 24-72 hours with an approach and a quote.