Learn about glibc with Large System Extensions for performance improvement
Introduction
Build Glibc with LSE
Start MongoDB utilizing the newly built Glibc with LSE
Benchmark MongoDB with YCSB
Compare the results with LSE and NoLSE
Next Steps
Learn about glibc with Large System Extensions for performance improvement
Who is this for?
This is an advanced topic for software developers interested in learning how to improve the performance of their workloads on Arm servers.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build and install glibc with Large System Extensions (LSE) on an Arm server.
- Benchmark workload performance using glibc with LSE optimizations.
- Benchmark MongoDB using glibc with LSE optimizations.
Prerequisites
Before starting, you will need the following:
- An Arm-based instance from a cloud service provider
- Review the learning path on LSE
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll rebuild
glibc with Arm LSE and evaluate the runtime with MongoDB. First, you’ll build MongoDB from source, run YCSB workloads with the LSE-enabled library, and repeat the benchmark with a NoLSE baseline. By comparing throughput and runtime, you can determine whether LSE-enabled atomics make a measurable difference for MongoDB workloads.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
First, copy
libcrypt.so into the custom glibc build’s crypt directory. Then, launch mongod through testrun.sh with mongodb.conf and the WiredTiger cache setting.Use the repository tag r5.3.2.
Use a single YCSB workload profile and keep it identical across both LSE and NoLSE runs to compare results under consistent conditions.
Record the summary lines that include
[OVERALL] RunTime(ms) and [OVERALL] Throughput(ops/sec). The example output also shows GC statistics that you can keep for reference.The example reports about 3.14% uplift: throughput increases from 6,662.13 operations per second with No-LSE
glibc to 6,871.61 operations per second with LSE glibc.