物理プロセッサ内の仮想プロセッサの数を意味しますか?
兄弟の数がコアの数と等しい場合、ハイパースレッディングではないCPUまたはハイパースレッディングがオフになっています。兄弟の数がコアの数の2倍の場合、ハイパースレッディングがオンになっているハイパースレッディングCPUがあります。良い記事があります ここ 。
プロセッサー上の兄弟の数は、そのプロセッサー内の実行ユニットの総数です。これには、追加のコアとハイパースレッディングの両方が含まれます。
例えば、
siblings : 2
。デュアルコア、ハイパースレッディングなし。siblings : 4
。ハイパースレッディングを備えたデュアルコア。siblings : 2
。ハイパースレッディングを備えたシングルコア。まず最初に、以下の用語とその使用状況を理解します。
最近のPCには通常、マルチコアハイパースレッドプロセッサが搭載されています。たとえば、クアッドコアハイパースレッドのIntel CPUが搭載されたPCで実行されているLinuxでは、8つのCPU(4コアx 2ハイパースレッド)が表示されます。
最近のサーバーは通常、マルチコアマルチプロセッサーシステムです。一般的なサーバーには2つのソケットがあり、それぞれに24のハイパースレッドコアがあります。したがって、このシステムで実行されているLinuxは96 CPU(2ソケットx 24コアx 2ハイパースレッド)
実際の質問に戻ると、キャッシュを共有するプロセッサーは兄弟と呼ばれます。キャッシュ構成は次のようになります(アーキテクチャによって異なります)。
2つのソケットを備えたマルチコアマルチプロセッサシステムについて考えます。各ソケットはハイパースレッディングを備えた24コアを備えています。この場合、Linuxには0から95までの番号が付けられた合計96のCPUが表示されます。ソケット1にはCPU 0〜47があり、ソケット2には48〜95があります(これは通常、番号が交互に配置されるのとは異なります)。上記のキャッシュ構成を持つこのシステムでは、
たとえば、カーネルは兄弟の数を使用して負荷を分散します。
4つのタスクが2つの物理パッケージを持つシステムで実行されており、各パッケージには2つのコア(最終レベルのキャッシュを共有)があり、各コアには2つの論理スレッドがあります。最初のパッケージでは、負荷分散がマルチコアドメインで開始され、すべてのコアに均等に負荷が分散されます。