このページの本文へ

前へ 1 2 3 次へ

塩田紳二のWindows 8 IN-N-OUT 第14回

Windows 8は最大で640個の論理CPUに対応可能

2012年08月03日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows 8のタスクマネージャーは、見た目だけでなく機能面でも大きく変わった

 タスクマネージャーは地味な存在だが、Windows 8で大きく改良されたユーティリティーだ。今回はマルチコアプロセッサーに対する、タスクマネージャーの変更点について解説しよう。

Windowsでのマルチプロセッサーの
基本をおさらい

 タスクマネージャーの変更点について説明する前に、Windowsでのマルチプロセッサーの扱いについて説明する必要があるだろう。少し長いがお付き合いいただきたい。まずWindowsはマルチプロセッサー(マルチコア)システムについて、以下のような区分けで考えている。

パッケージの中↑ 論理プロセッサー(LP)
コア(物理プロセッサー)
ソケット(プロセッサーパッケージ)
NUMAノード
パッケージの外↓ プロセッサーグループ

 いわゆる物理的なCPU(プロセッサー)に当たるのが「ソケット」であり、その下にコア(物理プロセッサー)と論理プロセッサーがある(図1)。論理プロセッサーは、インテルのハイパースレッディング・テクノロジー(以下SMT)のように、ひとつの物理プロセッサーが実現する複数のプロセッサーを指す。例えばPentium IIIのようなシングルスレッド・シングルコアのプロセッサーならば、「1LPで1コア、1ソケット」。現代のCore i7-3770ならば、「8LPで4コア、1ソケット」になるわけだ。

図1 Windowsでは「論理プロセッサー」(LP)「コア」「ソケット」「NUMAノード」という階層でプロセッサーを管理していた。Windows 7/Windows Server 2008R2では、さらに「グループ」という概念が導入された

 また最近のCPUは、パッケージ内にメモリーコントローラーを内蔵するのが当たり前になっている。複数のソケットを使うマルチプロセッサーシステムの場合、それぞれのソケットに接続されたメモリーを合わせて、ひとつの物理メモリー空間を作る。そうなると、自分以外のソケットに接続されているメモリーにアクセスするには、ソケット間で通信する必要があるので、自分に接続されているメモリーに比べるとアクセスが遅くなる。こうした仕組みを「Non Uniform Memory Access」(NUMA)という。つまり物理メモリー空間の中に、アクセスが高速な場所とそうでない場所ができるため、メモリーの使い方を工夫する必要があるということだ。

 さらにプロセッサーのアーキテクチャーによっては、外付けのチップセット(グルー・ロジックと呼ぶ論理回路)なしに接続できるソケット数の限界は異なる。これを超えるソケット数を実現しようとすると、そのためのチップセットが必要になるので、そこを経由することでさらに遅れが出る。

 CPU同士が直接通信できるソケット同士を、まとめて「NUMAノード」と呼ぶ。NUMAノード内のアクセスの場合、他のソケットへのアクセスにはもちろん時間がかかるが、それでも比較的短い時間で済む。しかしNUMAノード間のアクセスになると、お互いのNUMAノードが別々のタイミングで動作しているうえ、チップセットを挟むのでさらに時間がかかる。なお、LPやコア、ソケットはどのプロセッサーにも存在するが、NUMAノードは存在しないシステムもある。店頭販売されているコンシューマー向けパソコンには、もちろん存在しない。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン