23.2. システムトポロジーの種類


現代のコンピューティングにおいて、単一の CPU という考え方は誤解を招くものです。現代のほとんどのシステムは、複数のプロセッサーを搭載しているためです。システムのトポロジーとは、これらのプロセッサーを相互に、また他のシステムリソースにどのように接続するかという接続形態のことです。これは、システムとアプリケーションのパフォーマンス、およびシステムのチューニングに関する考慮事項に影響を及ぼす可能性があります。

現代のコンピューティングで使用されるトポロジーの主なタイプを以下に示します。

Symmetric Multi-Processor (SMP) トポロジー
SMP トポロジーにより、すべてのプロセッサーが同時にメモリーにアクセスできるようになります。ただし、共有および同等のメモリーアクセスは、本質的にすべての CPU からのメモリーアクセスをシリアライズするため、SMP システムのスケーリング制約が一般的に許容できないものとして表示されます。このため、最近のサーバーシステムはすべて NUMA マシンです。
Non-Uniform Memory Access (NUMA) トポロジー

NUMA トポロジーは、SMP トポロジーよりも最近開発されました。NUMA システムでは、複数のプロセッサーが 1 つのソケット上で物理的にグループ化されます。各ソケットには専用のメモリー領域があります。そのソケット上のプロセッサーはこのメモリーにローカルにアクセスできます。ソケット、そのメモリー、および関連するプロセッサーを合わせたものが、ノードと呼ばれます。同じノード上のプロセッサーは、そのノードのメモリーバンクには高速でアクセスできますが、他のノードのメモリーバンクへのアクセスはより低速になります。

そのため、ローカル以外のメモリーにアクセスするとパフォーマンスが低下します。したがって、NUMA トポロジーを使用するシステム上のパフォーマンスに敏感なアプリケーションは、アプリケーションを実行するプロセッサーと同じノードにあるメモリーにアクセスする必要があり、可能な限りリモートメモリーにアクセスしないようにしてください。

パフォーマンスに敏感するマルチスレッドアプリケーションは、特定のプロセッサーではなく特定の NUMA ノードで実行されるように設定することで、メリットが得られます。これが適切なかどうかは、システムやアプリケーションの要件によって異なります。

  • 複数のアプリケーションスレッドが同じキャッシュされたデータにアクセスする場合、同じプロセッサーでこれらのスレッドを実行するように設定することが適切な場合があります。
  • 異なるデータにアクセスしてキャッシュする複数のスレッドが同じプロセッサー上で実行される場合、各スレッドが前のスレッドによってアクセスされたキャッシュデータを追い出す可能性があります。これは、各スレッドがキャッシュを '失い'、メモリーからデータをフェッチし、これをキャッシュで置き換えていることを意味します。perf ツールを使用して、過剰な数のキャッシュミスをチェックします。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る