Non-Uniform Memory Access(NUMA)とは何ですか?

Last Updated: 2022-08-02
4.8
(73)
Summary: Non-Unified Memory Accessの略であるNUMAは、マルチプロセッシング用のコンピュータメモリ設計です。 NUMAの完全な紹介については、こちらをご覧ください。

Definition

NUMAはマルチプロセッシングアーキテクチャであり、メモリは密なストレージと離れたストレージに分割され、メモリアクセス時間はプロセッサに対するメモリの場所によって異なります。

NUMAでは、プロセッサは非ローカルメモリよりも高速にローカルメモリにアクセスします。 NUMAの利点は、特定のワークロードに限定されます。特に、データが通常特定のタスクまたはユーザーに強く関連付けられているサーバーではそうです。

不均一なメモリアクセスシステムは、複数のシステムバスを備えた高度なサーバープラットフォームです。これらのプラットフォームは、1つのボードで複数のプロセッサを使用でき、すべてのプロセッサがマザーボード上のすべてのメモリにアクセスできます。

NUMAアーキテクチャは、SMP(対称型マルチプロセッシング)アーキテクチャからのスケーリングに論理的に従います。 SMPと比較して、NUMAアーキテクチャはより多くのCPUに拡張できます。

基本コンセプト

Modern CPUs run much faster than the main memory they use. In the early stages of computing and data processing, the CPU typically runs slower than its memory. The limiting memory access number is the key to extracting high performance from modern computers.

ただし、オペレーティングシステムのサイズとオペレーティングシステムで実行されているアプリケーションの急激な増加は、これらのキャッシュ処理の改善を圧倒することがよくあります。 NUMAのないマルチプロセッサシステムは、問題をさらに悪化させます。

NUMAは、プロセッサごとに個別のメモリを提供することでこの問題に対処しようとし、複数のプロセッサが同じメモリを解決する場合のパフォーマンスへの影響を回避します。

さらに、NUMAシステムには、メモリバンク間でデータを移動するための他のハードウェアまたはソフトウェアが含まれています。これにより、これらのバンクに接続されているプロセッサの速度が低下します。したがって、NUMAによる全体的な速度の向上は、実行中のタスクの性質に大きく依存します。

キャッシュコヒーレントNUMA(ccNUMA)

ほとんどすべてのCPUアーキテクチャは、キャッシュと呼ばれる少量の高速非共有メモリを使用して、メモリアクセスの参照場所を利用します。

ccNUMAは、複数のキャッシュが同じメモリ位置を格納する場合に一貫したメモリイメージを維持するために、キャッシュコントローラ間のプロセッサ間通信を採用しています。その結果、複数のプロセッサが同じメモリ領域に迅速かつ継続的にアクセスしようとすると、ccNUMAのパフォーマンスが低下します。

Supporting NUMA in the operating system tries to reduce the frequency of such access by allocating processors and memory in a NUMA-friendly manner and preventing the scheduling and locking algorithms necessary to make NUMA unfriendly access.

ソフトウェアサポート

NUMAはメモリアクセスのパフォーマンスに大きく影響するため、スケジューリングスレッドとプロセスがメモリデータにアクセスできるようにするには、ソフトウェアの最適化が必要です。

  • Silicon Graphics IRIXは、1240CPUおよびOriginServerシリーズを超えるccNUMAアーキテクチャをサポートします。
  • Microsoft Windows7およびWindowsServer 2008 R2では、NUMAアーキテクチャの64を超える論理コアのサポートが強化されています。
  • Java 7は、NUMA対応のメモリアロケータとガベージコレクタのサポートを追加します。
  • Linuxカーネルのバージョン3.13では、プロセスをメモリの近くに配置し、大きな透過ページの使用やプロセス間でのメモリページの共有などの状況を処理するためのいくつかのポリシーが導入されました。新しいsysctl設定により、NUMAバランシングを有効または無効にしたり、さまざまなNUMAメモリバランシングパラメータを構成したりできます。
  • OpenSolaris uses groups to model the NUMA architecture.
  • FreeBSDは、初期NUMA関連性とポリシー構成をバージョン11.0に追加します

結論!

In short, after going through this page, you will have a better understanding of the definition, basic concept, and work manner of Non-Unified Memory Access. You will also know that NUMA affects memory access performance so some software optimizes to support it.

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 73

No votes so far! Be the first to rate this post.

Previous Article

Mac用の最新のGoogleChromeアイコンを元のアイコンに戻す方法は? 概要:NUMAは、Non-Unified Memory Accessの略で、マルチプロセッシング用のコンピューターメモリ設計です。完全な紹介については、こちらをご覧ください...

Next Article

Macから削除されたビデオを回復する方法は? 概要:NUMAは、Non-Unified Memory Accessの略で、マルチプロセッシング用のコンピューターメモリ設計です。完全な紹介については、こちらをご覧ください...

About Bitwar Data Recovery

3 Steps to get back 500+ kinds of deleted, formatted or lost documents, photos, videos, audios, archive files from various data loss scenarios.

詳細はこちら

Hot Articles

    Related Articles