Pengantar
Seiring berkembangnya kebutuhan komputasi modern, server tidak lagi hanya mengandalkan satu prosesor. Infrastruktur seperti cloud computing, virtualisasi, database berskala besar, High Performance Computing (HPC), hingga kecerdasan buatan (AI) kini memanfaatkan server dengan banyak prosesor (multi-socket CPU) untuk meningkatkan kapasitas pemrosesan.
Namun, penggunaan banyak prosesor menghadirkan tantangan baru, yaitu bagaimana setiap prosesor dapat mengakses memori secara efisien. Jika seluruh prosesor harus mengakses satu memori pusat, akan terjadi kemacetan (memory bottleneck) yang dapat menurunkan performa sistem.
Untuk mengatasi masalah tersebut, dikembangkan arsitektur Non-Uniform Memory Access (NUMA). Teknologi ini memungkinkan setiap prosesor memiliki akses lebih cepat ke memori lokalnya, sehingga mampu meningkatkan efisiensi pemrosesan pada server modern.
Apa Itu Non-Uniform Memory Access (NUMA)?
Pengertian NUMA
Non-Uniform Memory Access (NUMA) adalah arsitektur memori pada sistem multiprosesor di mana setiap prosesor memiliki memori lokal sendiri, tetapi tetap dapat mengakses memori yang terhubung dengan prosesor lain.
Karena lokasi memori berbeda, waktu akses terhadap memori menjadi tidak seragam (non-uniform). Akses ke memori lokal berlangsung lebih cepat dibandingkan akses ke memori yang berada pada node lain.
Menurut dokumentasi Red Hat, NUMA merupakan desain arsitektur memori yang meningkatkan skalabilitas sistem multiprosesor dengan menyediakan memori lokal bagi setiap prosesor, sehingga mengurangi latensi akses memori (dikutip dari: Redhat).
Bagaimana Cara Kerja NUMA?
Pada sistem NUMA, prosesor dan memori dibagi menjadi beberapa NUMA Node.
Sebagai ilustrasi sederhana:
- CPU 1 memiliki RAM Lokal A.
- CPU 2 memiliki RAM Lokal B.
Ketika CPU 1 membutuhkan data yang berada di RAM Lokal A, proses berlangsung sangat cepat karena akses dilakukan secara langsung.
Sebaliknya, apabila CPU 1 harus mengambil data dari RAM Lokal B, permintaan harus melewati jalur komunikasi antarprosesor sehingga membutuhkan waktu lebih lama.
Perbedaan waktu akses inilah yang menjadi karakteristik utama NUMA.
baca juga : Process Hollowing: Teknik Malware yang Menyusup ke Proses Sistem
Apa Itu NUMA Node?
Pengertian NUMA Node
NUMA Node adalah kumpulan sumber daya yang terdiri dari satu atau lebih inti prosesor (CPU Core) beserta memori lokal yang terhubung langsung dengannya.
Setiap node bekerja secara independen, tetapi tetap dapat berkomunikasi dengan node lain ketika diperlukan.
Semakin sering aplikasi mengakses memori lokal dibandingkan memori jarak jauh (remote memory), semakin baik performa sistem yang dihasilkan.
Perbedaan NUMA dan UMA
Sebelum NUMA berkembang, banyak komputer menggunakan arsitektur Uniform Memory Access (UMA).
Berikut perbedaannya:
| Aspek | UMA | NUMA |
|---|---|---|
| Akses Memori | Seragam | Berbeda tergantung lokasi memori |
| Memori Lokal | Tidak ada | Ada |
| Skalabilitas | Terbatas | Lebih tinggi |
| Performa Multi-CPU | Lebih rendah | Lebih tinggi |
| Kompleksitas | Lebih sederhana | Lebih kompleks |
NUMA dirancang untuk mengatasi keterbatasan UMA pada sistem dengan banyak prosesor.
Kelebihan NUMA
Implementasi NUMA memberikan berbagai keuntungan bagi sistem berskala besar.
Mengurangi Latensi Memori
Karena sebagian besar akses dilakukan ke memori lokal, waktu yang dibutuhkan prosesor untuk mengambil data menjadi lebih singkat.

Meningkatkan Skalabilitas
NUMA memungkinkan penambahan prosesor tanpa menyebabkan penurunan performa yang signifikan akibat perebutan akses memori.
Mendukung Beban Kerja Intensif
Aplikasi seperti database, virtualisasi, AI, dan analisis data memperoleh manfaat besar dari akses memori yang lebih cepat.
Mengurangi Bottleneck
Distribusi memori ke beberapa node membantu mengurangi kemacetan pada jalur akses memori.
Efisiensi Penggunaan CPU
Setiap prosesor dapat bekerja lebih mandiri karena sebagian besar data yang dibutuhkan tersedia pada memori lokalnya.
Kekurangan NUMA
Walaupun menawarkan banyak keuntungan, NUMA juga memiliki beberapa tantangan.

Beberapa di antaranya adalah:
- Pengelolaan memori menjadi lebih kompleks.
- Penjadwalan proses (CPU Scheduling) harus memperhatikan lokasi memori.
- Aplikasi yang tidak dioptimalkan dapat mengalami penurunan performa.
- Akses ke memori pada node lain memiliki latensi lebih tinggi.
Oleh karena itu, sistem operasi dan aplikasi perlu memahami topologi NUMA agar mampu memanfaatkan arsitektur ini secara optimal.
baca juga : Command Injection: Ancaman Berbahaya yang Dapat Mengambil Alih Server Anda
NUMA Awareness
Apa Itu NUMA Awareness?
NUMA Awareness adalah kemampuan sistem operasi atau aplikasi untuk mengetahui lokasi prosesor dan memori sehingga proses dapat dijalankan sedekat mungkin dengan memori yang digunakan.
Sebagai contoh:
- Thread dijalankan pada CPU Node 1.
- Data juga ditempatkan pada RAM Node 1.
Dengan pendekatan ini, kebutuhan akses ke memori node lain dapat diminimalkan sehingga performa meningkat.
Penerapan NUMA
NUMA banyak digunakan pada berbagai lingkungan komputasi modern, seperti:
- Data Center.
- Cloud Computing.
- Virtualisasi menggunakan VMware, Hyper-V, maupun KVM.
- Database berskala besar.
- Artificial Intelligence (AI).
- Machine Learning.
- High Performance Computing (HPC).
- Big Data Analytics.
Pada lingkungan tersebut, efisiensi akses memori memiliki pengaruh besar terhadap performa keseluruhan sistem.
Pengaruh NUMA terhadap Virtualisasi
Virtualisasi modern sangat bergantung pada NUMA.
Jika sebuah Virtual Machine (VM) dijalankan pada node yang berbeda dengan lokasi memorinya, performa VM dapat menurun akibat meningkatnya akses ke remote memory.
Karena itu, banyak hypervisor menyediakan fitur NUMA Optimization atau NUMA Affinity agar CPU virtual dan memori tetap berada pada node yang sama.
Best Practice Menggunakan NUMA
Aktifkan NUMA Awareness
Pastikan sistem operasi dan aplikasi mendukung NUMA agar penjadwalan proses dapat dilakukan secara optimal.
Tempatkan Thread Dekat dengan Memori
Gunakan mekanisme CPU affinity atau NUMA affinity agar proses dijalankan pada node yang memiliki data terkait.
Pantau Penggunaan NUMA
Lakukan pemantauan terhadap distribusi CPU dan memori untuk memastikan tidak terjadi ketidakseimbangan antar node.
Optimalkan Konfigurasi Virtual Machine
Pada lingkungan virtualisasi, sesuaikan jumlah vCPU dan alokasi memori dengan topologi NUMA host agar performa VM tetap optimal.
Gunakan Perangkat Lunak yang Mendukung NUMA
Menurut dokumentasi Microsoft, aplikasi dan sistem operasi yang memahami topologi NUMA dapat meningkatkan efisiensi akses memori dengan menjalankan thread sedekat mungkin dengan memori yang digunakan (dikutip dari: Microsoft).
Penerapan NUMA Awareness menjadi salah satu faktor penting dalam memperoleh performa maksimal pada server multiprosesor.
Tantangan dalam Implementasi NUMA
Meskipun sangat efektif, implementasi NUMA memerlukan perencanaan yang baik.
Beberapa tantangan yang sering dihadapi meliputi:
- Distribusi beban kerja yang tidak merata.
- Penempatan memori yang kurang optimal.
- Migrasi proses antar node.
- Kompleksitas konfigurasi pada lingkungan virtualisasi.
- Kesulitan mengoptimalkan aplikasi lama (legacy application) yang belum mendukung NUMA.
Oleh karena itu, administrator sistem perlu memahami karakteristik aplikasi sebelum menerapkan optimasi NUMA.
baca juga : Manfaat Spatial Computing dalam Kehidupan Sehari-hari
Kesimpulan
Non-Uniform Memory Access (NUMA) merupakan arsitektur memori yang dirancang untuk meningkatkan performa sistem multiprosesor dengan menyediakan memori lokal bagi setiap CPU. Dibandingkan arsitektur UMA, NUMA menawarkan latensi akses yang lebih rendah, skalabilitas yang lebih baik, serta efisiensi tinggi untuk beban kerja seperti virtualisasi, database, AI, dan komputasi berkinerja tinggi.
Namun, manfaat tersebut hanya dapat diperoleh secara optimal apabila sistem operasi, hypervisor, dan aplikasi mendukung NUMA Awareness. Dengan konfigurasi yang tepat serta pengelolaan CPU dan memori yang baik, NUMA dapat membantu organisasi memaksimalkan kinerja server modern sekaligus mengurangi memory bottleneck pada lingkungan komputasi berskala besar.








