Apa arti saudara kandung dalam / proc / cpuinfo?

11

Apakah ini berarti jumlah prosesor virtual dalam prosesor fisik?

LedZeppelin
sumber

Jawaban:

9

Jika jumlah saudara kandung sama dengan jumlah inti maka Anda memiliki CPU yang tidak hiphreading atau hyperthreading dimatikan, Jika jumlah saudara kandung adalah 2x jumlah inti maka Anda memiliki CPU hiphreading dengan hiphreading diaktifkan. Ada artikel bagus di sini .

user9517
sumber
7

Jumlah saudara kandung pada prosesor adalah jumlah total unit eksekusi dalam prosesor itu. Ini akan mencakup core tambahan dan Hyperhreading.

Sebagai contoh,

  1. Core 2 Duo akan mendaftar siblings : 2. Dual core, tidak ada hyphreading.
  2. Xeon E5420 akan ditampilkan siblings : 4. Dual core, dengan hyperthreading.
  3. Pentium 4 dengan daftar hipertensi akan dicantumkan siblings : 2. Inti tunggal, dengan hyperthreading.
Scott Pack
sumber
1

Pertama-tama pahami istilah di bawah ini dan konteks penggunaannya.

  • CPU
    • CPU adalah unit pemrosesan.
    • Ini akan memiliki banyak komponen untuk memproses instruksi.
    • Setiap komponen bertanggung jawab untuk operasi yang berbeda seperti pengambilan instruksi, decode, proses, pembaruan, dll.
  • Inti
    • Satu CPU mungkin memiliki beberapa set / unit komponen yang disebutkan di atas.
    • Jika ada dua set unit ini, prosesor dapat menjalankan dua instruksi secara paralel.
    • Satu unit disebut Core.
    • CPU Duel-Core akan memiliki dua set komponen yang identik. CPU Quad-core akan memiliki empat set komponen / unit yang identik ini
  • Multi-CPU / HyperThreading
    • Ini sedikit rumit. Ini hanya konteks Perangkat Lunak yang valid.
    • Setiap kali instruksi sedang menunggu acara eksternal selesai, CPU akan menganggur. Untuk memanfaatkan CPU dengan lebih baik, beberapa vendor mempertahankan dua utas perangkat keras dan setiap kali satu utas diblokir, perangkat keras akan beralih ke utas lainnya. Prosesor semacam ini akan mampu menyimpan dan memulihkan status CPU
    • Untuk perangkat lunak, itu akan terlihat seperti dua utas yang berjalan secara paralel.
    • Linux menganggap core hyperthreading ini sebagai multi-CPU. Karena dapat menjalankan dua utas secara paralel. Jadi ia akan melihat dua unit eksekusi (CPU semu).
    • Sebagai contoh, CPU Intel terbaru mengalami hyperthreaded, mampu menjalankan dua utas secara bersamaan.
  • Multi-core
    • CPU modern memiliki beberapa set unit perangkat keras / Cores yang disebutkan di atas
    • Tidak seperti hyperthreading, mereka sebenarnya dapat menjalankan dua instruksi secara paralel
    • Setiap inti juga bisa mengalami hipertensi
  • Multi-prosesor
    • Sistem berperforma tinggi seperti Server, Komputer super akan memiliki banyak CPU fisik.
    • Anda dapat melihat beberapa soket CPU di papan ibu mereka
    • Masing-masing dapat memiliki beberapa inti. Lagi-lagi masing-masing inti bisa di-hiphread

PC modern biasanya datang dengan prosesor Multi-Core hyperthreaded. Misalnya Linux yang berjalan pada PC yang dilengkapi dengan CPU quad-core hyperthreaded intel, akan melihat 8 CPU (4 Cores x 2 hyperthreads).

Server Modern biasanya adalah sistem Multi-Core-Multi-Processor. Server tipikal akan memiliki dua soket, masing-masing memiliki 24 core Hypertreaded. Jadi Linux yang berjalan pada sistem ini akan melihat 96 CPU (2 Soket x 24 Cores x 2 hyperthreads)

Saudara kandung

Kembali ke pertanyaan sebenarnya, cache berbagi prosesor akan disebut saudara. Organisasi cache akan seperti (Meskipun akan bervariasi berdasarkan arsitektur),

  • Setiap Core akan memiliki satu L1 Instruction-cache dan satu L1 Data-cache
  • Setiap Core akan memiliki satu cache L2 Terpadu
  • Semua Core dalam Socket akan memiliki satu cache L3 Bersatu
  • Biasanya tidak ada dua soket yang berbagi cache

Pertimbangkan sistem Multi-Core-Multi-Processor dengan 2 soket. Setiap soket memiliki 24 Cores dengan HyperThreading. Dalam hal ini Linux akan melihat total 96 CPU bernomor 0 hingga 95. Socket 1 akan memiliki CPU 0-47 dan Socket 2 akan memiliki 48-95 (tidak seperti ini biasanya angkanya akan disisipkan). Untuk sistem ini dengan organisasi cache yang disebutkan di atas,

  • Prosesor 0-47 adalah saudara kandung
  • Prosesor 48-95 adalah saudara kandung
theB
sumber
0

Kernel menggunakan jumlah saudara kandung untuk memuat keseimbangan misalnya;

Empat tugas berjalan pada sistem yang memiliki dua paket fisik, masing-masing memiliki dua inti (berbagi cache tingkat terakhir) dan masing-masing inti memiliki dua utas logis. Load balance dimulai pada domain multicore untuk paket pertama, menghasilkan distribusi beban yang sama di antara semua core.

Bart
sumber
paket adalah terminologi yang salah di sini.
Wim Kerkhoff