JPH1011305A - 非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム及びそのシステムにおけるプロセス割当て方法 - Google Patents

非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム及びそのシステムにおけるプロセス割当て方法

Info

Publication number
JPH1011305A
JPH1011305A JP9063264A JP6326497A JPH1011305A JP H1011305 A JPH1011305 A JP H1011305A JP 9063264 A JP9063264 A JP 9063264A JP 6326497 A JP6326497 A JP 6326497A JP H1011305 A JPH1011305 A JP H1011305A
Authority
JP
Japan
Prior art keywords
pool
multiprocessing
nodes
access storage
multiprocessor system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9063264A
Other languages
English (en)
Inventor
Mark Robert Funk
マーク・ロバート・フンク
Larry Keith Mcmains
ラリー・キース・マクメインズ
Donald Arthur Morrison
ドナルド・アーサー・モリソン
Robert Anthony Petrillo
ロバート・アンソニー・ペトリーリョ
Robert Carl Seemann
ロバート・カール・ゼーマン
Arthur Douglas Smet
アーサー・ダグラス・スメット
Timothy Joseph Torzewski
ティモシー・ジョーゼフ・トジェフスキ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1011305A publication Critical patent/JPH1011305A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 非均等メモリ・アクセス(NUMA)アーキ
テクチャ・マルチプロセッサ・システムのパフォーマン
スを改善することである。 【解決手段】 マルチプロセッサ・システムは、複数の
相互接続マルチプロセッシング・ノードを含み、それぞ
れが1つまたは複数のプロセッサと1つのローカル・メ
イン・メモリとを含み、システムの主記憶域はNUMA
アーキテクチャのマルチプロセッシング・ノードのロー
カル・メイン・メモリ間に分散されている。プール予約
機構は論理主記憶域内のメモリ空間のプールを予約し、
プール割振り機構はマルチプロセッシング・ノードのロ
ーカル・メインメモリ内の実ページにこれらのプールを
割り振る。マルチプロセッサ上で作成されるプロセスに
は、関連プールを示す属性が与えられる。作成後、プロ
セス割当て機構は、プロセスの属性によって示されるプ
ールがすでに割り振られたマルチプロセッシング・ノー
ドにのみ、プロセスを割り当てることになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には改良さ
れた非均等メモリ・アクセス記憶アーキテクチャ・マル
チプロセッサ・システムに関し、具体的には非均等メモ
リ・アクセス記憶アーキテクチャ・マルチプロセッサ・
システムにおけるプール割振り機構とプロセス割当て機
構とを有する改良されたメモリ分散機構に関する。
【0002】
【従来の技術】計算能力の需要が絶えず増加しているの
で、コンピュータ・アーキテクチャはマルチプロセッサ
または並列プロセッサ設計に向かって進んでいる。ユニ
プロセッサは構成要素及び信号速度によって同時に数個
の命令の処理に制限されるが、マルチプロセッサは複数
の独立プロセッサを含み、そのプロセッサが複数の命令
を並列に実行することができるので、処理速度が大幅に
上昇する。マルチプロセッサ内のプロセッサのグループ
はノードまたはクラスタとして定義することができ、ノ
ードの各プロセッサは1つまたは複数のプロセスの命令
を実行し、これらのプロセスを効率よく並列処理できる
ようにする。拡張マルチプロセッサによっては、複数の
ノードを含み、システム内の様々なノードにプロセスを
割り当てて複数プロセスの並列処理を可能にするものも
ある。
【0003】密結合マルチプロセッサ・システムでは、
システムの複数のプロセッサが高速回線交換相互接続ネ
ットワークによって相互接続され、通常、単一メモリ・
システムを共用している。一般にこれらのプロセッサ
は、同一制御プログラムで制御され、互いに直接やりと
りすることができる。ユーザは、このようなシステムを
単一プロセッサ・システムとして使用することができる
が、ユーザ・プログラムが複数のタスクを作成する場
合、オペレーティング・システムがそれらを別々のプロ
セッサに割り当てることもある。サブプロセスを生成し
ないプロセスの場合、マルチプログラミング・オペレー
ティング・システムは、マルチプロセッサのすべてのプ
ロセッサを計算資源の単純なセットと見なすことがで
き、使用可能なプロセッサ上で複数のプログラムが始動
する。
【0004】密結合マルチプロセッサ・システムにおけ
る新出のメモリ・アーキテクチャは、非均等メモリ・ア
クセス(NUMA)記憶アーキテクチャである。NUM
A記憶アーキテクチャは、先行技術では見られなかった
ほど全体的な速度の点で有利である。また、このアーキ
テクチャは、最高250個のプロセッサの大規模スケー
ラビリティと、対称的マルチプロセッサ技術の単純化し
たプログラミング・モデルとを結合するものである。N
UMAマルチプロセッサ・システムは、すべてのプロセ
ッサがシステム内の主記憶域のいずれにもアクセスでき
るようにするための高帯域幅相互接続によって相互接続
された1組の対称的マルチプロセッサ(SMP)ノード
である。これらのノードは、ノードのローカル・メイン
・メモリ間に分散された同一のアドレス可能主記憶域を
共用する。1つのノード内のローカル主記憶域へのアク
セス時間はノード内のすべてのプロセッサについて同じ
である。
【0005】
【発明が解決しようとする課題】しかし、別のノード上
の主記憶域へのアクセスは、ローカル主記憶域への同様
のアクセスよりアクセス待ち時間がかなり長くなる。非
ローカル記憶域へのアクセスの待ち時間がこのように長
くなる場合、非ローカル記憶域へのプロセッサ・メモリ
・アクセスの割合が最小限になるようにオペレーティン
グ・システムのメモリ管理機構が記憶域の使い方を管理
できるのであれば、システム・パフォーマンスを強化で
きるはずである。したがって、マルチプロセッシング業
界は、このような機能を開発せずに、可能な範囲でNU
MA記憶アーキテクチャの優れたパフォーマンスの恩恵
を受けることはできない。
【0006】
【課題を解決するための手段】本発明によれば、プール
割振り機構とプロセス割当て機構は、パフォーマンス強
化のためにNUMAマルチプロセッサ・システムでプロ
セス・ノードの類縁性を作成する。マルチプロセッサ・
システムは、複数の相互接続マルチプロセッシング・ノ
ードを含み、それぞれが1つまたは複数のプロセッサと
1つのローカル・メイン・メモリとを含み、システムの
主記憶域はNUMAアーキテクチャのマルチプロセッシ
ング・ノードのローカル・メイン・メモリ間に分散され
ている。プール予約機構は論理主記憶域内のメモリ空間
のプールを予約し、プール割振り機構はマルチプロセッ
シング・ノードのローカル・メインメモリ内の実ページ
にこれらのプールを割り振る。マルチプロセッサ上で作
成されるプロセスには、関連プールを示す属性が与えら
れる。作成後、プロセス割当て機構は、プロセスの属性
によって示されるプールがすでに割り振られたマルチプ
ロセッシング・ノードにのみ、プロセスを割り当てるこ
とになる。このプロセス・ノードの類縁性により、割り
当てられたプロセスがそのノードのローカル主記憶域に
対して行うアクセスが増加し、それにより、システム・
パフォーマンスが強化される。
【0007】
【発明の実施の形態】図1は、本発明により使用可能
で、共用メモリ・クラスタ(SMC)記憶アーキテクチ
ャとも呼ばれる、非均等メモリ・アクセス(NUMA)
記憶アーキテクチャを有する共用メモリ・マルチプロセ
ッサ・システムのブロック図である。共用メモリNUM
Aマルチプロセッサ・システム(全体を100で示す)
は1組の対称的マルチプロセッサ(SMP)ノードであ
り、そのそれぞれは、専用のプロセッサ・セットと、主
記憶域と、すべてのプロセッサがシステム内のすべての
主記憶域の内容にアクセスできるようにする高帯域幅相
互接続によって相互接続された潜在的な入出力接続部と
を備えている。より正確には、このシステムは以下の属
性を特徴とすることができる。 1)1組のSMPノードの相互接続部であって、それぞ
れのSMPノードが以下のものを含む。 A)1〜N個のプロセッサ B)主記憶域カード C)各プロセッサまたはノードの全プロセッサのサブセ
ットあるいはその両方に個々に接続されたキャッシュ D)入出力バス及び入出力装置への潜在的な1つまたは
複数の接続部 2)すべてのノードの主記憶域の内容はすべてのプロセ
ッサからアクセス可能である。 3)プロセッサ・キャッシュ(またはプロセッサ・サブ
セットのキャッシュ)内の主記憶域の内容は、いずれか
の主記憶域の内容に加えたすべての変更と一貫した状態
を維持することができる。記憶域の順序付け及びアトミ
ック性も維持することができる。 4)「ローカル」という用語は、同一ノード上にあるプ
ロセッサと主記憶域を意味するように定義され、「非ロ
ーカル」または「遠隔」という用語は、異なるノード上
にある主記憶域とプロセッサとして定義される。ローカ
ルの主記憶域の内容をプロセッサが読み書きするための
アクセス時間(たとえば、キャッシュ充填待ち時間)
は、非ローカル主記憶域へのアクセス時間より高速にな
る傾向がある。 5)入出力割込みとプロセッサ間割込みは、いずれのノ
ードまたはプロセッサ(またはそのサブセット)にも提
示可能である。
【0008】図1の実施例に示すように、システムは、
4つのマルチプロセッシング・ノード101、102、
104、106を含む。一般に、各マルチプロセッシン
グ・ノードは、特殊クロスバー・バスまたはスイッチな
どのノード内接続機構によりノード内のローカル・メイ
ン・メモリに接続された1つまたは複数のプロセッサを
有する。図1に示すように、各マルチプロセッシング・
ノード101〜106は、複数のプロセッサP1〜PN
びその関連キャッシュ・メモリと、ノードのプロセッサ
にとってローカルのメイン・メモリ(それぞれ、メイン
・メモリ108〜114)とを含む。また、マルチプロ
セッシング・ノード101、102は、プリンタ、通信
リンク、ワークステーション、または直接アクセス記憶
装置(DASD)などの入出力空間への接続をサポート
するための入出力ユニットも含む。
【0009】マルチプロセッサ・ノードは、IEEEの
1596-1992規格に適合するスケーラブル・コヒーレント
相互接続部(SCI)によって相互接続されている。S
CIは、個々の2地点間相互接続上で2nsec当たり
16データ・ビットの速度(1Gバイト/秒のピーク)
でパケットを送信し、システム全体でのキャッシュ・コ
ヒーレンスに対応する、ポンプ式バス(18ビット幅)
によって実現された高帯域幅相互接続ネットワークであ
る。各マルチプロセッシング・ノードのリンク・ユニッ
ト116〜122は、SCIへの接続をもたらし、マル
チプロセッシング・ノードの相互接続を可能にする。
【0010】システム全体のすべてのプロセッサは同一
のアドレス可能主記憶域を共用するが、この主記憶域は
ローカル・メイン・メモリ内のマルチプロセッシング・
ノード間に分散され、すべてのプロセッサからアクセス
可能である。したがって、システム100内の全アドレ
ス可能主記憶域は、すべてのローカル・メイン・メモリ
108〜114内の主記憶域の組合せから構成される。
システムの主記憶域の各バイトは、固有の実アドレスで
アドレス可能である。各マルチプロセッシング・ノード
用のバス論理回路は、そのノードのプロセッサまたは入
出力ユニットによるメモリ・アクセスを監視し、ローカ
ル・メモリ・アクセスをそのノードのローカル・メイン
・メモリに向ける。非ローカル・メモリへの遠隔アクセ
スは、リンク・ユニットを介して相互接続ネットワーク
に送られる。
【0011】次に図2を参照すると、同図には、本発明
の実施例による、図1のマルチプロセッサ・システムの
プール予約機構、プール割振り機構、プロセス割当て機
構の論理ブロック図が示されている。このマルチプロセ
ッサ・システムのオペレーティング・システムは、プー
ル予約機構130と、プール割振り機構132と、プロ
セス割当て機構134とを含む。前述のように、その主
記憶域が複数の相互接続マルチプロセッシング・ノード
のローカル・メイン・メモリ108〜114内に含まれ
るように、システムの主記憶域は、NUMA記憶アーキ
テクチャのマルチプロセッシング・ノード101〜10
6(図2にはそれぞれN1、N2、N3、N4として示
す)間に分散されている。ローカル・メイン・メモリに
含まれるシステム用の全記憶容量は、論理主記憶域13
6として示されている。論理主記憶域136は、すべて
のローカル・メイン・メモリ108〜114で使用可能
な全実メモリ・ページの論理表現である。この例の論理
主記憶域は、4GBの容量即ち約100万個の4KBペ
ージを有するものとして示されている。
【0012】本発明によれば、プール予約機構130
は、オペレーティング・システムのメモリ管理システム
の一部分であり、論理主記憶域136内の所定のまたは
事前計算済みの数の実メモリ・ページからなる1つまた
は複数のプールを予約する。当技術分野で既知の通り、
プールとは、ユーザ定義の目的のためにユーザ(または
オペレーティング・システム)が主記憶域の一部分また
は所定の割合を予約することである。プール予約機構1
30は複数のプールをサポートするが、それぞれのプー
ルはゼロ・ページから主記憶域の大部分までサイズが様
々になる可能性がある。図2の例では、プール予約機構
130が、その事前割当てまたは事前計算済みのサイズ
に応じてプールA、B、Cを予約する。
【0013】プール割振り機構132は、そのローカル
・メイン・メモリ108〜114でマルチプロセッシン
グ・ノード101〜106間にメモリ空間のプールを優
先的に割り振る。プール割振り機構132は、たとえば
プロセッサの使用状況などの様々な要因を考慮した事前
選択基準または割当てアルゴリズムに基づいて、複数の
相互接続マルチプロセッシング・ノードのうちの1つま
たは複数のマルチプロセッシング・ノードに特定の予約
済みプールを割り振る。特定のプールが割り振られた複
数のマルチプロセッシング・ノードのうちの1つのロー
カル・メインメモリは、所与の時点でそのプール全体を
含むか、プールの一部分を含むか、またはプール・ペー
ジを一切含まない場合もある。割振り関数は、1つまた
は複数の特定のノード内の特定の実ページを表すものと
して、論理主記憶域136内に予約されたプールの該当
ページを指定する。この割振りは、前述のようにプール
・ディレクトリ内で行われる。図2に示す例のプール割
振り機構132は、マルチプロセッシング・ノード10
6(N4)にプールAを割り振り、マルチプロセッシン
グ・ノード102(N2)及び104(N3)にプール
Bを割り振る。プールAは1つのマルチプロセッシング
・ノードのみに割り振られているので、そのプール全体
に対応するページはローカル・メイン・メモリ114内
に存在する。プールB用のメモリ・ページはローカル・
メイン・メモリ110と112とに分散され、それぞれ
のローカル・メイン・メモリが受け取るそのプールのメ
モリ・ページは0個からすべてに至る。これで分かるよ
うに、マルチプロセッシング・ノードにプールを割り振
る場合、必ずしもそのノードのローカル・メイン・メモ
リ内の特定のデータを格納することを含むわけではな
い。
【0014】図3を参照すると、同図には、本発明の好
ましい実施例によりプール割振り機構132によって行
われる、ノード用のプール・ディレクトリ内のプール割
振りの図が示されている。このマルチプロセッサでは、
どのノードについてもそのノード上の各メモリ・ページ
にプールIDをマッピングするディレクトリ項目を含む
プール・ディレクトリが維持されている。これで分かる
ように、プール・ディレクトリ項目のそれぞれは、ノー
ド上の実メモリ・ページと1対1の関係にある。図3の
例のプール・ディレクトリ146は、循環リンク・リス
ト140状に接続されたプール1用の1組のディレクト
リ項目と、循環リンク・リスト142状に接続されたプ
ール2用の1組のディレクトリ項目とを含む。
【0015】プール割振り機構132は、プール基本構
造144にそのプール用の項目を作成し、プール・ディ
レクトリ146にそのプール用の項目からなるリンク・
リストを作成することによって、ノードに予約済みプー
ルを割り振る。図3に示すように、プール1〜プールN
用のプール基本構造項目がすでに作成されている。各プ
ール基本構造項目は、そのプールのサイズと、そのプー
ル内の第1のプール・ディレクトリ項目のアドレスと、
たとえば変更したページの割合、未修正ページの無効化
の割合、特定タイプのページの割合(すなわち、データ
ベース、入出力など)に関する情報など、そのプールの
使用状況に関する回転統計とに関する情報を含む。その
プール内の第1のプール・ディレクトリ項目のアドレス
を使用してプール・ディレクトリ項目へのインデックス
を付け、次に循環リンク・リスト(潜在的に数百万ペー
ジを含むことができる)によってプールを定義する。項
目(及びその対応ページ)をプールから出し入れする
と、循環リンク・リストが更新される。プール・ディレ
クトリ項目を保持せず、したがって、そのノード上にい
かなる実メモリ・ページも含まない間に(たとえば、プ
ールNを参照)、プール基本構造144に項目を作成す
ることによって、ノードにプールを割り振ることができ
る。
【0016】もう一度図2を参照すると、プロセス1、
2、3は、マルチプロセッサ・システム上での実行のた
めに作成されたプロセスである。各プロセス1〜3は、
システム・ユーザによって設定され、そのプロセスに関
連するメモリ・プールを示す属性を備えている。プロセ
ス割当て機構134は、それぞれのプロセスのプール属
性の関数として実行すべきマルチプロセッシング・ノー
ドにそのプロセスを優先的に割り当てる。プール属性が
示すプールには1つのノードしか割り振られていないの
で、そのプロセスはそのノードに割り当てられることに
なる。そのプールに複数のノードが割り振られている場
合には、プロセス割当て機構134は、使用状況統計
(すなわち、ページング率及びプール用のメモリ可用
性)を使用して、複数のノードのうちのどのノードにそ
のプロセスが割り当てられるかを判定する。ページング
率が低いノードは、通常、そのプール内で最も可用性の
高いページを備えたノードであり、結果的にこの基準で
プロセス割当て機構134によって選ばれることにな
る。
【0017】マルチプロセッシング・ノードにプールを
割り振る場合、好ましい実施例ではプール割振り機構1
32がその割振りをプロセス割当て機構134に報告す
る。プロセス割当て機構134は、ノードの割振り済み
予約プールの割振りレコード136を維持するが、この
レコードはそのプロセス用の関連プールと割振りレコー
ド内のメモリ・プールとの一致を検出するためにアクセ
スされる。一致が検出されると、プロセスは、割振りレ
コード136でそのプール用にリストされたマルチプロ
セッシング・ノードまたは複数のマルチプロセッシング
・ノードのうちの1つに割り当てられる。プロセスに関
連するプールはそのノードに割り振られているので、そ
のプロセスがアクセスするメモリ・アドレスはそのマル
チプロセッシング・ノードのローカル・メイン・メモリ
に収容される可能性が高い。さらに、記憶域がローカル
にのみ割り振られるように、ノード上で作成されたプロ
セスはそのノード内に常駐する傾向がある(すなわち、
そのノードのプロセッサにディスパッチされる)。プー
ル割振り機構は、各ノード上の各プールに関連する主記
憶域の使用状況(すなわち、ページング率及び可用性)
に関する回転パフォーマンス統計を引き続き保管し、必
要に応じてプールの再割振りを行う。ただし、プロセス
をノードに割り当てると、そのプロセスはマルチプロセ
ッシング・ノード間で移動できることに留意されたい。
移動すべきかどうかの判断と、移動のターゲット・ノー
ドも、メモリ・プールの可用性と使用状況に基づくもの
である。図2に示す例では、プロセス1とプロセス3が
プールBに関連し、プロセス2がプールAに関連してい
る。割振りレコード136によれば、プールAはN4
(マルチプロセッシング・ノード106)に割り振ら
れ、プールBはN2とN3(マルチプロセッシング・ノ
ード101と102)に割り振られ、プールCはN1に
割り振られている。したがって、プロセス割当て機構1
34は、プロセス1をN2に、プロセス2をN4に、プ
ロセス3をN3に割り当てられている。代替実施例で
は、割振りレコードを保管せず、プロセス割当て機構が
各ノードのプール基本構造に問い合わせて、プールの割
振りを決定するものと思われる。
【0018】(そのタスク(複数も可)/スレッド(複
数も可)を備えた)プロセスが、実アドレス空間にマッ
ピングされていない仮想アドレス空間内のページにアク
セスすると、プール割振り機構132によってそのプロ
セス用のページが獲得され、プール割振り機構132
は、仮想アドレス空間内のアクセスされたページをその
プロセスに関連するプール内のノード上の物理ページに
マッピングする。パフォーマンス強化のための追加の制
限として、プロセスにマッピングされたページをそのプ
ロセスの割当て済みノード上にのみあるそのプロセスの
関連プールにマッピングできることが必要になることも
ある。すなわち、いったん割り当てると、特定のノード
のプロセッサ上で実行されるプロセスには、そのノード
のプール空間からの記憶域のみが割り振られることにな
る。プロセスのプール属性が示すプールはプール基本構
造144内に位置し、プール基本構造項目がインデック
スを付けたプール・ディレクトリ146内のリンク・リ
ストを探索して、そのプール内の使用可能なページを探
す。使用可能なページが検出されるかまたは作成される
と、プール・ディレクトリ146内のそのページ用の項
目が仮想アドレスにマッピングされ、ページ・フォルト
が発生する。ユーザまたはシステムが同様のプロセスを
同一プールに巧みに関連付けると、特定のノードのプー
ル・ディレクトリ内の項目は、そのプールに関連する複
数のプロセスが必要とするページを含む可能性が高くな
り、ページ・フォルトまたは非ローカル・メモリ・アク
セスあるいはその両方の発生率が低くなる。その結果、
プロセスとそのプロセスがアクセスするメモリ・プール
の両方が引き続きノード上に存在することになり、それ
により、マルチプロセッサ・システム全体でのローカル
主記憶域へのアクセスが増加する。
【0019】これで分かるように、本発明は、プロセス
とそれがアクセスするメモリのために「ノードの類縁
性」を作成する。すなわち、そのプロセスが必要とする
データを含む可能性の高い割振り済みメモリ・プールを
有するノードにプロセスが割り当てられる。しかも、所
与のメモリ・プール用のデータは、割振り済みノード上
に引き続き存在する可能性が高い。というのは、そのデ
ータへのアクセスを必要とするプロセスはそのノードの
みに割り当てられるからである。さらに、プール割振り
機構ができるだけ少ないノードで個々の記憶域プールを
割り振る場合、ノード境界を越える非ローカル記憶域ア
クセスの回数を削減することにより、プロセス・ノード
の類縁性がメモリ・アクセス時間を短縮することにな
る。本発明によって得られる参照の場所がこのように増
加するので、NUMA記憶アーキテクチャのパフォーマ
ンスが大幅に上昇する。
【0020】次に図4を参照すると、同図には、本発明
の実施例による、NUMA記憶アーキテクチャを有する
マルチプロセッサ・システムにおけるプロセス割当ての
方法の論理流れ図が示されている。このプロセスは、ス
テップ200から始まり、ステップ210に移行し、そ
こで主記憶域内のメモリ空間の1つまたは複数のプール
が予約される。アドレス可能なメモリのこの予約済み部
分は、特定のユーザ定義の目的のために予約される。オ
ペレーティング・システムは、0個のページから数百万
個のページを含むメモリ・ブロックまでサイズが様々な
メモリ・プールを動的に予約する。次にこの方法はステ
ップ220に移行し、そこでメモリの予約済みプールが
システム内の1つまたは複数のマルチプロセッシング・
ノードに割り振られる。オペレーティング・システム
(またはシステム操作員)は、プール・サイズを決定
し、現行及び可能性の高いシステム使用状況ならびにシ
ステム・ユーザによる一般的アドバイスに基づいて、そ
のメモリ・プールを特定のノードに割り振る。パフォー
マンス統計が獲得されると、このような決定及び割振り
がシステムによって動的に調整される。また、オペレー
ティング・システムは、システム情報に応じて、複数の
マルチプロセッシング・ノードにプールを割り振るかま
たは再割振りすることができる。
【0021】この方法はステップ240に移行し、そこ
でシステム操作員が指定するプール属性が示すように、
その実行中にプロセスがどのメモリ・プールにアクセス
するかが判定される。方法は判断ブロック250に移行
し、そこでプール属性が示すメモリ・プールが複数のマ
ルチプロセッシング・ノードに割り振られているかどう
かの判断が行われる。メモリ・プールが1つのマルチプ
ロセッシング・ノードのみに割り振られている場合、ス
テップ260に示すように、そのプールが割り振られた
ノードにプロセスを割り当てなければならない。判断ブ
ロック250でそのプールが複数のマルチプロセッシン
グ・ノードに割り振られていると判定された場合、この
方法はステップ270に移行し、そこでそのプールが割
り振られた各マルチプロセッシング・ノードごとに、そ
のメモリ・プールの使用状況のレベルが判定される。各
ノード上のメモリ・プールの使用状況は、そのプールに
関連する主記憶域のページング率と可用性を追跡するこ
とによって判定することができる。使用状況が最低のマ
ルチプロセッシング・ノードは、ページング率が最低
で、メモリ・プールのローカル・メイン・メモリの可用
性が最高のものであると判定される。次にこの方法はス
テップ280に移行し、そこでプロセスに関連するメモ
リ・プールの使用状況が最低であると判定されたノード
にそのプロセスが割り当てられる。プロセスは別のノー
ドに割り当てることもできるが、関連メモリ・プールが
割り振られているマルチプロセッシング・ノードにプロ
セスを割り当てる場合にパフォーマンス強化が最も十分
に達成される。その後、この方法はステップ290で終
了する。
【0022】好ましい実施例では、プール予約機構、プ
ール割振り機構、プロセス割当て機構がオペレーティン
グ・システムのソフトウェア・オブジェクトとして記載
されているが、当業者であれば、このような機構がハー
ドウェア、ソフトウェア、またはそれらの組合せで実現
可能であることが分かるだろう。また、完全に機能する
コンピュータ・システムのコンテキストで本発明を説明
してきたが、本発明の諸機構が様々な形式のプログラム
製品として頒布可能であり、実際に頒布を実施するため
に使用する信号伝達媒体の特定タイプにかかわらず、本
発明が同じように適用できることを当業者には理解され
ることに留意することも重要である。信号伝達媒体の例
としては、フロッピー・ディスクやCD−ROMなどの
記録可能タイプの媒体、ディジタル及びアナログ通信リ
ンクなどの伝送タイプの媒体などがある。
【0023】要約すると、本発明は、関連プールが割り
振られたノードにプロセスを割り当て、その後、そのプ
ロセスがそのプールからのメモリのみを獲得できるよう
にする、NUMA記憶アーキテクチャを有する改良され
た共用メモリ・マルチプロセッサ・システムを提供す
る。この結果、所与のプロセスをサポートする各プロセ
ッサにとってローカルの主記憶域へのアクセス数が最大
になり、それにより、本発明のマルチプロセッサ・シス
テムのパフォーマンスが大幅に強化される。これで分か
るように、本発明により、システム・ユーザまたはオペ
レーティング・システムの援助を受けるシステム・ユー
ザは、その組用のメモリ空間が位置する選択した1組の
プロセッサでの作業をより効率よく管理することがで
き、それにより、ローカル主記憶域へのアクセス数が最
大になり、メモリ・パフォーマンスが上昇する。好まし
い実施例に関して本発明を具体的に示し説明してきた
が、当業者であれば、本発明の精神及び範囲を逸脱せず
に、形式及び細部の様々な変更が可能であることが分か
るだろう。
【0024】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0025】(1)非均等メモリ・アクセス記憶アーキ
テクチャを有するマルチプロセッサ・システムにおける
プロセス割当ての方法において、マルチプロセッサ・シ
ステムが複数の相互接続マルチプロセッシング・ノード
と該マルチプロセッシング・ノード間に分散された主記
憶域とを有し、各マルチプロセッシング・ノードが1つ
または複数のプロセッサと1つのローカル・メイン・メ
モリとを含み、その方法が、主記憶域内のメモリ空間の
プールを動的に予約するステップと、前記複数のマルチ
プロセッシング・ノードのうちの1つまたは複数のマル
チプロセッシング・ノードに前記の予約済みのメモリ空
間のプールを割り振るステップと、ローカル主記憶域へ
のアクセス数が増加し、システム・パフォーマンスが強
化されるように、前記メモリ空間のプールが割り振られ
たマルチプロセッシング・ノードにそのメモリ空間のプ
ールに関連するプロセスを割り当てるステップとを含む
ことを特徴とする、非均等メモリ・アクセス記憶アーキ
テクチャを有するマルチプロセッサ・システムにおける
プロセス割当ての方法。 (2)そのプロセスに関連するプールを示す属性がプロ
セスに与えられることを特徴とする、上記(1)に記載
の非均等メモリ・アクセス記憶アーキテクチャを有する
マルチプロセッサ・システムにおけるプロセス割当ての
方法。 (3)そのプロセスが割当てられたノード内の関連プー
ルからプロセスによってメモリの一部分が獲得されるこ
とを特徴とする、上記(1)に記載の非均等メモリ・ア
クセス記憶アーキテクチャを有するマルチプロセッサ・
システムにおけるプロセス割当ての方法。 (4)メモリ空間のプールが2つまたはそれ以上のマル
チプロセッシング・ノードのローカル主記憶域内のメモ
リ空間を含むように、前記複数のマルチプロセッシング
・ノードのうちの2つまたはそれ以上のマルチプロセッ
シング・ノードに前記メモリ空間のプールを割り振るこ
とをさらに含むことを特徴とする、上記(1)に記載の
非均等メモリ・アクセス記憶アーキテクチャを有するマ
ルチプロセッサ・システムにおけるプロセス割当ての方
法。 (5)各マルチプロセッシング・ノードごとのパフォー
マンス統計の関数として2つまたはそれ以上のマルチプ
ロセッシング・ノードのうちの特定のマルチプロセッシ
ング・ノードにプロセスが割り当てられることを特徴と
する、上記(4)に記載の非均等メモリ・アクセス記憶
アーキテクチャを有するマルチプロセッサ・システムに
おけるプロセス割当ての方法。 (6)非均等メモリ・アクセス記憶アーキテクチャのマ
ルチプロセッサ・システムにおいて、マルチプロセッサ
・システムが複数の相互接続マルチプロセッシング・ノ
ードであって、各マルチプロセッシング・ノードが1つ
または複数のプロセッサと1つのローカル・メイン・メ
モリとを含む、複数の相互接続マルチプロセッシング・
ノードと、主記憶域が複数の相互接続マルチプロセッシ
ング・ノードのローカル・メイン・メモリを含むような
非均等メモリ・アクセス記憶アーキテクチャにおいてマ
ルチプロセッシング・ノード間に分散された主記憶域で
あって、各ローカル・メイン・メモリが複数の相互接続
マルチプロセッシング・ノードの各プロセッサからアク
セス可能である、主記憶域と、前記主記憶域内の1つま
たは複数のメモリ空間のプールを動的に予約するプール
予約機構と、複数の相互接続マルチプロセッシング・ノ
ードのうちの1つまたは複数のマルチプロセッシング・
ノードに前記の予約済みのメモリ空間のプールを割り振
るプール割振り機構と、予約されたメモリ空間のプール
が割り振られたマルチプロセッシング・ノードにそのメ
モリ空間のプールに関連するプロセスを割り当てるプロ
セス割当て機構とを含むことを特徴とする、非均等メモ
リ・アクセス記憶アーキテクチャのマルチプロセッサ・
システム。 (7)そのプロセスに関連するプールを示す属性がプロ
セスに与えられることを特徴とする、上記(6)に記載
の非均等メモリ・アクセス記憶アーキテクチャのマルチ
プロセッサ・システム。 (8)そのプロセスが割当てられたノード内の関連プー
ルからプロセスによってメモリの一部分が獲得されるこ
とを特徴とする、上記(6)に記載の非均等メモリ・ア
クセス記憶アーキテクチャのマルチプロセッサ・システ
ム。 (9)メモリ空間のプールが2つまたはそれ以上のマル
チプロセッシング・ノードのローカル主記憶域内のメモ
リ空間を含むように、プール割振り機構が複数のマルチ
プロセッシング・ノードのうちの2つまたはそれ以上の
マルチプロセッシング・ノードにメモリ空間のプールを
割り振ることをさらに特徴とする、上記(6)に記載の
非均等メモリ・アクセス記憶アーキテクチャのマルチプ
ロセッサ・システム。 (10)各マルチプロセッシング・ノードごとのパフォ
ーマンス統計の関数として2つまたはそれ以上のマルチ
プロセッシング・ノードのうちの特定のマルチプロセッ
シング・ノードにプロセスが割り当てられることを特徴
とする、上記(6)に記載の非均等メモリ・アクセス記
憶アーキテクチャのマルチプロセッサ・システム。 (11)前記プール予約機構が、主記憶域に格納された
ソフトウェアであり、複数の相互接続マルチプロセッシ
ング・ノード内で実行されることを特徴とする、上記
(6)に記載の非均等メモリ・アクセス記憶アーキテク
チャのマルチプロセッサ・システム。 (12)前記プール割振り機構が、主記憶域に格納され
たソフトウェアであり、複数の相互接続マルチプロセッ
シング・ノード内で実行されることを特徴とする、上記
(6)に記載の非均等メモリ・アクセス記憶アーキテク
チャのマルチプロセッサ・システム。 (13)前記プロセス割当て機構が、主記憶域に格納さ
れたソフトウェアであり、複数の相互接続マルチプロセ
ッシング・ノード内で実行されることを特徴とする、上
記(6)に記載の非均等メモリ・アクセス記憶アーキテ
クチャのマルチプロセッサ・システム。 (14)前記プロセス割当て機構が、プールにアクセス
する複数のプロセスのそれぞれをそのプールが割り振ら
れたマルチプロセッシング・ノードに割り当てることを
さらに特徴とする、上記(6)に記載の非均等メモリ・
アクセス記憶アーキテクチャのマルチプロセッサ・シス
テム。 (15)非均等メモリ・アクセス記憶アーキテクチャを
有するマルチプロセッサ・システムにおいてプロセス割
当てを行うプログラム製品において、マルチプロセッサ
・システムが複数の相互接続マルチプロセッシング・ノ
ードとローカル・メイン・メモリ間に分散された主記憶
域とを有し、前記各マルチプロセッシング・ノードが1
つまたは複数のプロセッサと1つのローカル・メイン・
メモリとを含み、そのプログラム製品が、予約されたメ
モリ空間のプールが割り振られたマルチプロセッシング
・ノードに該メモリ空間のプールに関連するプロセスを
割り当てるプロセス割当て機構と、プロセス割当て機構
を伝達する信号伝達媒体とを含むことを特徴とする、非
均等メモリ・アクセス記憶アーキテクチャを有するマル
チプロセッサ・システムにおいてプロセス割当てを行う
プログラム製品。 (16)そのプロセスに関連するプールを示す属性がプ
ロセスに与えられることを特徴とする、上記(15)に
記載の非均等メモリ・アクセス記憶アーキテクチャを有
するマルチプロセッサ・システムにおいてプロセス割当
てを行うプログラム製品。 (17)そのプロセスが割当てられたノード内の関連プ
ールからプロセス用にメモリの一部分が獲得されること
を特徴とする、上記(15)に記載の非均等メモリ・ア
クセス記憶アーキテクチャを有するマルチプロセッサ・
システムにおいてプロセス割当てを行うプログラム製
品。 (18)各マルチプロセッシング・ノードごとのパフォ
ーマンス統計の関数として2つまたはそれ以上のマルチ
プロセッシング・ノードのうちの特定のマルチプロセッ
シング・ノードにプロセスが割り当てられることを特徴
とする、上記(15)に記載の非均等メモリ・アクセス
記憶アーキテクチャを有するマルチプロセッサ・システ
ムにおいてプロセス割当てを行うプログラム製品。 (19)複数の相互接続マルチプロセッシング・ノード
のうちの1つまたは複数のマルチプロセッシング・ノー
ドに予約済みのメモリ空間のプールを割り振るプール割
振り機構をさらに含み、信号伝達媒体が前記プール割振
り機構を伝達することを特徴とする、上記(15)に記
載の非均等メモリ・アクセス記憶アーキテクチャを有す
るマルチプロセッサ・システムにおいてプロセス割当て
を行うプログラム製品。 (20)メモリ空間のプールが2つまたはそれ以上のマ
ルチプロセッシング・ノードのローカル主記憶域内のメ
モリ空間を含むように、前記プール割振り機構が複数の
マルチプロセッシング・ノードのうちの2つまたはそれ
以上のマルチプロセッシング・ノードに前記メモリ空間
のプールを割り振ることをさらに特徴とする、上記(1
9)に記載の非均等メモリ・アクセス記憶アーキテクチ
ャを有するマルチプロセッサ・システムにおいてプロセ
ス割当てを行うプログラム製品。 (21)前記プール割振り機構が、主記憶域に格納され
たソフトウェアであり、複数の相互接続マルチプロセッ
シング・ノード内で実行されることを特徴とする、上記
(19)に記載の非均等メモリ・アクセス記憶アーキテ
クチャを有するマルチプロセッサ・システムにおいてプ
ロセス割当てを行うプログラム製品。 (22)主記憶域内の1つまたは複数のメモリ空間の前
記プールを動的に予約するプール予約機構をさらに含
み、信号伝達媒体が前記プール予約機構を伝達すること
を特徴とする、上記(15)に記載の非均等メモリ・ア
クセス記憶アーキテクチャを有するマルチプロセッサ・
システムにおいてプロセス割当てを行うプログラム製
品。 (23)前記プール予約機構が、主記憶域に格納された
ソフトウェアであり、複数の相互接続マルチプロセッシ
ング・ノード内で実行されることを特徴とする、上記
(22)に記載の非均等メモリ・アクセス記憶アーキテ
クチャを有するマルチプロセッサ・システムにおいてプ
ロセス割当てを行うプログラム製品。 (24)前記プロセス割当て機構が、主記憶域に格納さ
れたソフトウェアであり、複数の相互接続マルチプロセ
ッシング・ノード内で実行されることを特徴とする、上
記(15)に記載の非均等メモリ・アクセス記憶アーキ
テクチャを有するマルチプロセッサ・システムにおいて
プロセス割当てを行うプログラム製品。 (25)前記プロセス割当て機構が、プールにアクセス
する複数のプロセスのそれぞれをそのプールが割り振ら
れたマルチプロセッシング・ノードに割り当てることを
さらに特徴とする、上記(15)に記載の非均等メモリ
・アクセス記憶アーキテクチャを有するマルチプロセッ
サ・システムにおいてプロセス割当てを行うプログラム
製品。 (26)前記信号伝達媒体が記録可能媒体を含むことを
特徴とする、上記(15)に記載の非均等メモリ・アク
セス記憶アーキテクチャを有するマルチプロセッサ・シ
ステムにおいてプロセス割当てを行うプログラム製品。 (27)前記信号伝達媒体が伝送媒体を含むことを特徴
とする、上記(15)に記載の非均等メモリ・アクセス
記憶アーキテクチャを有するマルチプロセッサ・システ
ムにおいてプロセス割当てを行うプログラム製品。 (28)非均等メモリ・アクセス記憶アーキテクチャの
マルチプロセッサ・システムにおいて、マルチプロセッ
サ・システムが、複数の相互接続マルチプロセッシング
・ノードと、前記マルチプロセッシング・ノード間に分
散された主記憶域と、予約されたメモリ空間のプールが
割り振られたマルチプロセッシング・ノードに該メモリ
空間のプールに関連するプロセスを割り当てるプロセス
割当て機構とを含むことを特徴とする、非均等メモリ・
アクセス記憶アーキテクチャのマルチプロセッサ・シス
テム。 (29)プロセスが、そのプロセスに関連するプールを
示す属性を有することを特徴とする、上記(28)に記
載の非均等メモリ・アクセス記憶アーキテクチャを有す
るマルチプロセッサ・システム。 (30)前記プロセス割当て機構が、そのプロセスが割
当てられたノード内の関連プールからプロセス用にメモ
リの一部分を獲得することを特徴とする、上記(28)
に記載の非均等メモリ・アクセス記憶アーキテクチャを
有するマルチプロセッサ・システム。 (31)各マルチプロセッシング・ノードごとのパフォ
ーマンス統計の関数として前記複数のマルチプロセッシ
ング・ノードのうちの特定のマルチプロセッシング・ノ
ードにプロセスが割り当てられることを特徴とする、上
記(28)に記載の非均等メモリ・アクセス記憶アーキ
テクチャを有するマルチプロセッサ・システム。 (32)複数の相互接続マルチプロセッシング・ノード
のうちの1つまたは複数のマルチプロセッシング・ノー
ドに予約済みのメモリ空間のプールを割り振るプール割
振り機構をさらに含むことを特徴とする、上記(28)
に記載の非均等メモリ・アクセス記憶アーキテクチャを
有するマルチプロセッサ・システム。 (33)メモリ空間のプールが2つまたはそれ以上のマ
ルチプロセッシング・ノードのローカル主記憶域内のメ
モリ空間を含むように、前記プール割振り機構が複数の
マルチプロセッシング・ノードのうちの2つまたはそれ
以上のマルチプロセッシング・ノードに前記メモリ空間
のプールを割り振ることをさらに特徴とする、上記(3
2)に記載の非均等メモリ・アクセス記憶アーキテクチ
ャを有するマルチプロセッサ・システム。 (34)前記プール割振り機構が、主記憶域に格納され
たソフトウェアであり、複数の相互接続マルチプロセッ
シング・ノード内で実行されることを特徴とする、上記
(32)に記載の非均等メモリ・アクセス記憶アーキテ
クチャを有するマルチプロセッサ・システム。 (35)主記憶域内の1つまたは複数のメモリ空間のプ
ールを動的に予約するプール予約機構をさらに含むこと
を特徴とする、上記(28)に記載の非均等メモリ・ア
クセス記憶アーキテクチャを有するマルチプロセッサ・
システム。 (36)前記プール予約機構が、主記憶域に格納された
ソフトウェアであり、複数の相互接続マルチプロセッシ
ング・ノード内で実行されることを特徴とする、上記
(35)に記載の非均等メモリ・アクセス記憶アーキテ
クチャを有するマルチプロセッサ・システム。 (37)前記プロセス割当て機構が、主記憶域に格納さ
れたソフトウェアであり、複数の相互接続マルチプロセ
ッシング・ノード内で実行されることを特徴とする、上
記(28)に記載の非均等メモリ・アクセス記憶アーキ
テクチャを有するマルチプロセッサ・システム。 (38)前記プロセス割当て機構が、プールにアクセス
する複数のプロセスのそれぞれをそのプールが割り振ら
れたマルチプロセッシング・ノードに割り当てることを
さらに特徴とする、上記(28)に記載の非均等メモリ
・アクセス記憶アーキテクチャを有するマルチプロセッ
サ・システム。
【図面の簡単な説明】
【図1】本発明により使用可能なNUMA記憶アーキテ
クチャを有する共用メモリ・マルチプロセッサ・システ
ムのブロック図である。
【図2】本発明の実施例による、図1のマルチプロセッ
サ・データ処理システムのメモリ管理機構とプロセス割
当て機構の論理ブロック図である。
【図3】本発明の好ましい実施例によりプール割振り機
構によって行われる、ノード用のプール・ディレクトリ
内のプール割振りを示す図である。
【図4】本発明の実施例による、NUMA記憶アーキテ
クチャを有するマルチプロセッサ・システムにおけるプ
ロセス割当ての方法を示す論理流れ図である。
【符号の説明】
100 共用メモリNUMAマルチプロセッサ・システ
ム 101 マルチプロセッシング・ノード 102 マルチプロセッシング・ノード 104 マルチプロセッシング・ノード 106 マルチプロセッシング・ノード 108 メイン・メモリ 110 メイン・メモリ 112 メイン・メモリ 114 メイン・メモリ 116 リンク・ユニット 118 リンク・ユニット 120 リンク・ユニット 122 リンク・ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラリー・キース・マクメインズ アメリカ合衆国55902 ミネソタ州ローチ ェスターサウスリッジ・ストリート・サウ スウェスト 8947 (72)発明者 ドナルド・アーサー・モリソン アメリカ合衆国55902 ミネソタ州ローチ ェスターコートランド・レーン・サウスウ ェスト 602 (72)発明者 ロバート・アンソニー・ペトリーリョ アメリカ合衆国55935 ミネソタ州ファウ ンティンアール・アール1 ボックス117 エイ (72)発明者 ロバート・カール・ゼーマン アメリカ合衆国55901 ミネソタ州ローチ ェスターフォース・ストリート・ノースウ ェスト 4318 (72)発明者 アーサー・ダグラス・スメット アメリカ合衆国55906 ミネソタ州ローチ ェスターシティー・ビュー・コート・ノー スイースト 1410 (72)発明者 ティモシー・ジョーゼフ・トジェフスキ アメリカ合衆国55901−2501 ミネソタ州 ローチェスター セブンティーンス・スト リート・ノースウェスト 617

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】非均等メモリ・アクセス記憶アーキテクチ
    ャを有するマルチプロセッサ・システムにおけるプロセ
    ス割当ての方法において、マルチプロセッサ・システム
    が複数の相互接続マルチプロセッシング・ノードと該マ
    ルチプロセッシング・ノード間に分散された主記憶域と
    を有し、各マルチプロセッシング・ノードが1つまたは
    複数のプロセッサと1つのローカル・メイン・メモリと
    を含み、その方法が、 主記憶域内のメモリ空間のプールを動的に予約するステ
    ップと、 前記複数のマルチプロセッシング・ノードのうちの1つ
    または複数のマルチプロセッシング・ノードに前記の予
    約済みのメモリ空間のプールを割り振るステップと、 ローカル主記憶域へのアクセス数が増加し、システム・
    パフォーマンスが強化されるように、前記メモリ空間の
    プールが割り振られたマルチプロセッシング・ノードに
    そのメモリ空間のプールに関連するプロセスを割り当て
    るステップとを含むことを特徴とする、非均等メモリ・
    アクセス記憶アーキテクチャを有するマルチプロセッサ
    ・システムにおけるプロセス割当ての方法。
  2. 【請求項2】そのプロセスに関連するプールを示す属性
    がプロセスに与えられることを特徴とする、請求項1に
    記載の非均等メモリ・アクセス記憶アーキテクチャを有
    するマルチプロセッサ・システムにおけるプロセス割当
    ての方法。
  3. 【請求項3】そのプロセスが割当てられたノード内の関
    連プールからプロセスによってメモリの一部分が獲得さ
    れることを特徴とする、請求項1に記載の非均等メモリ
    ・アクセス記憶アーキテクチャを有するマルチプロセッ
    サ・システムにおけるプロセス割当ての方法。
  4. 【請求項4】メモリ空間のプールが2つまたはそれ以上
    のマルチプロセッシング・ノードのローカル主記憶域内
    のメモリ空間を含むように、前記複数のマルチプロセッ
    シング・ノードのうちの2つまたはそれ以上のマルチプ
    ロセッシング・ノードに前記メモリ空間のプールを割り
    振ることをさらに含むことを特徴とする、請求項1に記
    載の非均等メモリ・アクセス記憶アーキテクチャを有す
    るマルチプロセッサ・システムにおけるプロセス割当て
    の方法。
  5. 【請求項5】各マルチプロセッシング・ノードごとのパ
    フォーマンス統計の関数として2つまたはそれ以上のマ
    ルチプロセッシング・ノードのうちの特定のマルチプロ
    セッシング・ノードにプロセスが割り当てられることを
    特徴とする、請求項4に記載の非均等メモリ・アクセス
    記憶アーキテクチャを有するマルチプロセッサ・システ
    ムにおけるプロセス割当ての方法。
  6. 【請求項6】非均等メモリ・アクセス記憶アーキテクチ
    ャのマルチプロセッサ・システムにおいて、マルチプロ
    セッサ・システムが複数の相互接続マルチプロセッシン
    グ・ノードであって、各マルチプロセッシング・ノード
    が1つまたは複数のプロセッサと1つのローカル・メイ
    ン・メモリとを含む、複数の相互接続マルチプロセッシ
    ング・ノードと、 主記憶域が複数の相互接続マルチプロセッシング・ノー
    ドのローカル・メイン・メモリを含むような非均等メモ
    リ・アクセス記憶アーキテクチャにおいてマルチプロセ
    ッシング・ノード間に分散された主記憶域であって、各
    ローカル・メイン・メモリが複数の相互接続マルチプロ
    セッシング・ノードの各プロセッサからアクセス可能で
    ある、主記憶域と、 前記主記憶域内の1つまたは複数のメモリ空間のプール
    を動的に予約するプール予約機構と、 複数の相互接続マルチプロセッシング・ノードのうちの
    1つまたは複数のマルチプロセッシング・ノードに前記
    の予約済みのメモリ空間のプールを割り振るプール割振
    り機構と、 予約されたメモリ空間のプールが割り振られたマルチプ
    ロセッシング・ノードにそのメモリ空間のプールに関連
    するプロセスを割り当てるプロセス割当て機構とを含む
    ことを特徴とする、非均等メモリ・アクセス記憶アーキ
    テクチャのマルチプロセッサ・システム。
  7. 【請求項7】そのプロセスに関連するプールを示す属性
    がプロセスに与えられることを特徴とする、請求項6に
    記載の非均等メモリ・アクセス記憶アーキテクチャのマ
    ルチプロセッサ・システム。
  8. 【請求項8】そのプロセスが割当てられたノード内の関
    連プールからプロセスによってメモリの一部分が獲得さ
    れることを特徴とする、請求項6に記載の非均等メモリ
    ・アクセス記憶アーキテクチャのマルチプロセッサ・シ
    ステム。
  9. 【請求項9】メモリ空間のプールが2つまたはそれ以上
    のマルチプロセッシング・ノードのローカル主記憶域内
    のメモリ空間を含むように、プール割振り機構が複数の
    マルチプロセッシング・ノードのうちの2つまたはそれ
    以上のマルチプロセッシング・ノードにメモリ空間のプ
    ールを割り振ることをさらに特徴とする、請求項6に記
    載の非均等メモリ・アクセス記憶アーキテクチャのマル
    チプロセッサ・システム。
  10. 【請求項10】各マルチプロセッシング・ノードごとの
    パフォーマンス統計の関数として2つまたはそれ以上の
    マルチプロセッシング・ノードのうちの特定のマルチプ
    ロセッシング・ノードにプロセスが割り当てられること
    を特徴とする、請求項6に記載の非均等メモリ・アクセ
    ス記憶アーキテクチャのマルチプロセッサ・システム。
  11. 【請求項11】前記プール予約機構が、主記憶域に格納
    されたソフトウェアであり、複数の相互接続マルチプロ
    セッシング・ノード内で実行されることを特徴とする、
    請求項6に記載の非均等メモリ・アクセス記憶アーキテ
    クチャのマルチプロセッサ・システム。
  12. 【請求項12】前記プール割振り機構が、主記憶域に格
    納されたソフトウェアであり、複数の相互接続マルチプ
    ロセッシング・ノード内で実行されることを特徴とす
    る、請求項6に記載の非均等メモリ・アクセス記憶アー
    キテクチャのマルチプロセッサ・システム。
  13. 【請求項13】前記プロセス割当て機構が、主記憶域に
    格納されたソフトウェアであり、複数の相互接続マルチ
    プロセッシング・ノード内で実行されることを特徴とす
    る、請求項6に記載の非均等メモリ・アクセス記憶アー
    キテクチャのマルチプロセッサ・システム。
  14. 【請求項14】前記プロセス割当て機構が、プールにア
    クセスする複数のプロセスのうちのそれぞれをそのプー
    ルが割り振られたマルチプロセッシング・ノードに割り
    当てることをさらに特徴とする、請求項6に記載の非均
    等メモリ・アクセス記憶アーキテクチャのマルチプロセ
    ッサ・システム。
  15. 【請求項15】非均等メモリ・アクセス記憶アーキテク
    チャを有するマルチプロセッサ・システムにおいてプロ
    セス割当てを行うプログラム製品において、マルチプロ
    セッサ・システムが複数の相互接続マルチプロセッシン
    グ・ノードとローカル・メイン・メモリ間に分散された
    主記憶域とを有し、前記各マルチプロセッシング・ノー
    ドが1つまたは複数のプロセッサと1つのローカル・メ
    イン・メモリとを含み、そのプログラム製品が、 予約されたメモリ空間のプールが割り振られたマルチプ
    ロセッシング・ノードに該メモリ空間のプールに関連す
    るプロセスを割り当てるプロセス割当て機構と、 プロセス割当て機構を伝達する信号伝達媒体とを含むこ
    とを特徴とする、非均等メモリ・アクセス記憶アーキテ
    クチャを有するマルチプロセッサ・システムにおいてプ
    ロセス割当てを行うプログラム製品。
  16. 【請求項16】そのプロセスに関連するプールを示す属
    性がプロセスに与えられることを特徴とする、請求項1
    5に記載の非均等メモリ・アクセス記憶アーキテクチャ
    を有するマルチプロセッサ・システムにおいてプロセス
    割当てを行うプログラム製品。
  17. 【請求項17】そのプロセスが割当てられたノード内の
    関連プールからプロセス用にメモリの一部分が獲得され
    ることを特徴とする、請求項15に記載の非均等メモリ
    ・アクセス記憶アーキテクチャを有するマルチプロセッ
    サ・システムにおいてプロセス割当てを行うプログラム
    製品。
  18. 【請求項18】各マルチプロセッシング・ノードごとの
    パフォーマンス統計の関数として2つまたはそれ以上の
    マルチプロセッシング・ノードのうちの特定のマルチプ
    ロセッシング・ノードにプロセスが割り当てられること
    を特徴とする、請求項15に記載の非均等メモリ・アク
    セス記憶アーキテクチャを有するマルチプロセッサ・シ
    ステムにおいてプロセス割当てを行うプログラム製品。
  19. 【請求項19】複数の相互接続マルチプロセッシング・
    ノードのうちの1つまたは複数のマルチプロセッシング
    ・ノードに予約済みのメモリ空間のプールを割り振るプ
    ール割振り機構をさらに含み、信号伝達媒体が前記プー
    ル割振り機構を伝達することを特徴とする、請求項15
    に記載の非均等メモリ・アクセス記憶アーキテクチャを
    有するマルチプロセッサ・システムにおいてプロセス割
    当てを行うプログラム製品。
  20. 【請求項20】メモリ空間のプールが2つまたはそれ以
    上のマルチプロセッシング・ノードのローカル主記憶域
    内のメモリ空間を含むように、前記プール割振り機構が
    複数のマルチプロセッシング・ノードのうちの2つまた
    はそれ以上のマルチプロセッシング・ノードに前記メモ
    リ空間のプールを割り振ることをさらに特徴とする、請
    求項19に記載の非均等メモリ・アクセス記憶アーキテ
    クチャを有するマルチプロセッサ・システムにおいてプ
    ロセス割当てを行うプログラム製品。
  21. 【請求項21】前記プール割振り機構が、主記憶域に格
    納されたソフトウェアであり、複数の相互接続マルチプ
    ロセッシング・ノード内で実行されることを特徴とす
    る、請求項19に記載の非均等メモリ・アクセス記憶ア
    ーキテクチャを有するマルチプロセッサ・システムにお
    いてプロセス割当てを行うプログラム製品。
  22. 【請求項22】主記憶域内の1つまたは複数のメモリ空
    間のプールを動的に予約するプール予約機構をさらに含
    み、信号伝達媒体が前記プール予約機構を伝達すること
    を特徴とする、請求項15に記載の非均等メモリ・アク
    セス記憶アーキテクチャを有するマルチプロセッサ・シ
    ステムにおいてプロセス割当てを行うプログラム製品。
  23. 【請求項23】前記プール予約機構が、主記憶域に格納
    されたソフトウェアであり、複数の相互接続マルチプロ
    セッシング・ノード内で実行されることを特徴とする、
    請求項22に記載の非均等メモリ・アクセス記憶アーキ
    テクチャを有するマルチプロセッサ・システムにおいて
    プロセス割当てを行うプログラム製品。
  24. 【請求項24】前記プロセス割当て機構が、主記憶域に
    格納されたソフトウェアであり、複数の相互接続マルチ
    プロセッシング・ノード内で実行されることを特徴とす
    る、請求項15に記載の非均等メモリ・アクセス記憶ア
    ーキテクチャを有するマルチプロセッサ・システムにお
    いてプロセス割当てを行うプログラム製品。
  25. 【請求項25】前記プロセス割当て機構が、プールにア
    クセスする複数のプロセスのそれぞれをそのプールが割
    り振られたマルチプロセッシング・ノードに割り当てる
    ことをさらに特徴とする、請求項15に記載の非均等メ
    モリ・アクセス記憶アーキテクチャを有するマルチプロ
    セッサ・システムにおいてプロセス割当てを行うプログ
    ラム製品。
  26. 【請求項26】前記信号伝達媒体が記録可能媒体を含む
    ことを特徴とする、請求項15に記載の非均等メモリ・
    アクセス記憶アーキテクチャを有するマルチプロセッサ
    ・システムにおいてプロセス割当てを行うプログラム製
    品。
  27. 【請求項27】前記信号伝達媒体が伝送媒体を含むこと
    を特徴とする、請求項15に記載の非均等メモリ・アク
    セス記憶アーキテクチャを有するマルチプロセッサ・シ
    ステムにおいてプロセス割当てを行うプログラム製品。
  28. 【請求項28】非均等メモリ・アクセス記憶アーキテク
    チャのマルチプロセッサ・システムにおいて、マルチプ
    ロセッサ・システムが、 複数の相互接続マルチプロセッシング・ノードと、 前記マルチプロセッシング・ノード間に分散された主記
    憶域と、 予約されたメモリ空間のプールが割り振られたマルチプ
    ロセッシング・ノードに該メモリ空間のプールに関連す
    るプロセスを割り当てるプロセス割当て機構とを含むこ
    とを特徴とする、非均等メモリ・アクセス記憶アーキテ
    クチャのマルチプロセッサ・システム。
  29. 【請求項29】プロセスが、そのプロセスに関連するプ
    ールを示す属性を有することを特徴とする、請求項28
    に記載の非均等メモリ・アクセス記憶アーキテクチャを
    有するマルチプロセッサ・システム。
  30. 【請求項30】前記プロセス割当て機構が、そのプロセ
    スが割当てられたノード内の関連プールからプロセス用
    にメモリの一部分を獲得することを特徴とする、請求項
    28に記載の非均等メモリ・アクセス記憶アーキテクチ
    ャを有するマルチプロセッサ・システム。
  31. 【請求項31】各マルチプロセッシング・ノードごとの
    パフォーマンス統計の関数として前記複数のマルチプロ
    セッシング・ノードのうちの特定のマルチプロセッシン
    グ・ノードにプロセスが割り当てられることを特徴とす
    る、請求項28に記載の非均等メモリ・アクセス記憶ア
    ーキテクチャを有するマルチプロセッサ・システム。
  32. 【請求項32】複数の相互接続マルチプロセッシング・
    ノードのうちの1つまたは複数のマルチプロセッシング
    ・ノードに予約済みのメモリ空間のプールを割り振るプ
    ール割振り機構をさらに含むことを特徴とする、請求項
    28に記載の非均等メモリ・アクセス記憶アーキテクチ
    ャを有するマルチプロセッサ・システム。
  33. 【請求項33】メモリ空間のプールが2つまたはそれ以
    上のマルチプロセッシング・ノードのローカル主記憶域
    内のメモリ空間を含むように、前記プール割振り機構が
    複数のマルチプロセッシング・ノードのうちの2つまた
    はそれ以上のマルチプロセッシング・ノードに前記メモ
    リ空間のプールを割り振ることをさらに特徴とする、請
    求項32に記載の非均等メモリ・アクセス記憶アーキテ
    クチャを有するマルチプロセッサ・システム。
  34. 【請求項34】前記プール割振り機構が、主記憶域に格
    納されたソフトウェアであり、複数の相互接続マルチプ
    ロセッシング・ノード内で実行されることを特徴とす
    る、請求項32に記載の非均等メモリ・アクセス記憶ア
    ーキテクチャを有するマルチプロセッサ・システム。
  35. 【請求項35】主記憶域内の1つまたは複数のメモリ空
    間のプールを動的に予約するプール予約機構をさらに含
    むことを特徴とする、請求項28に記載の非均等メモリ
    ・アクセス記憶アーキテクチャを有するマルチプロセッ
    サ・システム。
  36. 【請求項36】前記プール予約機構が、主記憶域に格納
    されたソフトウェアであり、複数の相互接続マルチプロ
    セッシング・ノード内で実行されることを特徴とする、
    請求項35に記載の非均等メモリ・アクセス記憶アーキ
    テクチャを有するマルチプロセッサ・システム。
  37. 【請求項37】前記プロセス割当て機構が、主記憶域に
    格納されたソフトウェアであり、複数の相互接続マルチ
    プロセッシング・ノード内で実行されることを特徴とす
    る、請求項28に記載の非均等メモリ・アクセス記憶ア
    ーキテクチャを有するマルチプロセッサ・システム。
  38. 【請求項38】前記プロセス割当て機構が、プールにア
    クセスする複数のプロセスのそれぞれをそのプールが割
    り振られたマルチプロセッシング・ノードに割り当てる
    ことをさらに特徴とする、請求項28に記載の非均等メ
    モリ・アクセス記憶アーキテクチャを有するマルチプロ
    セッサ・システム。
JP9063264A 1996-03-27 1997-03-17 非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム及びそのシステムにおけるプロセス割当て方法 Pending JPH1011305A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/622230 1996-03-27
US08/622,230 US5784697A (en) 1996-03-27 1996-03-27 Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture

Publications (1)

Publication Number Publication Date
JPH1011305A true JPH1011305A (ja) 1998-01-16

Family

ID=24493417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9063264A Pending JPH1011305A (ja) 1996-03-27 1997-03-17 非均等メモリ・アクセス記憶アーキテクチャを有するマルチプロセッサ・システム及びそのシステムにおけるプロセス割当て方法

Country Status (6)

Country Link
US (1) US5784697A (ja)
EP (1) EP0798639B1 (ja)
JP (1) JPH1011305A (ja)
KR (1) KR100234654B1 (ja)
DE (1) DE69716663T2 (ja)
TW (1) TW308660B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318422B2 (en) 2015-10-05 2019-06-11 Fujitsu Limited Computer-readable recording medium storing information processing program, information processing apparatus, and information processing method

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058460A (en) * 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
JP3875749B2 (ja) * 1996-08-08 2007-01-31 富士通株式会社 マルチプロセッサ装置及びそのメモリアクセス方法
US5918249A (en) * 1996-12-19 1999-06-29 Ncr Corporation Promoting local memory accessing and data migration in non-uniform memory access system architectures
US6205528B1 (en) * 1997-08-29 2001-03-20 International Business Machines Corporation User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
US6049853A (en) * 1997-08-29 2000-04-11 Sequent Computer Systems, Inc. Data replication across nodes of a multiprocessor computer system
US6167437A (en) * 1997-09-02 2000-12-26 Silicon Graphics, Inc. Method, system, and computer program product for page replication in a non-uniform memory access system
US6249802B1 (en) 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6289424B1 (en) * 1997-09-19 2001-09-11 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6360303B1 (en) * 1997-09-30 2002-03-19 Compaq Computer Corporation Partitioning memory shared by multiple processors of a distributed processing system
US6094710A (en) * 1997-12-17 2000-07-25 International Business Machines Corporation Method and system for increasing system memory bandwidth within a symmetric multiprocessor data-processing system
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6038651A (en) * 1998-03-23 2000-03-14 International Business Machines Corporation SMP clusters with remote resource managers for distributing work to other clusters while reducing bus traffic to a minimum
US6275907B1 (en) * 1998-11-02 2001-08-14 International Business Machines Corporation Reservation management in a non-uniform memory access (NUMA) data processing system
FR2786288B1 (fr) * 1998-11-23 2001-08-10 Bull Sa Systeme de traitement par ensembles de ressources
US6334177B1 (en) 1998-12-18 2001-12-25 International Business Machines Corporation Method and system for supporting software partitions and dynamic reconfiguration within a non-uniform memory access system
US6701420B1 (en) * 1999-02-01 2004-03-02 Hewlett-Packard Company Memory management system and method for allocating and reusing memory
US6839739B2 (en) * 1999-02-09 2005-01-04 Hewlett-Packard Development Company, L.P. Computer architecture with caching of history counters for dynamic page placement
US6769017B1 (en) 2000-03-13 2004-07-27 Hewlett-Packard Development Company, L.P. Apparatus for and method of memory-affinity process scheduling in CC-NUMA systems
US6981027B1 (en) 2000-04-10 2005-12-27 International Business Machines Corporation Method and system for memory management in a network processing system
US6928482B1 (en) 2000-06-29 2005-08-09 Cisco Technology, Inc. Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network
US6826619B1 (en) 2000-08-21 2004-11-30 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6981244B1 (en) * 2000-09-08 2005-12-27 Cisco Technology, Inc. System and method for inheriting memory management policies in a data processing systems
US6487643B1 (en) 2000-09-29 2002-11-26 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6772298B2 (en) 2000-12-20 2004-08-03 Intel Corporation Method and apparatus for invalidating a cache line without data return in a multi-node architecture
US6791412B2 (en) * 2000-12-28 2004-09-14 Intel Corporation Differential amplifier output stage
US7234029B2 (en) * 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US20020087775A1 (en) * 2000-12-29 2002-07-04 Looi Lily P. Apparatus and method for interrupt delivery
US6721918B2 (en) 2000-12-29 2004-04-13 Intel Corporation Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect
US20020087766A1 (en) * 2000-12-29 2002-07-04 Akhilesh Kumar Method and apparatus to implement a locked-bus transaction
US6971098B2 (en) 2001-06-27 2005-11-29 Intel Corporation Method and apparatus for managing transaction requests in a multi-node architecture
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7159216B2 (en) * 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US20040088498A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for preferred memory affinity
US20040153481A1 (en) * 2003-01-21 2004-08-05 Srikrishna Talluri Method and system for effective utilization of data storage capacity
US7334230B2 (en) * 2003-03-31 2008-02-19 International Business Machines Corporation Resource allocation in a NUMA architecture based on separate application specified resource and strength preferences for processor and memory resources
US7085897B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Memory management for a symmetric multiprocessor computer system
ATE375553T1 (de) 2003-06-24 2007-10-15 Research In Motion Ltd Erkennung von speichermangel und feinabschaltung
US20060015589A1 (en) * 2004-07-16 2006-01-19 Ang Boon S Generating a service configuration
US20060015772A1 (en) * 2004-07-16 2006-01-19 Ang Boon S Reconfigurable memory system
US7433901B2 (en) * 2004-09-17 2008-10-07 International Business Machines Corporation Apparatus, system, and method for using multiple criteria to determine collocation granularity for a data source
US8255591B2 (en) * 2004-09-23 2012-08-28 International Business Machines Corporation Method and system for managing cache injection in a multiprocessor system
US7302533B2 (en) * 2005-03-11 2007-11-27 International Business Machines Corporation System and method for optimally configuring software systems for a NUMA platform
US8037169B2 (en) * 2005-05-18 2011-10-11 Oracle International Corporation Determining affinity in a cluster
US7493400B2 (en) * 2005-05-18 2009-02-17 Oracle International Corporation Creating and dissolving affinity relationships in a cluster
US7814065B2 (en) * 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
US7895596B2 (en) * 2005-09-13 2011-02-22 Hewlett-Packard Development Company, L.P. Processor assignment in multi-processor systems
US7516291B2 (en) * 2005-11-21 2009-04-07 Red Hat, Inc. Cooperative mechanism for efficient application memory allocation
US20070214333A1 (en) * 2006-03-10 2007-09-13 Dell Products L.P. Modifying node descriptors to reflect memory migration in an information handling system with non-uniform memory access
US7774554B2 (en) * 2007-02-20 2010-08-10 International Business Machines Corporation System and method for intelligent software-controlled cache injection
US20080244118A1 (en) * 2007-03-28 2008-10-02 Jos Manuel Accapadi Method and apparatus for sharing buffers
US8082330B1 (en) * 2007-12-28 2011-12-20 Emc Corporation Application aware automated storage pool provisioning
US8332595B2 (en) * 2008-02-19 2012-12-11 Microsoft Corporation Techniques for improving parallel scan operations
US8656397B2 (en) * 2010-03-30 2014-02-18 Red Hat Israel, Ltd. Migrating groups of threads across NUMA nodes based on remote page access frequency
US10114662B2 (en) 2013-02-26 2018-10-30 Red Hat Israel, Ltd. Updating processor topology information for virtual machines
WO2017011223A1 (en) 2015-07-10 2017-01-19 Rambus, Inc. Thread associated memory allocation and memory architecture aware allocation
US10552309B2 (en) 2017-11-09 2020-02-04 International Business Machines Corporation Locality domain-based memory pools for virtualized computing environment
US10691590B2 (en) 2017-11-09 2020-06-23 International Business Machines Corporation Affinity domain-based garbage collection
US10445249B2 (en) 2017-11-09 2019-10-15 International Business Machines Corporation Facilitating access to memory locality domain information
US11573904B2 (en) * 2018-10-12 2023-02-07 Vmware, Inc. Transparent self-replicating page tables in computing systems
US20230046354A1 (en) * 2021-08-04 2023-02-16 Walmart Apollo, Llc Method and apparatus to reduce cache stampeding
KR20240047259A (ko) 2022-10-04 2024-04-12 (주)엔팩코리아 풍량 제어가 가능한 선실 공기정화 필터 장치
KR20240062541A (ko) 2022-11-02 2024-05-09 (주)엔팩에스앤지 풍량표시구를 가진 선실 디퓨저 전용 스마트 공기정화 필터 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US5228127A (en) * 1985-06-24 1993-07-13 Fujitsu Limited Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US5093913A (en) * 1986-12-22 1992-03-03 At&T Laboratories Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system
JP2753706B2 (ja) * 1987-12-09 1998-05-20 富士通株式会社 計算機におけるipl方法
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
US5404521A (en) * 1990-07-31 1995-04-04 Top Level Inc. Opportunistic task threading in a shared-memory, multi-processor computer system
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
US5237673A (en) * 1991-03-20 1993-08-17 Digital Equipment Corporation Memory management method for coupled memory multiprocessor systems
US5325526A (en) * 1992-05-12 1994-06-28 Intel Corporation Task scheduling in a multicomputer system
JP2809962B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 資源管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318422B2 (en) 2015-10-05 2019-06-11 Fujitsu Limited Computer-readable recording medium storing information processing program, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
KR970066925A (ko) 1997-10-13
KR100234654B1 (ko) 1999-12-15
EP0798639B1 (en) 2002-10-30
DE69716663T2 (de) 2003-07-24
DE69716663D1 (de) 2002-12-05
TW308660B (en) 1997-06-21
US5784697A (en) 1998-07-21
EP0798639A1 (en) 1997-10-01

Similar Documents

Publication Publication Date Title
US5784697A (en) Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US10387194B2 (en) Support of non-trivial scheduling policies along with topological properties
US6105053A (en) Operating system for a non-uniform memory access multiprocessor system
US5606685A (en) Computer workstation having demand-paged virtual memory and enhanced prefaulting
JP2662603B2 (ja) 無効要求を選別する方法及び装置
US6816947B1 (en) System and method for memory arbitration
CN102365625B (zh) 用于虚拟机的虚拟非一致存储器体系结构
US6049853A (en) Data replication across nodes of a multiprocessor computer system
JP4082612B2 (ja) 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
US7743222B2 (en) Methods, systems, and media for managing dynamic storage
US6701421B1 (en) Application-level memory affinity control
CN100399300C (zh) 用于数据处理的***和方法和用于分配资源的***和方法
JP2000506659A (ja) マルチプロセッサデータ処理システム内でメモリを割り当てる方法
CN1786927B (zh) 应用层高速缓存映像知晓和再分配的***和方法
JP3628595B2 (ja) 少なくとも1つのnuma(non−uniformmemoryaccess)データ処理システムとして構成可能な相互接続された処理ノード
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JPH07271674A (ja) キャッシュ最適化の方法
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
US20060041882A1 (en) Replication of firmware
US7406554B1 (en) Queue circuit and method for memory arbitration employing same
JPH10143382A (ja) 共有メモリ型マルチプロセッサシステムの資源管理方法
US8041915B1 (en) Faster memory access in non-unified memory access systems
Goglin Memory footprint of locality information on many-core platforms
EP0611462A1 (en) Memory unit including a multiple write cache
JPH0830512A (ja) スレッド制御方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040401