IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスケーハイニックス株式会社の特許一覧

特許7398876コンピューティングシステム及びこれを備えるデータ処理システム
<>
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図1
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図2
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図3a
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図3b
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図4
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図5
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図6a
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図6b
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図7
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図8a
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図8b
  • 特許-コンピューティングシステム及びこれを備えるデータ処理システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-07
(45)【発行日】2023-12-15
(54)【発明の名称】コンピューティングシステム及びこれを備えるデータ処理システム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20231208BHJP
   G06F 12/02 20060101ALI20231208BHJP
   G06F 9/455 20180101ALI20231208BHJP
   G06F 15/173 20060101ALI20231208BHJP
【FI】
G06F9/50 150E
G06F12/02 570A
G06F9/455 150
G06F15/173 685S
【請求項の数】 20
(21)【出願番号】P 2019076878
(22)【出願日】2019-04-15
(65)【公開番号】P2019192232
(43)【公開日】2019-10-31
【審査請求日】2022-03-22
(31)【優先権主張番号】10-2018-0044780
(32)【優先日】2018-04-18
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】310024033
【氏名又は名称】エスケーハイニックス株式会社
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung-daero,Bubal-eub,Icheon-si,Gyeonggi-do,Korea
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【弁理士】
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】アン, ス ホン
【審査官】坂東 博司
(56)【参考文献】
【文献】米国特許出願公開第2018/0077235(US,A1)
【文献】特開2003-030169(JP,A)
【文献】米国特許出願公開第2004/0230762(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
G06F 12/02
G06F 9/455
G06F 15/173
(57)【特許請求の範囲】
【請求項1】
第1のプールドメモリノードを含む少なくとも一つのプールドメモリノードと、
第1の処理ノードを含む少なくとも一つの処理ノードと、
前記少なくとも一つのプールドメモリノード及び前記少なくとも一つの処理ノードに各々連結するスイッチノードと、
一又は複数の上位スイッチノードを介して前記スイッチノードに接続され、前記第1のプールドメモリノードのメモリアドレス範囲を前記第1の処理ノードに割り当て、前記スイッチノードを介して前記メモリアドレス範囲に対応するメモリ容量を含むタスク情報を前記第1の処理ノードに転送し、前記メモリアドレス範囲を前記スイッチノードに転送するように構成されたマスターノードと、
を備え、
前記第1の処理ノードが、前記メモリ容量に基づいて仮想アドレス範囲を決定し、該仮想アドレス範囲に含まれる仮想アドレスに対する第1のメモリアクセス要請を前記スイッチノードに転送し、
前記スイッチノードが、前記第1のメモリアクセス要請に応じて、前記仮想アドレスを前記メモリアドレス範囲に含まれるメモリアドレスに変更し、該メモリアドレスに対する第2のメモリアクセス要請を前記第1のプールドメモリノードに転送するデータ処理システム。
【請求項2】
前記マスターノードが、前記スイッチノードに第1の処理ノードの識別情報をさらに転送し、
前記スイッチノードが、前記第1の処理ノードの前記識別情報と、前記第1のメモリアクセス要請に含まれた識別情報とを比較することで、前記第1のメモリアクセス要請を処理する請求項1に記載のデータ処理システム。
【請求項3】
前記マスターノードが、前記タスク情報を前記スイッチノードを介して前記第1の処理ノードに転送することで、タスク処理を前記第1の処理ノードに委任する請求項1に記載のデータ処理システム。
【請求項4】
記第1のプールドメモリノードが、前記第2のメモリアクセス要請に応じて、前記メモリアドレスに対してメモリアクセス動作を遂行する請求項に記載のデータ処理システム。
【請求項5】
前記スイッチノードが、前記仮想アドレス及び前記メモリアドレス間のマッピング情報を管理する請求項に記載のデータ処理システム。
【請求項6】
第1の処理ノードを含む少なくとも一つの処理ノードと、
前記少なくとも一つの処理ノードに各々連結し、プールドメモリを備えるスイッチノードと、
一又は複数の上位スイッチノードを介して前記スイッチノードに接続され、前記プールドメモリのメモリアドレス範囲を前記第1の処理ノードに割り当て、前記スイッチノードを介して前記メモリアドレス範囲に対応するメモリ容量を含むタスク情報を前記第1の処理ノードに転送し、前記メモリアドレス範囲を前記スイッチノードに転送するように構成されたマスターノードと、
を備え、
前記第1の処理ノードが、前記メモリ容量に基づいて仮想アドレス範囲を決定し、該仮想アドレス範囲に含まれる仮想アドレスに対するメモリアクセス要請を前記スイッチノードに転送し、
前記スイッチノードが、前記メモリアクセス要請に応じて、前記仮想アドレスを前記メモリアドレス範囲に含まれるメモリアドレスに変更し、該メモリアドレスに対してメモリアクセス動作を遂行するように前記プールドメモリを制御するデータ処理システム。
【請求項7】
前記マスターノードが、前記スイッチノードに第1の処理ノードの識別情報をさらに転送し、
前記スイッチノードが、前記第1の処理ノードの前記識別情報と、前記メモリアクセス要請に含まれた識別情報とを比較することで、前記メモリアクセス要請を処理する請求項に記載のデータ処理システム。
【請求項8】
前記マスターノードが、前記タスク情報を前記スイッチノードを介して前記第1の処理ノードに転送することで、タスク処理を前記第1の処理ノードに委任する請求項に記載のデータ処理システム。
【請求項9】
前記スイッチノードが、前記仮想アドレス及び前記メモリアドレス間のマッピング情報を管理する請求項に記載のデータ処理システム。
【請求項10】
第1のプールドメモリノードを含む少なくとも一つのプールドメモリノードと、
前記少なくとも一つのプールドメモリノードの各プールドメモリノードに各々連結した少なくとも一つの処理ノードと、
前記少なくとも一つのプールドメモリノード及び前記少なくとも一つの処理ノードに各々連結したスイッチノードと、
一又は複数の上位スイッチノードを介して前記スイッチノードに接続され、前記少なくとも一つの処理ノードの第1の処理ノードに前記第1のプールドメモリノードのメモリアドレス範囲を割り当て、前記スイッチノードを介して前記メモリアドレス範囲に対応するメモリ容量を含むタスク情報を前記第1の処理ノードに転送し、前記メモリアドレス範囲を前記スイッチノードを介して前記第1のプールドメモリノードに転送するように構成されたマスターノードと、
を備え、
前記第1の処理ノードが、前記メモリ容量に基づいて仮想アドレス範囲を決定し、該仮想アドレス範囲に含まれる仮想アドレスに対するメモリアクセス要請を前記第1のプールドメモリノードに転送し、
前記第1のプールドメモリノードが、前記メモリアクセス要請に応じて、前記仮想アドレスを前記メモリアドレス範囲に含まれるメモリアドレスに変更し、前記メモリアドレスに対してメモリアクセス動作を遂行するデータ処理システム。
【請求項11】
前記マスターノードが、前記第1のプールドメモリノードに第1の処理ノードの識別情報をさらに転送し、
前記第1のプールドメモリノードが、前記第1の処理ノードの前記識別情報と、前記メモリアクセス要請に含まれた識別情報とを比較することで、前記メモリアクセス要請を処理する請求項10に記載のデータ処理システム。
【請求項12】
前記マスターノードが、前記タスク情報を前記スイッチノードを介して前記第1の処理ノードに転送することで、タスク処理を前記第1の処理ノードに委任する請求項10に記載のデータ処理システム。
【請求項13】
前記第1のプールドメモリノードが、前記仮想アドレス及び前記メモリアドレス間のマッピング情報を管理する請求項10に記載のデータ処理システム。
【請求項14】
第1のプールドメモリノードを含む少なくとも一つのプールドメモリノードと、
前記少なくとも一つのプールドメモリノードの各プールドメモリノードに各々連結した少なくとも一つの処理ノードと、
前記少なくとも一つの処理ノードに各々連結したスイッチノードと、
一又は複数の上位スイッチノードを介して前記スイッチノードに接続されるように構成されたマスターノードと、
を備え
前記少なくとも一つの処理ノードの第1の処理ノードが、前記マスターノードの制御により、前記第1のプールドメモリノードにメモリ容量に対するメモリ割り当て要請を転送し、前記第1のプールドメモリノードから転送された割り当て成功の応答に応じて、前記マスターノードに割り当て結果を転送し、
該割り当て結果に応じて、前記マスターノードが、タスク処理を前記第1の処理ノードに委任するデータ処理システム。
【請求項15】
前記第1の処理ノードが、前記メモリ容量に基づいて仮想アドレス範囲を決定し、前記タスク処理のために前記仮想アドレス範囲に含まれる仮想アドレスに対するメモリアクセス要請を前記第1のプールドメモリノードに転送する請求項14に記載のデータ処理システム。
【請求項16】
前記第1のプールドメモリノードが、前記メモリ割り当て要請に応じて、前記メモリ容量に対応するメモリアドレス範囲を前記第1の処理ノードに割り当てる請求項14に記載のデータ処理システム。
【請求項17】
前記第1のプールドメモリノードが、前記メモリアドレス範囲に基づいて、前記第1の処理ノードが前記タスク処理のために転送したメモリアクセス要請を処理する請求項16に記載のデータ処理システム。
【請求項18】
前記第1のプールドメモリノードが、前記メモリアクセス要請に含まれた仮想アドレスを前記メモリアドレス範囲に含まれるメモリアドレスに変更し、前記メモリアドレスに対してメモリアクセス動作を遂行する請求項17に記載のデータ処理システム。
【請求項19】
前記第1のプールドメモリノードが、前記仮想アドレス及び前記メモリアドレス間のマッピング情報を管理する請求項18に記載のデータ処理システム。
【請求項20】
第2のプールドメモリノードと、
前記第2のプールドメモリノードの各第2のプールドメモリノードに各々連結した少なくとも一つの第2の処理ノードと、
前記少なくとも一つの第2の処理ノードに各々連結した第2のスイッチノードと、
を備え、
前記マスターノードが、前記第1の処理ノードが前記少なくとも一つのプールドメモリノードから前記メモリ容量が割り当てられない場合、前記第2のスイッチノードを介して前記少なくとも一つの第2の処理ノードから選択された処理ノードを制御することで、前記選択された処理ノードに前記タスク処理を委任する請求項14に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システムに関し、より詳しくは、プールドメモリ(Pooled Memory)を含むデータ処理システムに関する。
【背景技術】
【0002】
第4次産業革命の到来とともに、データ量が幾何級数的に増加している。これにより、データが処理できる多様な種類のサービスが導入されており、マシンラーニング(Machine Learning)のようなビックデータ基盤のアプリケーションが絶えず開発されている。
【0003】
このような傾向により、莫大なデータを格納して処理できるデータ処理システム、例えば、データセンターの重要性は時間が過ぎるほど増大する実情である。特に、データ処理システムの処理性能、すなわち、外部から要請されたタスクを処理して結果データを提供する速度を向上させるために、データ処理システムの多様な構造が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、処理ノードにタスク処理を委任しながらプールドメモリを割り当て、タスクを効率よく処理するデータ処理システムを提供することにある。
【課題を解決するための手段】
【0005】
本発明の実施例に係るデータ処理システムは、少なくとも一つのプールドメモリノード;少なくとも一つの処理ノード;前記少なくとも一つのプールドメモリノードと、前記少なくとも一つの処理ノードとに各々連結するスイッチノード;及び、前記スイッチノードを介して、タスク情報を前記少なくとも一つの処理ノードの第1の処理ノードに転送し、前記少なくとも一つのプールドメモリノードの第1のプールドメモリノードのメモリアドレス範囲を前記スイッチノードに転送するように構成されたマスターノードを含み、前記スイッチノードは、前記メモリアドレス範囲に基づいて、前記第1の処理ノードが前記タスク情報に基づいて転送した第1のメモリアクセス要請を前記第1のプールドメモリノードに対して処理できる。
【0006】
本発明の実施例に係るデータ処理システムは、少なくとも一つの処理ノード;前記少なくとも一つの処理ノードに各々連結し、プールドメモリを含むスイッチノード;及び、前記スイッチノードを介してタスク情報を前記少なくとも一つの処理ノードの第1の処理ノードに転送し、前記プールドメモリのメモリアドレス範囲を前記スイッチノードに転送するように構成されたマスターノードを含み、前記スイッチノードは、前記メモリアドレス範囲に基づいて、前記第1の処理ノードが転送したメモリアクセス要請を前記プールドメモリに対して処理できる。
【0007】
本発明の実施例に係るデータ処理システムは、少なくとも一つのプールドメモリノード;前記少なくとも一つのプールドメモリノードの各プールドメモリノードに各々連結した少なくとも一つの処理ノード;前記少なくとも一つのプールドメモリノード及び前記少なくとも一つの処理ノードに各々連結したスイッチノード;及び、前記スイッチノードを介して、前記少なくとも一つの処理ノード及び前記少なくとも一つのプールドメモリノードと通信可能であり、前記少なくとも一つの処理ノードの第1の処理ノードに前記少なくとも一つのプールドメモリノードの第1のプールドメモリノードのメモリアドレス範囲を割り当て、前記メモリアドレス範囲を前記スイッチノードを介して前記第1のプールドメモリノードに転送するように構成されたマスターノードを含み、前記第1のプールドメモリノードは、前記メモリアドレス範囲に基づいて、前記第1の処理ノードが転送したメモリアクセス要請を処理できる。
【0008】
本発明の実施例に係るデータ処理システムは、少なくとも一つのプールドメモリノード;前記少なくとも一つのプールドメモリノードの各プールドメモリノードに各々連結した少なくとも一つの処理ノード;前記少なくとも一つの処理ノードに各々連結したスイッチノード;及び、前記スイッチノードを介して、前記少なくとも一つの処理ノードと通信可能であり、前記少なくとも一つの処理ノードの第1の処理ノードがタスク処理のためのメモリ容量を、前記少なくとも一つのプールドメモリノードから直接割り当てられるように制御することで、前記第1の処理ノードに前記タスク処理を委任するように構成されたマスターノードを含むことができる。
【発明の効果】
【0009】
本発明の実施例に係るデータ処理システムは、処理ノードにタスク処理を委任しながらプールドメモリを割り当て、タスクを効率よく処理できる。
【図面の簡単な説明】
【0010】
図1】本発明の実施例に係るデータ処理システムを例示的に示すブロック図である。
図2】本発明の実施例に係るデータ処理システムを例示的に示すブロック図である。
図3a】本発明の実施例に係る図2のデータ処理システムの動作方法を示す図である。
図3b】本発明の実施例に係る図2のデータ処理システムの動作方法を示す図である。
図4】本発明の実施例に係るデータ処理システムを例示的に示すブロック図である。
図5】本発明の実施例に係るデータ処理システムを例示的に示すブロック図である。
図6a】本発明の実施例に係る図5のデータ処理システムの動作方法を示す図である。
図6b】本発明の実施例に係る図5のデータ処理システムの動作方法を示す図である。
図7】本発明の実施例に係るデータ処理システムを例示的に示すブロック図である。
図8a】本発明の実施例に係る図7のデータ処理システムの動作方法を示す図である。
図8b】本発明の実施例に係る図7のデータ処理システムの動作方法を示す図である。
図9】本発明の実施例に係る図7のデータ処理システムの動作方法を示す図である。
【発明を実施するための形態】
【0011】
本発明の利点や特徴、並びにそれらを達成する方法は、添付図面と共に詳細に後述する実施例を参照すれば明確になる。しかしながら、本発明は、以下で開示している実施例に限定されず、互い異なる多様な形態で具現可能である。但し、本実施例らは、本発明の属する技術の分野における通常の知識を有した者に、本発明の技術的思想が容易に実施できる程度に詳細に説明するために提供されるものである。
【0012】
図において、本発明の実施例は、図示の特定形態に制限されず、明確性を期するために誇張されたものである。本明細書において用いられる特定の用語は、本発明を説明するために用いられるだけで、意味限定や特許請求の範囲に記載された本発明の権利範囲を制限するために用いられるものではない。
【0013】
本明細書において、“及び/又は”という表現は、前後に羅列する構成要素の少なくとも一つを含む意味として用いられる。また、“連結する/結合される”という表現は、他の構成要素と直接的に連結したり、他の構成要素によって間接的に連結するのを含む意味として用いられる。本明細書において用いられる単数型は文句で特別に言及しない限り複数型も含む。また、明細書において用いられる“含む”として言及された構成要素、段階、動作及び素子は、一つ以上の他の構成要素、段階、動作及び素子の存在や追加を意味する。
【0014】
以下、添付図面に基づき、本発明の好適な実施例を詳細に説明する。
【0015】
図1は、本発明の実施例に係るデータ処理システム100を例示的に示すブロック図である。
【0016】
図1を参照すれば、データ処理システム100は、データが処理できる電子システムであって、データセンター、インターネットデータセンター、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルカメラ、ゲームコンソール、ナビゲーション、ヴァーチャルリアリティ装置及びウェアラブル装置などを備えることができる。
【0017】
データ処理システム100は、マスターノードMASTER、上位スイッチノードUSW及びサブシステムSUBSYSを備えることができる。
【0018】
マスターノードMASTERは、上位スイッチノードUSWを介してサブシステムSUBSYSと連結することができる。
【0019】
上位スイッチノードUSWは、複数のレイヤー構成、例えば、2段階のレイヤー構造で連結できる。なお、2段階のレイヤー構造に限定されず、3段階以上のレイヤー構造も可能である。第1のレイヤーLAYER1の上位スイッチノードUSWは、マスターノードMASTERと、第2のレイヤーLAYER2の上位スイッチノードUSWとを連結することができる。第2のレイヤーLAYER2の上位スイッチノードUSWの各々は、複数のサブシステムSUBSYSのうちで対応するサブシステムと連結することができる。
【0020】
マスターノードMASTERは、サブシステムSUBSYSが制御できる。マスターノードMASTERは、サブシステムSUBSYSに含まれたリソースRSSを管理して制御できる。マスターノードMASTERは、サブシステムSUBSYSのリソースRSSの現況が全部把握できる。したがって、マスターノードMASTERは、プールドメモリノードPDMの部分メモリ領域を処理ノードPUに割り当てることで、処理ノードにタスク処理を委任することができる。
【0021】
実施例により、マスターノードMASTERは、少なくとも一つのサブシステムSUBSYSから選択された少なくとも一つの処理ノードPUにタスク処理を委任することができる。マスターノードMASTERは、発生した一つのタスクを分割して複数の処理ノードPUに各々タスク処理を委任することができる。
【0022】
実施例により、リソースRSSの連結構造によって、プールドメモリノードPDMの部分メモリ領域をマスターノードMASTERが割り当てることなく、処理ノードPUが直接プールドメモリノードPDMに要請して割り当てられる。マスターノードMASTERは、処理ノードPUがプールドメモリノードPDMの部分メモリ領域の割り当てに成功するか否かによって該処理ノードにタスク処理を委任することができる。
【0023】
第1のレイヤーLAYER1及び第2のレイヤーLAYER2の上位スイッチノードUSWの各々は、マスターノードMASTERから転送された信号で住所を確認し、住所に対応するサブシステムSUBSYSに該信号が転送できる。
【0024】
サブシステムSUBSYSの各々は、スイッチノードSW、一つ以上の処理ノードPU及び一つ以上のプールドメモリノードPDMを備えることができる。サブシステムSUBSYSの各々はコンピューティングシステムであり得る。
【0025】
スイッチノードSWは、マスターノードMASTERと、サブシステムの他のリソース、すなわち、処理ノードPU及びプールドメモリノードPDMとの間で情報伝達動作及びアクセスコントロール動作が遂行できる。実施例により、スイッチノードSWは、データ処理システム100の連結構造によって一部の機能が制限できる。具体的に、スイッチノードSWは、プールドメモリノードPDMと連結しないことで、一部の機能が制限できる。
【0026】
処理ノードPUの各々は、マスターノードMASTERからタスク処理が委任され、タスクが処理できる。処理ノードPUの各々は、プールドメモリノードPDMの部分メモリ領域が割り当てられ、部分メモリ領域を用いてタスクが処理できる。部分メモリ領域の割り当ては、マスターノードMASTERにより遂行したり、タスク処理が委任された処理ノードにより遂行したりする。
【0027】
処理ノードPUは、中央処理装置、グラフィック処理装置、マイクロプロセッサ、アプリケーションプロセッサ、加速処理装置(Accelerated Processing Unit)及び/又は運営体制などを備えることができる。
【0028】
プールドメモリノードPDMは、一種の共有メモリとしてタスク処理中である処理ノードPUにより用いられる。すなわち、プールドメモリノードPDMは何れか一つの処理ノードのみによって専属或いは独占しない。実施例により、あるサブシステムに含まれたプールドメモリノードPDMは、他のサブシステムの処理ノードによっても用いられる。
【0029】
プールドメモリノードPDMは、PCMCIA(Personal Computer Memory Card International Association)カード、CF(Compact Flash)カード、スマートメディアカード、メモリスティック、多様なマルチメディアカード(MMC、eMMC、RS-MMC、MMC-micro)、SD(Secure Digital)カード(SD、Mini-SD、Micro-SD)、UFS(Universal Flash Storage)又はSSD(Solid State Drive)などのメモリシステムを備えることができる。
【0030】
実施例により、プールドメモリノードPDMは、ナンドフラッシュ(NAND Flash)又はノアフラッシュ(NOR Flash)のようなフラッシュメモリ装置、FeRAM(Ferroelectrics Random Access Memory)、PCRAM(Phase-Change Random Access Memory)、MRAM(Magnetic Random Access Memory)又はReRAM(Resistive Random Access Memory)などのような非揮発性メモリ装置を備えることができる。
【0031】
実施例により、プールドメモリノードPDMは、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などのような揮発性メモリ装置を備えることができる。
【0032】
実施例により、サブシステムSUBSYSは、大容量ストレージをさらに備えることができる。
【0033】
実施例により、サブシステムSUBSYSの各々は、サーバラックに対応できる。そして、リソースRSSは、サーバラックの棚に各々設置されるサーバであってもい。
【0034】
実施例により、データ処理システム100のノードは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの結合で構成できる。
【0035】
以下では、本発明の実施例に係るデータ処理システム100の多様な構造及び動作方法を詳細に説明する。
【0036】
図2は、本発明の実施例に係るデータ処理システム10を例示的に示すブロック図である。
【0037】
図2を参照すれば、データ処理システム10は、マスターノードMASTER1と、サブシステムSUBSYS1とを備えることができる。
【0038】
マスターノードMASTER1は、サブシステムSUBSYS1と連結することができる。図示していないが、データ処理システム10は、マスターノードMASTER1及びスイッチノードSWITCH1間に一つ以上の上位スイッチノードをさらに備えることができる。スイッチノードSWITCH1がマスターノードMASTER1から転送された情報は、不図示の上位スイッチノードを介して転送されたものであり得る。また、図示していないが、データ処理システム10は、複数のサブシステムSUBSYS1をさらに備えることができる。また、図示していないが、サブシステムSUBSYS1は、複数のプールドメモリノードをさらに備えることができる。このような省略は以下のすべての実施例に対して同様である。
【0039】
サブシステムSUBSYS1は、スイッチノードSWITCH1、一つ以上の処理ノードPU1及びプールドメモリノードPDM1を備えることができる。
【0040】
スイッチノードSWITCH1は、マスターノードMASTER1と連結することができる。スイッチノードSWITCH1は、マスターノードMASTER1と一つ以上の上位スイッチノードを介して連結することができる。また、スイッチノードSWITCH1は、処理ノードPU1及びプールドメモリノードPDM1に各々連結することができる。
【0041】
処理ノードPU1は、スイッチノードSWITCH1を介してプールドメモリノードPDM1と連結することができる。
【0042】
マスターノードMASTER1は、タスク発生時、処理ノードPU1及びプールドメモリノードPDM1に対してタスク委任動作が遂行できる。具体的に、マスターノードMASTER1は、処理ノードPU1の何れか一つ、例えば、処理ノード11にタスク処理を委任することに決定できる。そして、マスターノードMASTER1は、プールドメモリノードPDM1で処理ノード11に割り当てるメモリアドレス範囲が決定できる。すなわち、マスターノードMASTER1は、プールドメモリノードPDM1の全体メモリ領域で処理ノード11に割り当てる部分メモリ領域が決定できる。マスターノードMASTER1は、すべてのリソースの現況を管理するため、タスク処理を委任する処理ノード11及び処理ノード11に割り当てるメモリアドレス範囲が決定できる。
【0043】
マスターノードMASTER1は、スイッチノードSWITCH1に処理ノード11及びプールドメモリノードPDM1についての割り当て情報が転送できる。割り当て情報は、処理ノード11の識別情報及びプールドメモリノードPDM1で処理ノード11に割り当てられた部分メモリ領域のメモリアドレス範囲を含むことができる。
【0044】
マスターノードMASTER1は、タスク処理を委任する処理ノード11にタスク情報が転送できる。タスク情報は、プールドメモリノードPDM1で処理ノード11に割り当てられたメモリアドレス範囲に対応するメモリ容量を含むことができる。すなわち、タスク情報は、プールドメモリノードPDM1の全体メモリ領域の処理ノード11に割り当てられた部分メモリ領域のメモリ容量を含むことができる。また、タスク情報は、処理ノード11に委任されたタスク内容を含むことができる。なお、マスターノードMASTER1が処理ノード11にタスク情報を転送することは、後述するようにスイッチノードSWITCH1の情報伝達動作により処理され得る。
【0045】
一方、タスク情報は、プールドメモリノードPDM1で処理ノード11に割り当てられたメモリアドレス範囲を含まないことがある。すなわち、マスターノードMASTER1は、プールドメモリノードPDM1のメモリアドレス範囲の代わりに、メモリアドレス範囲に対応するメモリ容量を処理ノード11に通知することで、処理ノード11が、後述するように、メモリ容量による仮想アドレス範囲を使用するようにできる。
【0046】
スイッチノードSWITCH1は、マスターノードMASTER1と、処理ノードPU1及びプールドメモリノードPDM1との間で情報伝達動作が遂行できる。具体的に、マスターノードMASTER1が処理ノード11にタスク情報を転送する時、スイッチノードSWITCH1は情報伝達動作によってマスターノードMASTER1から転送されたタスク情報を処理ノード11に転送できる。
【0047】
また、スイッチノードSWITCH1は、処理ノード11がタスク処理動作を遂行する時、処理ノード11から転送された第1のメモリアクセス要請が処理できる。
【0048】
具体的に、スイッチノードSWITCH1は、処理ノード11がタスク処理動作を遂行する時、処理ノード11から転送された第1のメモリアクセス要請に応じて処理ノード11についての割り当て情報が確認できる。スイッチノードSWITCH1は、割り当て情報から処理ノード11の識別情報を確認し、第1のメモリアクセス要請に含まれた処理ノード11の識別情報と比較できる。
【0049】
また、スイッチノードSWITCH1は、割り当て情報から処理ノード11に割り当てられたプールドメモリノードPDM1のメモリアドレス範囲が確認できる。スイッチノードSWITCH1は、第1のメモリアクセス要請に含まれた仮想アドレスを割り当て情報のメモリアドレス範囲に含まれたメモリアドレスに変換できる。スイッチノードSWITCH1は、仮想アドレス及びメモリアドレス間のマッピング情報が管理できる。そして、スイッチノードSWITCH1は、変換されたメモリアドレスに対する第2のメモリアクセス要請をプールドメモリノードPDM1に転送できる。
【0050】
処理ノード11は、タスク処理動作を遂行することで、マスターノードMASTER1から委任されたタスクが処理できる。処理ノード11は、タスク処理動作を遂行するために、マスターノードMASTER1から転送されたタスク情報が確認できる。処理ノード11は、タスク情報を確認して、所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、タスク情報に含まれた割り当てのメモリ容量に対応できる。
【0051】
処理ノード11は、スイッチノードSWITCH1に第1のメモリアクセス要請が転送できる。第1のメモリアクセス要請は仮想アドレスを含むことができる。仮想アドレスは、処理ノード11がタスク処理に使用することに決定した仮想アドレス範囲に含まれる。仮想アドレスは、スイッチノードSWITCH1によりプールドメモリノードPDM1のメモリアドレスに変換されるはずである。
【0052】
プールドメモリノードPDM1は、スイッチノードSWITCH1から第2のメモリアクセス要請を受信し、第2のメモリアクセス要請に含まれたメモリアドレスに対してメモリアクセス動作が遂行できる。
【0053】
図3a及び図3bは、本発明の実施例に係る図2のデータ処理システム10の動作方法を示す図である。図3aにおいて、マスターノードMASTER1はタスク委任動作を遂行し、図3bにおいて、処理ノード11はタスク処理動作が遂行できる。
【0054】
図3aを参照すれば、段階S11において、マスターノードMASTER1は、処理ノード11にタスク処理を委任することに決定できる。そして、マスターノードMASTER1は、プールドメモリノードPDM1から処理ノード11に割り当てるメモリアドレス範囲が決定できる。すなわち、マスターノードMASTER1は、プールドメモリノードPDM1の全体メモリ領域MRで処理ノード11に割り当てる部分メモリ領域PMRが決定できる。
【0055】
段階S12において、マスターノードMASTER1は、スイッチノードSWITCH1に処理ノード11及びプールドメモリノードPDM1についての割り当て情報ASS1が転送できる。割り当て情報ASS1は、処理ノード11の識別情報及び部分メモリ領域PMPのメモリアドレス範囲を含むことができる。スイッチノードSWITCH1は、内部メモリに割り当て情報ASS1が格納できる。
【0056】
段階S13において、マスターノードMASTER1は、処理ノード11にタスク情報T1が転送できる。タスク情報T1は、処理ノード11に割り当てられた部分メモリ領域PMRのメモリ容量及び処理ノード11に委任されたタスク内容を含むことができる。処理ノード11は内部メモリにタスク情報T1が格納できる。なお、スイッチノードSWITCH1は、情報伝達動作によってマスターノードMASTER1から転送されたタスク情報T1を処理ノード11に転送できる。
【0057】
一方、段階S12の後に段階S13を遂行したり、その反対であり得る。
【0058】
図3bを参照すれば、段階S14において、処理ノード11は、タスク処理動作を遂行するためにタスク情報T1が確認できる。処理ノード11は、タスク情報T1を確認して、所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、タスク情報T1に含まれた部分メモリ領域PMRのメモリ容量に対応できる。
【0059】
段階S15において、処理ノード11は、スイッチノードSWITCH1に第1のメモリアクセス要請が転送できる。第1のメモリアクセス要請は仮想アドレスVA1を含むことができる。仮想アドレスVA1は、タスク処理に使用することに決定した仮想アドレス範囲に含まれる。
【0060】
段階S16において、スイッチノードSWITCH1は、処理ノード11から転送された第1のメモリアクセス要請に応じて、処理ノード11についての割り当て情報ASS1が確認できる。スイッチノードSWITCH1は、割り当て情報ASS1で処理ノード11の識別情報を確認し、第1のメモリアクセス要請に含まれた処理ノード11の識別情報と比較できる。また、スイッチノードSWITCH1は、割り当て情報ASS1で処理ノード11に割り当てられた部分メモリ領域PMRのメモリアドレス範囲が確認できる。
【0061】
段階S17において、スイッチノードSWITCH1は、第1のメモリアクセス要請に含まれた仮想アドレスVA1を割り当て情報ASS1のメモリアドレス範囲に含まれたメモリアドレスMA1に変換しながら、仮想アドレスVA1及びメモリアドレスMA1間のマッピング情報が管理できる。スイッチノードSWITCH1は、仮想アドレスVA1及びメモリアドレスMA1をマッピングしたことをマッピング情報MAP1として記憶できる。
【0062】
段階S18において、スイッチノードSWITCH1は、メモリアドレスMA1に対する第2のメモリアクセス要請をプールドメモリノードPDM1に転送できる。
【0063】
段階S19において、プールドメモリノードPDM1は、スイッチノードSWITCH1から転送された第2のメモリアクセス要請を受信し、部分メモリ領域PMRのメモリアドレスMA1に対してメモリアクセス動作が遂行できる。
【0064】
要約すれば、本発明の実施例に係る図2のデータ処理システム10は、マスターノードMASTER1が処理ノード11及びプールドメモリノードPDM1を含むすべての資源を管理するので、タスク処理に資源を効率よく割り当てることができる。
【0065】
また、プールドメモリノードPDM1は、処理ノードPU1と独立的にスイッチノードSWITCH1に連結するので、サブシステムSUBSYS1は複数のプールドメモリノードを含むように容易に拡張できる。すなわち、図2のサブシステムSUBSYS1は、一つのプールドメモリノードPDM1がスイッチノードSWITCH1に連結するが、本発明の実施例により二つ以上のプールドメモリノードが処理ノードPU1に独立的にスイッチノードSWITCH1に各々連結できる。その場合、タスク委任動作及びタスク処理動作の遂行方法は、前述した動作と実質的に類似している。
【0066】
一方、スイッチノードSWITCH1が複数のプールドメモリノードに各々連結する時、マスターノードMASTER1は、プールドメモリノードのうち、どのプールドメモリノードを処理ノード11に割り当てるかを決定する。したがって、マスターノードMASTER1からスイッチノードSWITCH1に転送される割り当て情報ASS1は、複数のプールドメモリノードのうち、処理ノード11に割り当てられたプールドメモリノードについての情報を含むことができる。スイッチノードSWITCH1は、割り当て情報ASS1に基づいて、複数のプールドメモリノードのうち、メモリアクセス要請を転送するプールドメモリノードが選択できる。
【0067】
図4は、本発明の実施例に係るデータ処理システム20を例示的に示すブロック図である。
【0068】
図4を参照すれば、データ処理システム20は、マスターノードMASTER2及びサブシステムSUBSYS2を含むことができる。マスターノードMASTER2は、サブシステムSUBSYS2と連結することができる。サブシステムSUBSYS2は、スイッチノードSWITCH2及び複数の処理ノードPU2を含むことができる。図2の実施例におけるプールドメモリノードPDM1は、スイッチノードSWITCH1と物理的に独立された構造であるのに対し、図4の実施例におけるスイッチノードSWITCH2は、図2のプールドメモリノードPDM1の役割をするプールドメモリPDM2を含むことができる。
【0069】
スイッチノードSWITCH2がプールドメモリを含む場合にも、マスターノードMASTER2は、タスク委任動作を図2のマスターノードMASTER1が遂行すると同様に遂行できる。
【0070】
具体的に、マスターノードMASTER2は、処理ノード21にタスク処理を委任するために、プールドメモリPDM2のメモリアドレス範囲を処理ノード21に割り当て、メモリアドレス範囲及び処理ノード21の識別情報を含む割り当て情報をスイッチノードSWITCH2に転送できる。そして、マスターノードMASTER2は、メモリアドレス範囲に対応するメモリ容量を含むタスク情報をスイッチノードSWITCH2を介して処理ノード21に転送できる。
【0071】
処理ノードPU2は、タスク処理動作を図2の処理ノード11が遂行すると同様に遂行できる。
【0072】
具体的に、タスク処理が委任された処理ノード21は、タスク情報に含まれたメモリ容量に基づいて仮想アドレス範囲を決定し、仮想アドレス範囲に含まれる仮想アドレスに対してメモリアクセス要請をスイッチノードSWITCH2に転送できる。
【0073】
スイッチノードSWITCH2は、図2のスイッチノードSWITCH1と類似しているように動作できる。具体的に、スイッチノードSWITCH2は、マスターノードMASTER2から転送された識別情報と、処理ノード21から受信したメモリアクセス要請に含まれた識別情報とを比較することで、メモリアクセス要請が処理できる。また、スイッチノードSWITCH2は、メモリアクセス要請に含まれた仮想アドレスをマスターノードMASTER2から転送されたメモリアドレス範囲のメモリアドレスに変更できる。スイッチノードSWITCH2は、仮想アドレス及びメモリアドレス間のマッピング情報が管理できる。
【0074】
一方、スイッチノードSWITCH2がメモリアクセス要請を処理する際、図2のデータ処理システム10と比較してレイテンシ(latency)が減少できる。
【0075】
具体的に、図2のスイッチノードSWITCH1がプールドメモリノードPDM1と物理的に区分されてケーブルを介して連結する時、スイッチノードSWITCH1は、プールドメモリノードPDM1にメモリアクセス要請をパケット化(packetizing)することにより転送できる。しかしながら、図4のスイッチノードSWITCH2は、メモリアクセス要請をプールドメモリPDM2のメモリインターフェース、例えば、DIMM(Dual In-line Memory Module)インターフェースを通して処理して、プールドメモリPDM2がメモリアクセス動作を遂行するように制御できる。このように、スイッチノードSWITCH2がメモリインターフェースを通して内部のプールドメモリPDM2を制御する時、図2のスイッチノードSWITCH1のようにパケット化が不要になるため、パケット化によるレイテンシが除去できる。
【0076】
以外に、図4のデータ処理システム20の構成及び動作方法は、図2のデータ処理システム10の構成及び動作方法と類似しているので、詳細な説明は省略し得る。
【0077】
図5は、本発明の実施例に係るデータ処理システム30を例示的に示すブロック図である。
【0078】
図5を参照すれば、データ処理システム30は、マスターノードMASTER3及びサブシステムSUBSYS3を備えることができる。
【0079】
マスターノードMASTER3は、サブシステムSUBSYS3と連結することができる。
【0080】
サブシステムSUBSYS3は、スイッチノードSWITCH3、一つ以上の処理ノードPU3、及びプールドメモリノードPDM3を備えることができる。
【0081】
スイッチノードSWITCH3は、マスターノードMASTER3と連結することができる。スイッチノードSWITCH3は、マスターノードMASTER3と一つ以上の上位スイッチノードを介して連結することができる。また、スイッチノードSWITCH3は、処理ノードPU3及びプールドメモリノードPDM3に各々連結することができる。
【0082】
処理ノードPU3は、プールドメモリノードPDM3と直接的に連結することができる。
【0083】
マスターノードMASTER3は、タスク発生時、処理ノードPU3及びプールドメモリノードPDM3に対してタスク委任動作が遂行できる。具体的に、マスターノードMASTER3は、処理ノードPU3の何れか一つ、例えば、処理ノード31にタスク処理を委任することに決定できる。そして、マスターノードMASTER3は、プールドメモリノードPDM3で処理ノード31に割り当てるメモリアドレス範囲が決定できる。すなわち、マスターノードMASTER3は、プールドメモリノードPDM3のメモリ領域で処理ノード31に割り当てる部分メモリ領域が決定できる。マスターノードMASTER3は、すべてのリソースの現況を管理するため、タスク処理を委任する処理ノード31及び処理ノード31に割り当てるメモリアドレス範囲が決定できる。
【0084】
マスターノードMASTER3は、プールドメモリノードPDM3に処理ノード31及びプールドメモリノードPDM3についての割り当て情報が転送できる。割り当て情報は、処理ノード31の識別情報及びプールドメモリノードPDM3から処理ノード31に割り当てられた部分メモリ領域のメモリアドレス範囲を含むことができる。マスターノードMASTER3がプールドメモリノードPDM3に割り当て情報を転送することは、スイッチノードSWITCH3の情報伝達動作により処理できる。
【0085】
すなわち、マスターノードMASTER3は、図1のマスターノードMASTER1がスイッチノードSWITCH1に割り当て情報を転送した場合と異なり、プールドメモリノードPDM3に割り当て情報が転送できる。これは、後述するように、処理ノードPU3が直接的に連結したプールドメモリノードPDM3にメモリアクセス要請を直ぐ転送するためである。プールドメモリノードPDM3は、マスターノードMASTER3から転送された割り当て情報に基づいて、処理ノードPU3から直接的に受信したメモリアクセス要請が処理できる。
【0086】
マスターノードMASTER3は、タスク処理を委任する処理ノード31にタスク情報が転送できる。タスク情報は、プールドメモリノードPDM3で処理ノード31に割り当てられた部分メモリ容量及び処理ノード31に委任されたタスク内容を含むことができる。マスターノードMASTER3が処理ノード31にタスク情報を転送することは、スイッチノードSWITCH3の情報伝達動作により処理され得る。
【0087】
スイッチノードSWITCH3は、マスターノードMASTER3と、処理ノードPU3及びプールドメモリノードPDM3との間で情報伝達動作が遂行できる。具体的に、マスターノードMASTER3がプールドメモリノードPDM3に割り当て情報を転送する時、スイッチノードSWITCH3は情報伝達動作によってマスターノードMASTER3から転送された割り当て情報をプールドメモリノードPDM3に転送できる。また、マスターノードMASTER3が処理ノード31にタスク情報を転送する時、スイッチノードSWITCH3は情報伝達動作によってマスターノードMASTER3から転送されたタスク情報を処理ノード31に転送できる。
【0088】
処理ノード31は、タスク処理動作を遂行することで、マスターノードMASTER3から委任されたタスクが処理できる。処理ノード31は、タスク処理動作を遂行するために、マスターノードMASTER3から転送されたタスク情報が確認できる。処理ノード31は、タスク情報を確認して、所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、タスク情報に含まれた割り当てのメモリ容量に対応できる。
【0089】
処理ノード31は、プールドメモリノードPDM3にメモリアクセス要請が転送できる。メモリアクセス要請は仮想アドレスを含むことができる。仮想アドレスは、処理ノード31がタスク処理に使用することに決定した仮想アドレス範囲に含まれる。
【0090】
プールドメモリノードPDM3は、処理ノード31から転送されたメモリアクセス要請に応じて、処理ノード31についての割り当て情報が確認できる。プールドメモリノードPDM3は、割り当て情報で処理ノード31の識別情報を確認し、メモリアクセス要請に含まれた処理ノード31の識別情報と比較できる。
【0091】
また、プールドメモリノードPDM3は、割り当て情報で処理ノード31に割り当てられたプールドメモリノードPDM3のメモリアドレス範囲が確認できる。プールドメモリノードPDM3は、メモリアクセス要請に含まれた仮想アドレスを割り当て情報のメモリアドレス範囲に含まれたメモリアドレスに変換できる。プールドメモリノードPDM3は、仮想アドレス及びメモリアドレス間のマッピング情報が管理できる。
【0092】
プールドメモリノードPDM3は、メモリアドレスに対してメモリアクセス動作が遂行できる。すなわち、プールドメモリノードPDM3は、処理ノードPU3と直接的に連結するので、処理ノードPU3からメモリアクセス要請を直接的に受信して、メモリアクセス許容可否を自ら判断できる。
【0093】
実施例により、サブシステムSUBSYS3は、複数のプールドメモリノードを含むことができる。各プールドメモリノードは、スイッチノードSWITCH3に連結し、処理ノードPU3に各々連結できる。すなわち、処理ノードPU3の各々は、複数のプールドメモリノードに直接連結できる。この場合、マスターノードMASTER3は、プールドメモリノードのうち、どのプールドメモリノードを処理ノード31に割り当てるかを決定するはずである。したがって、マスターノードMASTER3から処理ノード31に転送されるタスク情報T3は、複数のプールドメモリノードのうち、処理ノード31に割り当てられたプールドメモリノードについての情報を含むことができる。すなわち、割り当てられたプールドメモリノードについての情報が、図2のデータ処理システム10ではスイッチノードSWITCH1に転送されるのに対し、図5のデータ処理システム30では処理ノード31に転送される。これは、図5のデータ処理システム30の処理ノード31は、スイッチノードSWITCH3を通さないで、プールドメモリノードに直接メモリアクセス要請が転送できるためである。すなわち、処理ノード31は、タスク情報T3に基づいて、複数のプールドメモリノードのうち、メモリアクセス要請を転送するプールドメモリノードが選択できる。
【0094】
図6a及び図6bは、本発明の実施例に係る図5のデータ処理システム30の動作方法を示す図である。図6aにおいて、マスターノードMASTER3はタスク委任動作を遂行し、図6bにおいて、処理ノード31はタスク処理動作が遂行できる。
【0095】
図6aを参照すれば、段階S31において、マスターノードMASTER3は処理ノード31にタスク処理を委任することに決定できる。そして、マスターノードMASTER3は、プールドメモリノードPDM3から処理ノード31に割り当てるメモリアドレス範囲が決定できる。すなわち、マスターノードMASTER3は、プールドメモリノードPDM3の全体メモリ領域MRで処理ノード31に割り当てる部分メモリ領域PMRが決定できる。
【0096】
段階S32において、マスターノードMASTER3は、プールドメモリノードPDM3に処理ノード31及びプールドメモリノードPDM3についての割り当て情報ASS3が転送できる。割り当て情報ASS3は、処理ノード31の識別情報及び部分メモリ領域PMPのメモリアドレス範囲を含むことができる。プールドメモリノードPDM3は、内部メモリに割り当て情報ASS3が格納できる。なお、スイッチノードSWITCH3は、情報伝達動作によってマスターノードMASTER3から転送された割り当て情報ASS3をプールドメモリノードPDM3に転送できる。
【0097】
段階S33において、マスターノードMASTER3は、処理ノード31にタスク情報T3が転送できる。タスク情報T3は、処理ノード31に割り当てられた部分メモリ領域PMRのメモリ容量及び処理ノード31に委任されたタスク内容を含むことができる。処理ノード31は内部メモリにタスク情報T3が格納できる。なお、スイッチノードSWITCH3は、情報伝達動作によってマスターノードMASTER3から転送されたタスク情報T3を処理ノード31に転送できる。
【0098】
一方、段階S32の後に段階S33を遂行したり、その反対であり得る。
【0099】
図6bを参照すれば、段階S34において、処理ノード31は、タスク処理動作を遂行するためにタスク情報T3が確認できる。処理ノード31は、タスク情報T3を確認して、所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、タスク情報T3に含まれた部分メモリ領域PMRのメモリ容量に対応できる。
【0100】
段階S35において、処理ノード31は、プールドメモリノードPDM3にメモリアクセス要請が転送できる。メモリアクセス要請は仮想アドレスVA3を含むことができる。仮想アドレスVA3は、タスク処理に使用することに決定した仮想アドレス範囲に含まれる。
【0101】
段階S36において、プールドメモリノードPDM3は、処理ノード31から転送されたメモリアクセス要請に応じて、処理ノード31についての割り当て情報ASS3が確認できる。プールドメモリノードPDM3は、割り当て情報ASS3から処理ノード31の識別情報を確認し、メモリアクセス要請に含まれた処理ノード31の識別情報と比較できる。また、プールドメモリノードPDM3は、割り当て情報ASS3から処理ノード31に割り当てられた部分メモリ領域PMRのメモリアドレス範囲が確認できる。
【0102】
段階S37において、プールドメモリノードPDM3は、メモリアクセス要請に含まれた仮想アドレスVA3を割り当て情報ASS3のメモリアドレス範囲に含まれたメモリアドレスMA3に変換しながら、仮想アドレスVA3及びメモリアドレスMA3間のマッピング情報が管理できる。プールドメモリノードPDM3は、仮想アドレスVA3及びメモリアドレスMA3をマッピングしたことをマッピング情報MAP3として記憶できる。
【0103】
段階S38において、プールドメモリノードPDM3は、部分メモリ領域PMRのメモリアドレスMA3に対してメモリアクセス動作が遂行できる。
【0104】
要約すれば、本発明の実施例に係る図5のデータ処理システム30は、マスターノードMASTER3が処理ノード31及びプールドメモリノードPDM3を含むすべての資源を管理するので、タスク処理に資源を効率よく割り当てることができる。
【0105】
また、プールドメモリノードPDM3は、処理ノードPU3に直接的に連結するので、スイッチサーバーを通さないで、処理ノードから直ぐメモリアクセス要請が転送され得る。したがって、ボトルネックの現象が抑制され、タスク処理がより速く遂行できる。
【0106】
図7は、本発明の実施例に係るデータ処理システム40を例示的に示すブロック図である。
【0107】
図7を参照すれば、データ処理システム40は、マスターノードMASTER4及びサブシステムSUBSYS4を備えることができる。
【0108】
マスターノードMASTER4は、サブシステムSUBSYS4と連結することができる。
【0109】
サブシステムSUBSYS4は、スイッチノードSWITCH4、一つ以上の処理ノードPU4及びプールドメモリノードPDM4を備えることができる。
【0110】
スイッチノードSWITCH4は、マスターノードMASTER4と連結することができる。スイッチノードSWITCH4は、マスターノードMASTER4と一つ以上の上位スイッチノードを介して連結することもできる。また、スイッチノードSWITCH4は、処理ノードPU4に各々連結することができる。
【0111】
処理ノードPU4は、プールドメモリノードPDM4と直接的に連結することができる。
【0112】
プールドメモリノードPDM4は、処理ノードPU4と直接的に各々連結することができる。プールドメモリノードPDM4は、図5のプールドメモリノードPDM3がスイッチノードSWITCH3と連結した場合と異なり、スイッチノードSWITCH4と連結しないこともある。
【0113】
マスターノードMASTER4は、タスク発生時、処理ノードPU4に対してタスク委任動作が遂行できる。具体的に、マスターノードMASTER4は、処理ノードPU4の何れか一つ、例えば、処理ノード41にタスク処理を委任することに決定できる。マスターノードMASTER4は、処理ノード41にメモリ確認要請が転送できる。メモリ確認要請は、処理ノード41がタスク処理のために割り当てられるメモリ容量についての情報を含むことができる。
【0114】
マスターノードMASTER4は、メモリ確認要請に対して処理ノード41から割り当て結果が受信できる。割り当て結果は、プールドメモリノードPDM4に対して割り当てが成功したか否かを含むことができる。マスターノードMASTER4は、処理ノード41から割り当て成功の割り当て結果を受信すれば、処理ノード41にタスク情報が転送できる。タスク情報は、処理ノード41に委任されたタスク内容を含むことができる。
【0115】
しかしながら、マスターノードMASTER4は、処理ノード41から割り当て失敗の割り当て結果を受信すれば、他のサブシステム(図示せず)の処理ノードにタスク処理を委任するために、該処理ノードにメモリ確認要請が転送できる。
【0116】
すなわち、マスターノードMASTER4は、図2図4及び図5のマスターノード10、20、30のように、プールドメモリノードPDM4及びスイッチノードSWITCH4を介して連結しないので、プールドメモリノードPDM4の現況を認知しないことがある。したがって、マスターノードMASTER4は、処理ノード41にプールドメモリノードPDM4のメモリアドレス範囲を直接割り当てないことがある。
【0117】
スイッチノードSWITCH4は、マスターノードMASTER4及び処理ノードPU4間で情報伝達動作が遂行できる。具体的に、マスターノードMASTER4が処理ノード41にメモリ確認要請又はタスク情報を転送する時、スイッチノードSWITCH4は、情報伝達動作によってマスターノードMASTER4から転送されたメモリ確認要請又はタスク情報を処理ノード41に転送できる。処理ノード41がマスターノードMASTER4に割り当て結果を転送する時、スイッチノードSWITCH4は、情報伝達動作によって処理ノード41から転送された割り当て結果をマスターノードMASTER4に転送できる。
【0118】
処理ノード41は、マスターノードMASTER4から転送されたメモリ確認要請に応じて、プールドメモリノードPDM4に割り当て要請が転送できる。割り当て要請は、処理ノード41に割り当てられるメモリ容量についての情報を含むことができる。処理ノード41は、プールドメモリノードPDM4から転送された割り当て成功/失敗の応答に応じて、マスターノードMASTER4に割り当て成功/失敗を通知する割り当て結果が転送できる。
【0119】
そして、処理ノード41は、タスク処理動作を遂行することで、マスターノードMASTER4から委任されたタスクが処理できる。処理ノード41は、タスク処理動作を遂行するために、マスターノードMASTER4から転送されたタスク情報が確認できる。タスク情報は、処理ノード41に委任されたタスク内容を含むことができる。処理ノード41は、プールドメモリノードPDM4から割り当てられたメモリ容量をタスク情報として共に管理できる。
【0120】
処理ノード41は、所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、処理ノード41に割り当てられたメモリ容量に対応できる。
【0121】
処理ノード41は、プールドメモリノードPDM4にメモリアクセス要請が転送できる。メモリアクセス要請は仮想アドレスを含むことができる。仮想アドレスは、処理ノード41がタスク処理に使用することに決定した仮想アドレス範囲に含まれる。
【0122】
プールドメモリノードPDM4は、処理ノード41から転送された割り当て要請に応じて、メモリ領域のうちで部分メモリ領域を処理ノード41に割り当て、割り当て情報が生成できる。割り当て情報は、処理ノード41の識別情報及び部分メモリ領域のメモリアドレス範囲を含むことができる。プールドメモリノードPDM4は、処理ノード41に割り当て成功の応答が転送できる。
【0123】
一方、プールドメモリノードPDM4は、処理ノード41から割り当て要請を受信した時、処理ノードに割り当て可能なメモリ領域が存在しない場合、処理ノード41に割り当て失敗の応答が転送できる。
【0124】
プールドメモリノードPDM4は、処理ノード41から転送されたメモリアクセス要請に応じて、処理ノード41についての割り当て情報が確認できる。プールドメモリノードPDM4は、割り当て情報から処理ノード41の識別情報を確認し、メモリアクセス要請に含まれた処理ノード41の識別情報と比較できる。
【0125】
また、プールドメモリノードPDM4は、割り当て情報から処理ノード41に割り当てられたプールドメモリノードPDM4のメモリアドレス範囲が確認できる。プールドメモリノードPDM4は、メモリアクセス要請に含まれた仮想アドレスを割り当て情報のメモリアドレス範囲に含まれたメモリアドレスに変換できる。プールドメモリノードPDM4は、仮想アドレス及びメモリアドレス間のマッピング情報が管理できる。
【0126】
プールドメモリノードPDM4は、メモリアドレスに対してメモリアクセス動作が遂行できる。すなわち、プールドメモリノードPDM4は、処理ノードPU4と直接的に連結するので、処理ノードPU4からメモリアクセス要請を直接的に受信して、メモリアクセス許容可否が自ら判断できる。
【0127】
実施例により、サブシステムSUBSYS4は、複数のプールドメモリノードを備えることができる。各プールドメモリノードは、処理ノードPU4に各々連結することができる。すなわち、処理ノードPU4の各々は、複数のプールドメモリノードに直接連結することができる。すなわち、処理ノードPU4の各々は複数のプールドメモリノードに直接連結することができる。各プールドメモリノードは、スイッチノードSWITCH4とは直接的に連結しないことがある。
【0128】
図8a及び図8bは、本発明の実施例に係る図7のデータ処理システム40の動作方法を示す図である。図8aにおいて、マスターノードMASTER4はタスク委任動作を遂行し、図8bにおいて、処理ノード41はタスク処理動作が遂行できる。
【0129】
図8aを参照すれば、段階S41において、マスターノードMASTER4は処理ノード41にメモリ確認要請が転送できる。メモリ確認要請は、処理ノード41が割り当てられるメモリ容量についての情報を含むことができる。なお、スイッチノードSWITCH4は、情報伝達動作によってマスターノードMASTER4から転送されたメモリ確認要請を処理ノード41に転送できる。
【0130】
段階S42において、処理ノード41は、マスターノードMASTER4から転送されたメモリ確認要請に応じて、プールドメモリノードPDM4に割り当て要請が転送できる。割り当て要請は、処理ノード41に割り当てられるメモリ容量についての情報を含むことができる。
【0131】
段階S43において、プールドメモリノードPDM4は、処理ノード41から転送された割り当て要請に応じて、全体メモリ領域MRのうちで部分メモリ領域PMRを処理ノード41に割り当て、割り当て情報ASS4が生成できる。割り当て情報ASS4は、処理ノード41の識別情報及び部分メモリ領域PMRのメモリアドレス範囲を含むことができる。プールドメモリノードPDM4は、内部メモリに割り当て情報ASS4が格納できる。
【0132】
段階S44において、プールドメモリノードPDM4は、処理ノード41に割り当て成功の応答が転送できる。
【0133】
段階S45において、処理ノード41は、プールドメモリノードPDM4から転送された割り当て成功の応答に応じて、マスターノードMASTER4に割り当てが成功したことを報告する割り当て結果が転送できる。なお、スイッチノードSWITCH4は、情報伝達動作によって処理ノード41から転送された割り当て結果をマスターノードMASTERに転送できる。
【0134】
段階S46において、マスターノードMASTER4は、処理ノード41から転送された割り当て結果に応じて、処理ノード41にタスク情報T4が転送できる。タスク情報T4は、処理ノード41に委任されたタスク内容を含むことができる。処理ノード41は、プールドメモリノードPDM4から割り当てられたメモリ容量をタスク情報T4として共に管理できる。処理ノード41は、内部メモリにタスク情報T4が格納できる。なお、スイッチノードSWITCH4は、情報伝達動作によってマスターノードMASTER4から転送されたタスク情報T4を処理ノード41に転送できる。
【0135】
図8bを参照すれば、段階S47において、処理ノード41は、タスク処理動作を遂行するためにタスク情報T4が確認できる。処理ノード41は、タスク情報T4を確認して所定の仮想アドレス範囲を使用することに決定できる。仮想アドレス範囲は、タスク情報T4に含まれた部分メモリ領域PMRのメモリ容量に対応できる。
【0136】
段階S48において、処理ノード41は、プールドメモリノードPDM4にメモリアクセス要請が転送できる。メモリアクセス要請は、仮想アドレスVA4を含むことができる。仮想アドレスVA4は、タスク処理に使用することに決定した仮想アドレス範囲に含まれる。
【0137】
段階S49において、プールドメモリノードPDM4は、処理ノード41から転送されたメモリアクセス要請に応じて、処理ノード41についての割り当て情報ASS4が確認できる。プールドメモリノードPDM4は、わらいて情報ASS4から処理ノード41の識別情報を確認し、メモリアクセス要請に含まれた処理ノード41の識別情報と比較できる。また、プールドメモリノードPDM4は、割り当て情報ASS4から処理ノード41に割り当てられた部分メモリ領域PMRのメモリアドレス範囲が確認できる。
【0138】
段階S50において、プールドメモリノードPDM4は、メモリアクセス要請に含まれた仮想アドレスVA4を割り当て情報ASS4のメモリアドレス範囲に含まれたメモリアドレスMA4に変換しながら、仮想アドレスVA4及びメモリアドレスMA4間のマッピング情報が管理できる。プールドメモリノードPDM4は、仮想アドレスVA4及びメモリアドレスMA4をマッピングしたことをマッピング情報MAP4として記憶できる。
【0139】
段階S51において、プールドメモリノードPDM4は、部分メモリ領域PMRのメモリアドレスMA4に対してメモリアクセス動作が遂行できる。
【0140】
図9は、本発明の実施例に係る図7のデータ処理システム40の動作方法を示す図である。データ処理システム40は、図7のサブシステムSUBSYS4と同様に構成されて動作するサブシステムSUBSYS41、SUBSYS42を含むことができる。図9は、サブシステムSUBSYS41においてプールドメモリノードの割り当てが失敗した時、マスターノードMASTER4が他のサブシステムSUBSYS42においてタスク委任動作を同一に繰り返す動作方法を示す。
【0141】
具体的に、図9を参照すれば、段階S61において、マスターノードMASTER4は処理ノード41にメモリ確認要請が転送できる。メモリ確認要請は、処理ノード41に割り当てられるメモリ容量についての情報を含むことができる。なお、スイッチノードSWITCH4は、情報伝達動作によってマスターノードMASTER4から転送されたメモリ確認要請を処理ノード41に転送できる。
【0142】
段階S62において、処理ノード41は、マスターノードMASTER4から転送されたメモリ確認要請に応じて、プールドメモリノードPDM4に割り当て要請が転送できる。割り当て要請は、処理ノード41に割り当てられるメモリ容量についての情報を含むことができる。
【0143】
段階S63において、プールドメモリノードPDM4は、処理ノード41から転送された割り当て要請に応じて、全体メモリ領域MRで割り当て可能な部分がない時、処理ノード41に割り当て失敗の応答が転送できる。
【0144】
段階S64において、処理ノード41は、プールドメモリノードPDM4から転送された割り当て失敗の応答に応じて、マスターノードMASTER4に割り当てが失敗したことを報告する割り当て結果が転送できる。なお、スイッチノードSWITCH4は、情報伝達動作によって処理ノード41から転送された割り当て結果をマスターノードMASTERに転送できる。
【0145】
段階S65において、マスターノードMASTER4は、処理ノード41から転送された割り当て結果を受信し、他のサブシステムSUBSYS42の処理ノード(図示せず)にメモリ確認要請が転送できる。サブシステムSUBSYS42は、マスターノードMASTER4から転送されたメモリ確認要請に応じて、図7のサブシステムSUBSYS4又は図9のサブシステムSUBSYS41が動作するように動作できる。
【0146】
実施例により、サブシステムSUBSYS41がプールドメモリノードPDM4の以外に他のプールドメモリノードをさらに備え、各プールドメモリノードが処理ノードPU4に各々連結できる。この場合、処理ノード41は、マスターノードMASTER4からメモリ確認要請が転送された時、プールドメモリノードPDM4に対して割り当てが失敗すれば、他のプールドメモリノードに割り当て要請が転送できる。処理ノー41は、すべてのプールドメモリノードに対して割り当てが失敗すれば、マスターノードMASTER4に割り当てが失敗したことを報告する割り当て結果が転送できる。
【0147】
本発明の属する技術分野における通常の技術者は、本発明がその技術的思想や必須特徴から逸脱しない範囲内において、他の具体的な形態で実施できるので、前述した実施例は全ての面において例示的なものであり、限定的なものでないと理解するべきである。本発明の範囲は前記詳細な説明よりも後述する特許請求の範囲により示され、特許請求の範囲の意味及び範囲、その等価概念から導出される全ての変更又は変形された形態が、本発明の範囲に含まれるものと解析するべきである。
図1
図2
図3a
図3b
図4
図5
図6a
図6b
図7
図8a
図8b
図9