numaとは? わかりやすく解説

Numa

名前 ニュマ; ヌマ

NUMA

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/03 04:19 UTC 版)

NUMA: Non-Uniform Memory Access)とは、共有メモリマルチプロセッサコンピュータシステムアーキテクチャのひとつで、複数プロセッサが共有するメインメモリへのアクセスコストが、メモリ領域とプロセッサに依存して均一でないアーキテクチャである。日本語では「不均一メモリアクセス」や「不均等メモリアクセス」と訳される[1][2]

定義

プロセッサとメモリの対(これをノードと呼ぶ)が複数存在し、それらをインターコネクト(その詳細は問わない)で接続したものを学術的にはNUMAの定義としている。ただし共有メモリ型であるので各プロセッサが全ノードのメモリを利用可能である必要があり、各ノードのメモリを全プロセッサに共通の物理アドレス空間にマップできることが要件となる。あるプロセッサから見て同一ノードのメモリを「ローカル」メモリ、他ノードのメモリを「リモート」メモリと呼ぶ。

一般的には

ローカルメモリのアクセス遅延時間 < リモートメモリのアクセス遅延時間

である。

小規模の対称型マルチプロセッシング (SMP) システムでは単一バス上にすべてのプロセッサとメモリが同居しているが、バスの特性として複数プロセッサによるメモリの同時アクセスができないことが挙げられる。あるプロセッサがメモリアクセスを行っている間、他のプロセッサは待つしかない。この現象は同一バスに接続されるプロセッサが増えるにしたがって顕著となる。したがってSMPシステムの並列度を増してスケールアップしていく場合、単純に小規模SMPシステムの設計を拡張してバスに接続するプロセッサ数を増やしていったのでは、プロセッサはほとんどの時間をメモリアクセスの待ち時間に費やすことになってしまうであろう。また、単一バスに接続されるプロセッサが増えるということはバス信号線の物理的長さの増大を意味し、それはバスクロック向上の阻害要因となってしまう(信号線路上を伝わる電気信号の速さは有限であるため)。

これを解決するため、メモリを複数バンクに分割しプロセッサとメモリバンク間をクロスバースイッチなどで結ぶ手法(メモリインターリーブ)も実際に取られているが、この手法ではローカルバスと比較して常に大きな遅延でアクセスすることになってしまう(このようなアーキテクチャは、NUMAの定義でノードを構成するプロセッサとメモリをプロセッサノードとメモリノードにデカップリングしたUMAアーキテクチャの一形態である)。

また、メモリ側をマルチポートとすることも考えられるが、同時アクセスによる遅延を防ぐためポートを増やすとそれだけインターコネクトのための信号線が増えるためコスト増大を招いてしまう。

NUMA浸透の背景

ソフトウェアの動作を詳しく観察すると、ほとんどのメモリアクセスはある特定の領域に集中している(参照の局所性)。オペレーティングシステムが適切にメモリを割り当てることによって、プロセッサが頻繁に参照する必要のあるデータをアクセスコストの低いメモリに配置し、アクセスコストの高いメモリには頻繁に参照しないデータを配置することができる。

それによって、実際には不均一なメモリアクセスコストを持つアーキテクチャのシステム(実際のSMP的システム)でも理想的なSMPシステムに近い性能を発揮することができる。この点に着目したのがNUMAアーキテクチャである。

NUMAの特徴をまとめると、バスを共有するプロセッサ数を抑えることでバスの輻輳を防ぎ、バスクロックの向上を容易にする。その一方で、共有メモリ型のマルチプロセッサシステムであるのでNUMAシステムはソフトウェア的には(少なくともユーザアプリケーションからは)通常のSMPシステムと同等に見え、したがってSMPシステム用に開発されたアプリケーションがそのまま稼動する。ただし、オペレーティングシステムがNUMAを意識したメモリ管理を行わない場合は性能劣化が避けられない。

歴史

初期[いつ?]のNUMAシステムは、4ウェイ程度の小規模なSMPシステム(これを「ビルディング・ブロック」などと呼ぶ)を比較的高速・低レイテンシのインターコネクトによって接続して構成されていた。

現在[いつ?]、主流のCPUにおいては、チップレベルでNUMAアーキテクチャを取り入れているものが多い(インテルItaniumNehalem系などや、AMDOpteronプロセッサなど)。

これらのプロセッサではメモリバスがプロセッサチップと直結しており、メモリと組み合わせて単一のNUMAノードを構成し、リモートメモリアクセスを行うためのチップ間高速インターコネクトポートがオンチップで実装されている。

NUMAに対して、メモリアクセスコストの均一性を保ったまま大規模SMPシステムを構築するアーキテクチャを、特にNUMAと区別するためUMA(Uniform Memory Access)と呼ぶことがある[注釈 1]

NUMAを採用した独自大型サーバを製造販売している会社としては、SGI[いつ?]IBMHP富士通(富士通シーメンス)、NECサンマイクロシステム[いつ?]Crayなどがある。

脚注

注釈

  1. ^ ユニファイドメモリアーキテクチャ(Unified Memory Architecture, UMA)と名前は似ているが、別の概念である。

出典

関連項目


Numa

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/19 22:42 UTC 版)

Numa

  • 沼能友樹 - 「Numa」という名義を用いているLOOP CHILDの元メンバー。

NUMA

  • NUMA(Non-Uniform Memory Access) - 複数プロセッサが共有するメインメモリへのアクセスコストが、メモリ領域とプロセッサに依存して均一でないアーキテクチャ。

NUMA

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/28 09:49 UTC 版)

シークエント・コンピュータ」の記事における「NUMA」の解説

SMP市場には参入が相次ぎ競争激化してきたため、シークエント社では次の差別化ポイント探していた。シークエントインテル技術ライセンス供与しSMP日常化陳腐化)を図るとともに、ccNUMA(キャッシュコヒーレントNUMA)ベースシステム開発着手した。NUMAは分割されたプロセッサグループ毎にメモリ配置し、メモリアクセスの衝突によるボトルネック解消するのである。各タスクアクセスするメモリ局所的ある限りにおいて、NUMAによってSMPシステム越えたマルチプロセッサマシンが可能となる。例えば、サーバならば、各ユーザそれぞれ別のファイル操作することが期待される1996年、彼らはこの新しアーキテクチャ基づいたマシン最初のシリーズリリースした。これがNUMA-Qと呼ばれIBM買収される前の最後システムとなった1998年10月 シークエントIBMSCOと共にProject Monterey開始した。その目的IA-32IA-64POWER、PowerPCといったプラットフォーム上でNUMA機能備えたUNIX標準化であった。しかし、IBMSCOLinux市場方向転換したためプロジェクト消滅したまた、このプロジェクトは後にSCOIBM訴訟問題ベースとなった

※この「NUMA」の解説は、「シークエント・コンピュータ」の解説の一部です。
「NUMA」を含む「シークエント・コンピュータ」の記事については、「シークエント・コンピュータ」の概要を参照ください。

ウィキペディア小見出し辞書の「numa」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「numa」の関連用語

numaのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



numaのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのNUMA (改訂履歴)、Numa (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのシークエント・コンピュータ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS