Server ve Compute Mimarisi
CPU Topolojisi: Socket, Core, Thread ve Cache
Socket, core ve hardware thread’i ayır
Ön koşul: iş yükü, latency, throughput, eşzamanlılık ve ölçüm sözleşmesi kavramlarını kullanarak compute baseline kurabilmelisin. Bu dersin sonunda socket, package, physical core, hardware thread ve işletim sistemindeki logical CPU sayılarını birbirine karıştırmadan açıklayabilecek; çekirdek sayısını doğrudan performans kabul etmeden uygulamanın paralellik sınırını sorgulayabilecek; cache paylaşımı ile veri yerelliğinin etkisini gösterebilecek; frekans, core yoğunluğu, güç ve lisans arasında kanıtlanabilir karar kaydı oluşturabileceksin. Yaklaşık 27 dakika anlatı ve örnek, 16 dakika Arven çalışması ve 10 dakika kontrollerdir. Belirli işlemci modeli veya üretici kazananı seçmek bu dersin kapsamı değildir.
Socket, sistem kartındaki işlemci bağlantısıdır; işlemci package bu bağlantıya takılan fiziksel bileşendir. Bir package içinde birden çok fiziksel core bulunur. Core komutları yürüten bağımsız işlem kaynaklarını taşır. Simultaneous multithreading etkinse tek physical core işletim sistemine birden fazla hardware thread veya logical CPU gösterebilir. Linux topoloji gösterimi package → core → thread → Linux CPU ilişkisini açıklar. Bu nedenle `lscpu` çıktısındaki `CPU(s)` satırı fiziksel işlemci sayısı değildir. Örneğin iki socket, socket başına 16 core ve core başına iki thread bulunan bir sistem 32 physical core ve 64 logical CPU gösterebilir. Bu aritmetik kapasiteyi tanımlar; 64 bağımsız core performansı kanıtlamaz. Aynı core üzerindeki hardware thread’ler bazı yürütme kaynaklarını paylaşır. İkinci thread, birinci thread’in kullanamadığı kaynaklardan yararlanarak throughput sağlayabilir; kazanım iş yüküne bağlıdır ve iki kat varsayılamaz. Topology yalnız sayım değildir. Hangi core’ların cache, memory controller, interconnect ve I/O yollarını paylaştığını gösterir. Modern sistem bir socket içinde bile birden fazla locality domain sunabilir. İşletim sistemi, hypervisor ve uygulama bu topolojiyi farklı biçimde görebilir. Fiziksel host, VM guest ve container için ayrı görünümü kaydet. VM’e sekiz vCPU verilmesi bunların sekiz ayrı core, aynı socket veya aynı NUMA node üzerinde sabit kaldığı anlamına gelmez. Envanter kaydında üretici/model, socket, core/socket, thread/core, online logical CPU, NUMA node, cache hiyerarşisi, aktif güç profili, firmware, hypervisor ve ölçüm tarihi bulunur. `lscpu`, `numactl --hardware` ve `lstopo` gibi araçlar başlangıç kanıtı sağlar. Çıktıyı topoloji şemasıyla ve platform yönetim katmanıyla doğrula; eski dokümanı canlı sistem gerçeği sayma.
| Terim | Ne anlatır? | Ne anlatmaz? |
|---|---|---|
| Socket | Sistem kartındaki işlemci bağlantısı | Core veya lisans hakkı sayısını |
| Package | Fiziksel işlemci bileşeni | Tek bir yürütme birimini |
| Physical core | Komut yürüten fiziksel core | İki SMT thread kadar bağımsız kapasiteyi |
| Hardware thread | Core kaynaklarını paylaşan logical yürütme bağlamı | Ek physical core’u |
| vCPU | Guest’e sunulan scheduler yürütme birimi | Sabit physical core yerleşimini |
ÖRNEK
64 CPU görünen sistemde 32 core
Arven yöneticisi `lscpu` çıktısındaki 64 CPU’yu “64 çekirdek” diye teklif tablosuna yazar. Topoloji iki socket × 16 core × iki thread’dir. Lisans ve performans görüşmesi physical core, hardware thread ve vCPU kavramlarını ayrı kaydetmediği için yanlış ilerler. Düzeltme yalnız sayıyı 32 yapmak değildir; uygulamanın lisans metriği, paralellik davranışı ve SMT açık/kapalı ölçümü ayrıca doğrulanır.
MÜŞTERİYE SOR
Paylaştığınız CPU sayısı socket, physical core, hardware thread, vCPU veya lisanslanan birimlerden hangisi; bu sayı hangi katmandan ve hangi tarihte alındı?
Aynı “CPU” kelimesinin performans, sanallaştırma ve lisans kararlarında farklı nesneleri temsil etmesini önler.
BİLGİNİ KONTROL ET
İki socket, socket başına 12 core ve core başına iki thread olan host kaç physical core taşır?
Paralellik ile frekans trade-off’unu kur
Daha çok core ancak iş daha fazla bağımsız parçaya ayrılabiliyor ve paylaşılan kaynaklar bunu besleyebiliyorsa yarar sağlar. Tek thread üzerinde ilerleyen kritik bölüm, global lock, seri transaction, sınırlı bellek bant genişliği veya I/O beklemesi core eklendikçe aynı kalabilir. Amdahl yaklaşımının pratik dersi formül ezberlemek değil, toplam sürenin hangi bölümünün paralelleşmediğini bulmaktır. Batch içinde 100 iş bağımsız çalışabiliyorsa throughput artabilir; tek sorgunun latency’si aynı oranda azalmaz. İş yükünün thread modeli kanıtlanmalıdır: kaç runnable thread oluşuyor, aynı anda kaç core verimli kullanılıyor, işlem başına CPU zamanı nasıl değişiyor, lock ve context switch davranışı ne, core arttığında throughput eğrisi nerede yataylaşıyor? Uygulama veya veri tabanı üreticisinin desteklediği topology, scheduler ve lisans sınırı da kayda girer. Paralel kopya sayısı ile tek işin thread sayısı aynı ölçü değildir. Frekans bir core’un zaman içindeki clock hızını ifade eder; ancak aynı GHz farklı mikro mimari, komut karışımı, cache davranışı ve güç koşullarında aynı işi üretmez. Base, boost/turbo ve ölçülen etkin frekans ayrılır. Boost değeri bütün core’ların sürekli aynı hızda çalışacağını garanti etmez. Aktif core sayısı, güç/ısı sınırı, firmware profili ve iş yükü kullanılan frekansı etkileyebilir. GHz × core gibi basit bir çarpım güvenilir platform karşılaştırması değildir. Core yoğunluğu toplam throughput, sanallaştırma konsolidasyonu ve lisans maliyetine olumlu veya olumsuz etki edebilir. Daha az, hızlı core seri veya core başına lisanslanan iş yükünde avantajlı olabilir; daha çok core paralel throughput ve VM yoğunluğu için uygun olabilir. Bunlar evrensel sonuç değildir. Aynı yazılım sürümü, veri ve kabul ölçütüyle kontrollü test; platform maliyeti, enerji ve lisans kısıtıyla birlikte değerlendirilir.
ÖRNEK
Core tercihi iş yüküyle değişir
Arven’in gece dönüşüm işi 24 bağımsız dosyayı paralel işleyebilir ve core arttıkça pencere kısalır. Eski muhasebe servisi ise kritik hesabı tek thread’de yürütür; ek core’lar yalnız diğer istekleri ayırır. Aynı işlemci seçimi iki iş yükünde farklı değer üretir. Ekip birinde işler/saat, diğerinde tek işlem p95 latency ve core başına lisans maliyetini ölçer.
MÜŞTERİYE SOR
Kritik işin hangi bölümü paralel çalışıyor, hangi bölümü lock veya tek thread nedeniyle seri kalıyor; core sayısını artırdığınız son testte throughput ve p95 latency nasıl değişti?
Core sayısını uygulamanın gerçek ölçeklenme eğrisi ve kabul ölçütüyle ilişkilendirir.
ŞİMDİ SEN DENE
Core ölçeklenme eğrisi hazırla
Aynı veri setiyle 1, 2, 4, 8 ve uygunsa 16 worker ölçümünü tabloya koy. Her noktada işler/saat, p95 latency, CPU zamanı, run queue, lock/context switch ve enerjiyi kaydet. Eğrinin yavaşladığı noktayı ve olası paylaşılan kaynağı yaz. Üretimde test yapılacaksa değişiklik ve geri dönüş onayını ekle.
BİLGİNİ KONTROL ET
Core sayısını iki katına çıkarmak ne zaman performansı iki katına yaklaştırabilir?
Cache hiyerarşisini ve paylaşımı yorumla
Core veriyi doğrudan her seferinde ana bellekten beklememek için cache hiyerarşisini kullanır. L1 core’a en yakın ve küçük, sonraki seviyeler daha büyük fakat daha uzaktır; son seviye cache birden çok core tarafından paylaşılabilir. Tam boyut ve paylaşım sınırı mimariye göre değişir. Cache kapasitesi tek başına başarı ölçüsü değildir: iş yükünün working set’i, erişim düzeni, cache hit/miss, veri paylaşımı ve core yerleşimi sonucu belirler. Aynı veriyi kullanan thread’lerin ortak cache sınırında kalması veri hareketini azaltabilir. İlgisiz ve büyük working set’ler aynı cache’i paylaştığında birbirinin verisini çıkarabilir. False sharing durumunda farklı thread’lerin ayrı verileri aynı cache line’da bulunur ve tutarlılık trafiği doğar. Pre-Sales bu ayrıntıları uygulama kodu düzeyinde çözmek zorunda değildir; fakat “daha çok cache iyidir” iddiasını benchmark, profiler veya üretici uzmanıyla doğrulanacak hipotez olarak kaydetmelidir. Hardware thread’ler aynı core’un yürütme ve cache kaynaklarının bir bölümünü paylaşır. SMT, bir thread beklerken diğerine çalışma fırsatı sağlayabilir; zaten core kaynaklarını doyuran iş yükünde kazanım sınırlı veya olumsuz olabilir. SMT açık ve kapalı karşılaştırması ancak aynı güç, affinity, veri ve iş hacminde anlamlıdır. Güvenlik, deterministik latency veya yazılım desteği gibi nedenlerle politika farklı olabilir; uzman ve üretici desteği doğrulanır. Cache ve topology ölçümü kararın sınırına göre seçilir. `lscpu -e`, `lstopo`, `perf stat` ve uygun platform araçları physical/logical yerleşim ile cache miss sinyali sağlayabilir. Sayaçlar sanallaştırılmış ortamda eksik veya farklı semantikte olabilir. Profiling overhead’i ve üretim riski değerlendirilir. Hedef, tek bir düşük seviye metriği optimize etmek değil, hizmet sonucuna etki eden veri hareketini kanıtlamaktır.
MÜŞTERİYE SOR
İş yükünün aktif working set’i ve thread’lerin veri paylaşım modeli nedir; cache miss veya remote erişim arttığında hangi hizmet metriği bozuluyor?
Cache kapasitesini uygulamanın veri hareketi ve müşteri etkisiyle ilişkilendirir.
ŞİMDİ SEN DENE
Yürütme topolojisini çiz
Bir host için package, socket, NUMA node, core, hardware thread ve L1/L2/L3 paylaşımını çiz. Kritik VM’in vCPU’larını ve mümkünse gerçek yerleşimini ekle. İki paylaşım riski ile iki doğrulama metriği yaz. Çizimi canlı `lscpu`, `numactl` veya `lstopo` çıktısıyla tarihli olarak doğrula.
BİLGİNİ KONTROL ET
Daha büyük toplam cache neden otomatik olarak daha hızlı sistem anlamına gelmez?
Arven CPU kararını kanıtla
Arven iki seçenek inceler. A seçeneği socket başına daha çok core, daha düşük base frekans ve geniş toplam cache; B seçeneği daha az core, daha yüksek frekans sunar. Satış ekibi A’yı “daha güçlü”, uygulama ekibi B’yi “daha hızlı” ilan eder. İki ifade de iş yükü kanıtı olmadan eksiktir. ERP batch paralel kopyaları, tek thread muhasebe servisi, portal eşzamanlılığı ve core başına lisanslanan bileşen ayrı karar ölçülerine sahiptir. Önce topoloji doğrulanır: socket, physical core, thread/core, NUMA domain, cache paylaşımı ve VM vCPU görünümü. Sonra iş yükü matrisi kurulur. Batch için işler/saat ve pencere; muhasebe servisi için p95 latency ve tek thread CPU zamanı; portal için eşzamanlı throughput, tail latency ve hata oranı; sanallaştırma için bakım durumundaki host kapasitesi ölçülür. Her senaryoda güç profili, SMT durumu, yazılım sürümü, veri seti ve diğer yükler sabit veya açıkça kaydedilir. Lisans maliyeti teknik topolojiden ayrı tutulamaz fakat lisans kuralı tahmin edilmez. Hangi ürünün socket, physical core, assigned vCPU veya başka metriği kullandığı güncel sözleşme ve üretici kaynağıyla uzman tarafından doğrulanır. Daha çok core performans getirirken toplam maliyeti yükseltebilir; daha az core latency hedefini karşılarken bakım kapasitesini daraltabilir. Arven karar kaydı sonuç, trade-off, kanıt, varsayım ve yeniden test koşulu taşır.
MÜŞTERİYE SOR
Arven için tek iş latency’si, toplam throughput, VM yoğunluğu, bakım kapasitesi ve lisans maliyetinden hangileri karar kapısı; her kapının eşiği ve kanıt sahibi kim?
İşlemci özelliklerini birbirinden farklı iş ve ticari sonuçlara bağlar.
ŞİMDİ SEN DENE
Arven CPU karar kartını tamamla
A ve B seçenekleri için fiziksel/logical topolojiyi çiz. Dört iş yüküne hedef metrik, paralellik modeli, working set, cache/topology riski ve test ekle. Lisans metriğini kaynak gelene kadar UNKNOWN işaretle. Normal, tepe ve bir host bakımdayken sonuçları karşılaştır; seçimini üç kanıt ve iki açık koşulla savun.
BU DERSTEN AL
Bu dersten taşıyacağın düşünceler
- Socket, package, physical core, hardware thread, logical CPU ve vCPU farklı nesnelerdir.
- SMT iki kat physical core değildir; kazanç iş yükü ve paylaşılan kaynaklara bağlıdır.
- Core sayısı yalnız paralel bölüm ve yeterli komşu kaynak varsa ölçeklenir.
- GHz ve cache kapasitesi tek başına platform performansı vaat etmez.
- Arven CPU kararı latency, throughput, bakım ve lisans kapılarını ayrı kanıtlar.