reklam

Manşet

NUMA nedir nerede kullanılır.

Yazar Unknown 11 Ağustos 2012 Cumartesi 1 yorum
NUMA (Non-Uniform Memory Access veya Non-Uniform Memory Architecture), donanım üreticileri ve yazılım geliştiricileri tarafından kullanılan genel bir bellek erişim/sıralama mimarisidir. NUMA hakkında daha fazla teknik detay için http://mstr.to/WikiNUMA adresini ziyaret edebilirsiniz. Peki NUMA pratikte ne işe yarar? Kabaca ve mümkün olduğunca anlaşılır bir şekilde açıklamak gerekirse;

Windows Server 2012 Hyper-V ile çok daha fazla fiziksel kaynağın yönetilebildiğini ve günümüz standartlara oranla çok daha fazla kaynağa sahip sanal makineler yaratılabildiğini biliyorsunuz. Özellikle sanal makine başına atanabilen maksimum CPU (64vCPU) ve maksimum vRAM (1TB) miktarları, yeni üründe en dikkat çekici noktalar arasında. Ancak çok güçlü fiziksel donanımlar üzerinde ulaşmanın mümkün olduğu bu sınırlarda veya yakın ölçülerde çalışan sanal makineleriniz varsa, CPU’ların RAM modüllerine erişimi sırasında iş parçalarının beklemeye maruz kalması sonucunda performansı olumsuz etkileyen durumlar ortaya çıkabiliyor.

Çok CPU’lu yaygın bir server mainboard’unu incelediğinizde her cpu soketi için bir memory grubu yer aldığını ve hatta memory modül dizilim sırasının kullanılacak cpu adetine göre değiştiğini görebilirsiniz. Memory kaynağı, cpu’ların kendi cache’lerinden sonra kullanabildiği en değerli ve hızlı kaynaklardır. Bir CPU, kendi cache’i dışında bir memory modülü kullanmak istediğinde, öncelikli olarak kendine bağlı bellek modül grubuna erişmek ister ve bu grup o CPU için local memory konumundadır. Mainboard üzerindeki diğer bellek grupları ise (aslında öncelikle diğer CPU’lara bağlı modüller) remote memory konumundadır. Bir CPU gerektiğinde (mesela kendi grubu yetmediğinde) remote memory gruplarını da iş yapmak için kullanabilir. Ama haliyle local memory erişiminden daha yavaş bir erişim söz konusu olur.

8’er fiziksel çekirdeğe sahip, 4 soket fiziksel işlemci + 2TB bellek ile çalışan bir Host düşünün ve bu Host üzerindeki memory havuzunun 32GB’lık modüller ile oluştuğunu var sayın ki bu toplamda 64 adet fiziksel memory modülü demek oluyor. Bu Host üzerinde örneğin 32 vCPU ve 1TB memory atanmış bir sanal makine çalışsın. Bu senaryoda, daha performanslı bir CPU/Memory etkileşimi için hangi CPU’nun, hangi grup üzerindeki memory modüllerini öncelikli ve daha doğru kullanabileceğini sanal makineye birinin söylemesi gerekiyor. İşte sanal makineye bunu söyleyen mekanizma Hyper-V’ye entegre edilmiş olan NUMA kullanım yeteneği oluyor.



CPU/Memory durumunuza göre sanal makine başına kolayca konfigüre edebileceğiniz NUMA özelliği Processor Settings altında yer alıyor.

1 yorum: