不均一なメモリアクセス – ウィキペディア

before-content-x4

不均一なメモリアクセス または短い 各プロセッサには独自の「ローカル」RAMがありますが、他のプロセッサに「共通のアドレス空間を介して「直接」アクセスする」を付与するマルチプロセッサシステム用のコンピューターラボアーキテクチャです( 分散共有メモリ )。したがって、CPUのメモリアクセス時間は、CPUの「ローカル」メモリ(別のCPU)にメモリアドレスがあるか、メモリアドレスがあるかによって異なります。

after-content-x4

対照的に、スタンド

  • 中央のメモリがある均一なメモリアクセス(UMA)は、アクセス時間で常に同じです。
  • No-Remote Memory Access(Norma)は、外部メモリへの直接アクセスが許可されておらず、すべてのプロセッサが独自のアドレススペースを使用します。
  • キャッシュのみのメモリアクセス(COM COM)。NUMAと同様に、一般的なアドレスルームと各プロセッサにローカルメモリに個別に存在するが、「遠い」メモリに他のプロセッサを書き込むのではなく、ローカルメモリで(キャッシュに類似)、以前の位置で削除(無効)されます。 D. h。メモリ側へのアクセスを書く場合、ライティングCPUがメモリ側の所有者になり、ページはローカルラムにあります これ CPU転送。

numaアーキテクチャは、SMPアーキテクチャのスケーラビリティを向上させる次のステップです。

ほとんどすべてのコンピューターアーキテクチャは、少量の非常に高速なメモリを使用します。これは、メモリアクセスにローカルプロパティを使用するキャッシュと呼ばれます。 numaを使用する場合、分散メモリを介してキャッシュコヒーレンスを維持することで、追加のオーバーヘッドが保証されます。例として、プロセッサが別のプロセッサのメモリからデータを取得して、計算が行われ、結果がローカルキャッシュに記載されていることを想像してください。データが生じるプロセッサのキャッシュ(およびシステム内の他のキャッシュ)は同期する必要があります。

非キャッシュコヒーレントNUMAシステムは、開発と構築が容易ですが、ノイマンの標準プログラミングモデルでプログラムすることは困難です。したがって、現在使用されているすべてのnumaシステムには、キャッシュの一貫性を確保するための特別なハードウェアがあり、したがって キャッシュコヒーレントnuma (ccnuma)。

これは主にキャッシュコントローラー間のプロセッサ間通信によって達成されるため、同じストレージポイントが複数のキャッシュに保存されている場合、コヒーレントメモリコンテンツが保証されます。
CCNUMAは、いくつかのプロセッサが次々と同じストレージポイントにすばやくアクセスしたい場合、パフォーマンスが低下します。したがって、numaサポートを備えたオペレーティングシステムは、numaに優しい方法でプロセッサとメモリを割り当てることにより、そのようなアクセスの頻度を最小限に抑えようとします。メモリを要求する場合、このプロセッサのメモリを取得することをお勧めします。

CCNUMAシステムの現在の実装には、たとえば、numalinkを使用したOpteroneおよびSGIシステムに基づくAMDマルチプロセッサシステムが含まれます。以前のCCNUMAシステムは、Digital Equipment Corporation(DEC)のAlphaプロセッサEV7またはSGIオリジナルシリーズなどのMIPS-R1X000プロセッサに基づいていました。

after-content-x4

NUMAコンピューターとは対照的に、各クラスターノードには独自のアドレスルームがあります。さらに、クラスターノード間の通信レイテンシーは、ヌクラ結合プロセッサ間の通信レイテンシーよりも大幅に高くなっています。

仮想メモリをページングするときにオペレーティングシステムに適切に調整されているため、クラスター全体のアドレスルームを実装して「ソフトウェアにnuma」を実装することができます。ただし、高いレイテンシは残っているため、これはめったに有用ではありません。


英語のウィキペディアの元の記事には、ここと英語のFoldocの資料が含まれています。ウィキペディアは、パブリックドメインライセンスの下で使用されます。

after-content-x4