Il pool di memoria CXL farà risparmiare milioni di DRAM


Hyperscalers such as Microsoft, Google, Amazon, etc., all run their cloud divisions with a specific goal. To provide their hardware to someone else in a form called instance and have the user pay for it by the hour. Tuttavia, instances are usually bound by a specific CPU and memory configuration, which you can not configure yourself. But instead, you can only choose from the few available options that are listed. Per esempio, when selecting one virtual CPU core, you get two GB of RAM and can go as high as you want with CPU cores. Tuttavia, the available RAM will also double, anche se potresti non averne bisogno. Quando si affitta un'istanza, i core e la memoria della CPU allocati sono tuoi fino a quando l'istanza non viene disattivata.

Ed è proprio di questo che hanno a che fare gli hyperscaler. Molte istanze non utilizzano completamente la loro DRAM, rendendo inefficiente l'intero utilizzo del data center. Microsoft Azure, uno dei più grandi fornitori di cloud, misurato 50% di tutte le macchine virtuali non si toccano mai 50% della loro memoria affittata. Ciò rende la memoria bloccata in una macchina virtuale noleggiata, rendendolo inutilizzabile per qualsiasi altra cosa.

All'azzurro, scopriamo che uno dei principali fattori che contribuisce all'inefficienza della DRAM è lo stranding della memoria a livello di piattaforma. Il blocco della memoria si verifica quando i core di un server vengono completamente noleggiati su macchine virtuali (VM), ma la memoria non affittata rimane. Con i nuclei esauriti, la memoria rimanente è inaffidabile da sola, ed è così bloccato. Sorprendentemente, we find that up to 25% of DRAM may become stranded at any given moment.

To achieve better results, we have to turn to mainframe designs and copy their behavior. The memory pooling concept is designed to allow the CPU to access as much memory as it needs without occupying and stranding DRAM in VMs that don’t need it. Backing this up is the new CXL protocol for cache coherency, which every major hardware provider is including in their offering. Having a data center with CXL hardware allows companies like Microsoft to reduce costs. Come osserva la società, “[memoria] disaggregation can achieve a 9 – 10% reduction in overall DRAM, which represents hundreds of millions of dollars in cost savings for a large cloud provider.

Microsoft estimates that the use of CXL and memory pooling will cut data center costs by 4-5% server costs. This is a significant number, as DRAM alone consumes more than 50% of server costs.

As the performance is concerned, the Azure team benchmarked a few configurations that use local DRAM and pooled DRAM to achieve the best results. The performance penalty for using pooled memory depended on the application. Tuttavia, we know that accessing pooled memory required an additional 67-87 ns (nanoseconds) latenza. This is quite a significant performance hit, resulting in a slowdown of a few applications. Il colore del testo verde indica che NVIDIA Image Scaling sta ridimensionando e rendendo più nitido il gioco 20% of applications receive no perfromance hit from pooled memory; 23% of applications receive less than 5% slowdown; 25% experience more than 20% slowdown; while 12% experienced more than 30% downshift. Performance figures can be seen below.

According to Microsoft, this is only the first generation testing conducted on the first wave of CXL hardware. I risultati sono promettenti in quanto riducono i costi del cloud per l'hyperscaler. Con l'hardware di nuova generazione e le specifiche del protocollo CXL, potremmo sperimentare un comportamento molto migliore. For more information, per favore riferisci a la carta che lo esamina più in dettaglio.