JP2012022586A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2012022586A JP2012022586A JP2010161190A JP2010161190A JP2012022586A JP 2012022586 A JP2012022586 A JP 2012022586A JP 2010161190 A JP2010161190 A JP 2010161190A JP 2010161190 A JP2010161190 A JP 2010161190A JP 2012022586 A JP2012022586 A JP 2012022586A
- Authority
- JP
- Japan
- Prior art keywords
- address
- network
- information processing
- network node
- virtual
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
【課題】ネットワークに接続されているハードディスク等の記録媒体を用いて、容易に仮想記憶領域を構築する。
【解決手段】プロセッサ41は、仮想記憶領域上に割り当てられている仮想アドレスに、ネットワーク22上に存在する記憶部のネットワーク22上の位置を示すネットワークノード情報と、記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、仮想アドレスを、対応するネットワークノード情報及び物理アドレスに変換し、ネットワークIF45は、プロセッサ41により得られたネットワークノード情報及び物理アドレスに基づいて、ネットワーク22上の記憶部が有する複数の記憶領域のうち、物理アドレスが表す記憶領域にアクセスする。本発明は、例えば、ネットワークを介してハードディスク等と接続されている情報処理装置に適用できる。
【選択図】図2
【解決手段】プロセッサ41は、仮想記憶領域上に割り当てられている仮想アドレスに、ネットワーク22上に存在する記憶部のネットワーク22上の位置を示すネットワークノード情報と、記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、仮想アドレスを、対応するネットワークノード情報及び物理アドレスに変換し、ネットワークIF45は、プロセッサ41により得られたネットワークノード情報及び物理アドレスに基づいて、ネットワーク22上の記憶部が有する複数の記憶領域のうち、物理アドレスが表す記憶領域にアクセスする。本発明は、例えば、ネットワークを介してハードディスク等と接続されている情報処理装置に適用できる。
【選択図】図2
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に、例えば、ネットワークに接続されているメモリ又はストレージ等の記録媒体を、仮想記憶領域として利用するようにした情報処理装置、情報処理方法、及びプログラムに関する。
従来、コンピュータにおけるメモリ領域の拡張方法として、仮想記憶領域を用いるものがある。仮想記憶領域は、コンピュータのOS(operating system)等が提供する仮想的なメモリ領域である。コンピュータのOS等は、例えば、実行されたプログラムにより必要とされるメモリ容量が、実装されているメモリ容量よりも大きい場合等には、メモリ又はストレージ等の記憶領域を、実行されたプログラムにより必要とされるメモリ容量として利用する必要がある。この場合、メモリ又はストレージ等の記憶領域を仮想記憶領域として設定する。
具体的には、仮想記憶領域上のアドレスである仮想アドレスを決定し、決定した仮想アドレスを、実際にコンピュータに搭載されている記録媒体の記憶領域上のアドレスである物理アドレスに変換し、その物理アドレスを用いて、データを読み書きする(例えば、特許文献1を参照)。
しかしながら、従来のコンピュータにおいては、コンピュータに接続されているメモリ又はストレージ等の記憶領域を仮想記憶領域として利用しているものの、コンピュータとネットワークを介して接続されたサーバ上のハードディスク等の記憶領域を仮想記憶領域として利用することはできなかった。
本発明は、このような状況に鑑みてなされたものであり、ネットワークに接続されている記録媒体を仮想記憶領域として利用するようにして、実行されたプログラムが、仮想アドレスを用いることにより、容易に、ネットワークに接続されている記録媒体の記憶領域にアクセスできるようにしたものである。
本発明の一側面の情報処理装置は、ネットワークに接続されている情報処理装置であって、仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換するアドレス変換手段と、前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスするアクセス通信手段とを含む情報処理装置である。
複数の記憶領域を有する記憶手段をさらに設けることができ、前記アクセス通信手段では、前記アドレス変換手段により得られた前記ネットワークノード情報が、前記ネットワーク上における前記記憶手段の位置を表すものである場合、前記記憶手段が有する複数の記憶領域のうち、前記アドレス変換手段により得られた前記物理アドレスが指定する記憶領域にアクセスし、前記アドレス変換手段により得られた前記ネットワークノード情報が、前記ネットワーク上における、前記記憶手段とは異なる外部の記憶部の位置を表すものである場合、外部の前記記憶部が有する複数の記憶領域のうち、前記アドレス変換手段により得られた前記物理アドレスが指定する記憶領域にアクセスすることができる。
前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられている複数のアドレス変換テーブルを保持しており、前記アドレス変換手段では、前記アドレス変換モジュールが保持している前記複数のアドレス変換テーブルに基づいて、前記仮想アドレスを、対応する前記物理アドレス及び前記ネットワークノード情報に変換することができる。
前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられているアドレス変換テーブルを保持しており、前記アドレス変換モジュールが保持している前記アドレス変換テーブルを更新する更新手段をさらに設けることができる。
前記ネットワークノード情報は、IP(internet protocol)アドレス、MAC(media access control)アドレス、又はドメイン情報の一部若しくは全部であるようにすることができる。
前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられているアドレス変換テーブルを保持しており、前記アドレス変換モジュールが保持する前記アドレス変換テーブルを、前記ネットワークに接続されている他の前記情報処理装置に対して送信し、前記他の情報処理装置との間で、前記アドレス変換テーブルを共有する送信手段をさらに設けることができる。
本発明の一側面の情報処理方法は、ネットワークに接続されている情報処理装置の情報処理方法であって、前記情報処理装置は、アドレス変換手段と、アクセス通信手段とを含み、前記アドレス変換手段が、仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換し、前記アクセス通信手段が、前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスするステップを含む情報処理方法である。
本発明の一側面のプログラムは、ネットワークに接続されている情報処理装置を制御するコンピュータを、仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換するアドレス変換手段と、前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスするアクセス通信手段として機能させるためのプログラムである。
本発明によれば、仮想記憶領域上に割り当てられている仮想アドレスに、ネットワーク上に存在する記憶部のネットワーク上の位置を示すネットワークノード情報と、記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、仮想アドレスが、対応するネットワークノード情報及び物理アドレスに変換され、変換により得られたネットワークノード情報及び物理アドレスに基づいて、ネットワーク上の記憶部が有する複数の記憶領域のうち、物理アドレスが表す記憶領域がアクセスされる。
本発明によれば、ネットワークに接続されている記録媒体を、容易に仮想記憶領域として利用することが可能となる。
以下、発明を実施するための形態(以下、本実施の形態という)について説明する。なお、説明は以下の順序で行う。
1. 本実施の形態(ネットワークノードアドレスが付加されてアドレス変換テーブルを用いる場合の一例)
2. 変形例
1. 本実施の形態(ネットワークノードアドレスが付加されてアドレス変換テーブルを用いる場合の一例)
2. 変形例
<1.本実施の形態>
[情報処理システム1の構成例]
図1は、本発明を適用した情報処理システム1の構成例を示している。
[情報処理システム1の構成例]
図1は、本発明を適用した情報処理システム1の構成例を示している。
この情報処理システム1は、情報処理装置21−1乃至21−Nにより構成されており、インターネット等のネットワーク22を介して相互に接続されている。
情報処理装置21−1乃至21−Nは、それぞれ、データやプログラム等を記憶させるハードディスク等からなるローカルメモリを有しており、それぞれが有する複数のローカルメモリの記憶領域を、情報処理装置21−1乃至21−Nそれぞれの仮想記憶領域として利用する。
すなわち、例えば、情報処理装置21−1乃至21−Nそれぞれが有する複数のローカルメモリにおいて、ローカルメモリ上の複数の記憶領域には、それぞれ異なる一意の仮想アドレスが割り当てられている。
[情報処理装置21−nの構成例]
図2は、情報処理装置21−nの構成例を示している。
図2は、情報処理装置21−nの構成例を示している。
情報処理装置21−nは、例えば、ネットワーク22に接続されたパーソナルコンピュータ等であり、プロセッサ41、入出力IF(interface)42、DMA(direct memory access)コントローラ43、ローカルメモリ44、及びネットワークIF45により構成される。
プロセッサ41は、CPU(central processing unit)等により構成されており、各部を制御する。また、プロセッサ41は、例えば、入出力IF42からの操作信号に応じて、所定の処理を行なう。なお、プロセッサ41の詳細については、図3を参照して後述する。
入出力IF42は、マウスやキーボード等の操作部(図示せず)と接続されており、ユーザが操作部を操作したことに対応して、操作部から供給される操作信号を、プロセッサ41に供給する。
DMAコントローラ43は、プロセッサ41からの制御に従って、プロセッサ41からのデータを、ローカルメモリ44にDMA転送して記憶させる。また、DMAコントローラ43は、プロセッサ41からの制御に従って、ローカルメモリ44に記憶されているデータを読み出し、プロセッサ41にDMA転送する。
さらに、DMAコントローラ43は、プロセッサ41からの制御に従って、プロセッサ41からのデータを、ネットワークIF45にDMA転送する。また、DMAコントローラ43は、ネットワークIF45からのデータを、プロセッサ41にDMA転送する。
ローカルメモリ44は、例えばハードディスクやEEPROM(electrically erasable and programmable read only memory)、DRAM(dynamic random access memory)等であり、DMAコントローラ43からDMA転送されたデータ等を記憶する。なお、ローカルメモリ44は、複数の記憶領域により構成されており、複数の記憶領域には、それぞれ、その記憶領域の位置を表す物理アドレスが対応付けられて記憶されているものとする。
ネットワークIF45は、DMAコントローラ43からのデータを、ネットワーク22を介して他の情報処理装置21−p(p≠n)に送信する。また、ネットワークIF45は、他の情報処理装置21−pからネットワーク22を介して送信されてくるデータを、DMAコントローラ43に供給する。
[プロセッサ41の構成例]
図3は、プロセッサ41の詳細な構成例を示している。
図3は、プロセッサ41の詳細な構成例を示している。
プロセッサ41は、CPU61、MMU(memory management unit)62、MMU62が内蔵するTLB(translation lookaside buffer)63、及びキャッシュメモリ64により構成されている。
CPU61は、MMU62やDMAコントローラ43等を制御する。また、CPU61は、ローカルメモリ44に予め記憶されているプログラムを、DMAコントローラ43及びMMU62を介してキャッシュメモリ64に記憶させる。さらに、CPU61は、キャッシュメモリ64に記憶させたプログラムを、キャッシュメモリ64からMMU62を介して取得する。
そして、CPU61は、取得したプログラムを実行することにより、所定の処理を行なう。すなわち、例えば、CPU61は、仮想記憶領域上に割り当てられた仮想アドレスを、MMU62に供給することにより、キャッシュメモリ64からMMU62を介して、その仮想アドレスに対応するデータを読み出す。なお、キャッシュメモリ64は、後述するように、所定のデータを、対応する仮想アドレスに対応付けて記憶している。
そして、CPU61は、読み出したデータに対して演算や加工などの処理を行い、その処理結果を、キャッシュメモリ64又はローカルメモリ44に書き込む。
また、例えば、CPU61は、MMU62に供給した仮想アドレスに対応するデータが、キャッシュメモリ64に存在しない場合、DMAコントローラ43等を制御して、仮想アドレスに対応するデータを記憶しているローカルメモリ44や他の情報処理装置21-pから、MMU62に供給した仮想アドレスに対応するデータを読み出させ、MMU62に供給させる。
そして、CPU61は、MMU62を制御して、DMAコントローラ43からのデータに、対応する仮想アドレスを対応付けさせ、キャッシュメモリ64に供給して記憶させる。これにより、CPU61は、MMU62に供給した仮想アドレスに対応するデータを、キャッシュメモリ64及びMMU62を介して取得できるようになる。
MMU62は、内蔵するTLB63を用いて、CPU61からの仮想アドレスを、対応する物理アドレス及びネットワークノードアドレス(いずれも後述する)に変換したり、DMAコントローラ43からのデータに対応付けられている物理アドレス及びネットワークノードアドレスを、対応する仮想アドレスに逆変換する処理等を行う。
TLB63は、予め生成された複数のエントリ1乃至mを含むアドレス変換テーブルを予め保持している。
次に、図4は、TLB63の一例を示している。
TLB63は、図4に示されるように、仮想記憶領域上に割り当てられている仮想アドレス、仮想アドレスに対応する物理アドレスであって、ローカルメモリ44の記憶領域上に割り当てられている物理アドレス、仮想アドレスを物理アドレスに変換するための制御に用いる制御情報、及び物理アドレスにより指定される記憶領域を有しているローカルメモリ44(が設けられた情報処理装置21-n)のネットワーク上の位置を表すネットワークノードアドレスが対応付けられた複数のエントリ1乃至mを含むアドレス変換テーブルを予め保持している。
なお、ネットワークノードアドレスとしては、例えば、情報処理装置2-nを一意に表す情報が採用される。すなわち、例えば、ネットワークノードアドレスとしては、例えば、情報処理装置21-nのIP(internet protocol)アドレスやMAC(media access control)アドレス等を用いることができる。また、例えば、ネットワークノードアドレスとしては、情報処理装置21-nにおけるネットワーク上の位置を表すドメイン情報(例えば、ホームページのアドレスやメールアドレスに含まれる)の一部又は全部を用いるようにしてもよい。
MMU62は、キャッシュメモリ64から、キャッシュメモリ64に記憶されているデータそれぞれに対応付けられている複数の仮想アドレスを、適宜読み出して保持している。
MMU62は、保持している複数の仮想アドレス毎に、その仮想アドレスと、CPU61からの仮想アドレスとが一致するか否かを判定する。
そして、MMU62は、保持している複数の仮想アドレスのうちの1つの仮想アドレスと、CPU61からの仮想アドレスとが一致していると判定した場合、一致すると判定した仮想アドレスに対応付けられているデータを、キャッシュメモリ64から読出し、CPU61に供給する。
また、MMU62は、保持している複数の仮想アドレスそれぞれと、CPU61からの仮想アドレスとが一致していないと判定した場合、TLB63が保持している複数のエントリ1乃至mに基づいて、CPU61からの仮想アドレスを、対応する物理アドレス及びネットワークノードアドレスに変換する。
そして、MMU62は、変換により得られた物理アドレス及びネットワークノードアドレスを、DMAコントローラ43に供給する。
また、MMU62は、TLB63を用いて、DMAコントローラ43からのデータに対応付けられている物理アドレス及びネットワークノードアドレスを、対応する仮想アドレスに逆変換する。そして、MMU62は、逆変換により得られる仮想アドレスを、DMAコントローラ43からのデータに対応付けて、キャッシュメモリ64に供給して記憶させる。
キャッシュメモリ64は、例えば、RAM(random access memory)等により構成されており、MMU62からの、仮想アドレスに対応付けられているデータを記憶する。
なお、プロセッサ41において、MMU62が、図4に示されるような、複数のエントリ1乃至mを含むアドレス変換テーブルを用いて変換を行なうようにしたが、その他、例えば、MMU62は、図5に示されるような1個のエントリのみを含むアドレス変換テーブルを用いて変換を行なうアドレス変換レジスタであるようにしてもよい。
この場合、MMU62は、CPU61に所定の処理を実行させるOS等のプログラムからの制御に応じて、適宜、図5に示される1個のエントリを、必要に応じて更新するものとなる。
なお、MMU62は、1個のアドレス変換レジスタにより構成されるようにしてもよいし、複数個のアドレス変換レジスタにより構成されるようにすることが可能である。
MMU62が複数個のアドレス変換レジスタにより構成される場合、複数個のアドレス変換レジスタは、それぞれ、同一のアドレス変換テーブルを用いるようにしてもよいし、アドレス変換レジスタ毎に、異なるアドレス変換テーブルを用いるように実装することができる。この場合、例えば、TLB63は、複数個のアドレス変換レジスタにより構成されるMMU62において用いられる複数のアドレス変換テーブルを保持するものとなる。
また、図3に示されるプロセッサ41は、TLB63が保持するアドレス変換テーブルに、ネットワークノードアドレスが付加されている以外は、既存のプロセッサと同様に構成されている。
したがって、本発明では、TLB63が保持するアドレス変換テーブルのみを、ネットワークノードアドレスが付加されたアドレス変換テーブルとするだけで、既存のプロセッサをそのまま用いることができるので、プロセッサ41の製造コストを抑制することが可能となる。
[書込情報を送信する場合の一例]
次に、図6は、情報処理装置21-aが、情報処理装置21-bのローカルメモリ44b上の記憶領域にデータを書き込む場合に生成される書込情報の一例を示している。
次に、図6は、情報処理装置21-aが、情報処理装置21-bのローカルメモリ44b上の記憶領域にデータを書き込む場合に生成される書込情報の一例を示している。
なお、a及びbは、1からNまでの異なる値を表す。また、以下の説明において、情報処理装置21-aと情報処理装置21-bとをそれぞれ構成するCPU61等を区別するために、情報処理装置21-aのCPU61をCPU61aというとともに、情報処理装置21-bのCPU61をCPU61bという。CPU61以外のものについても同様である。
情報処理装置21-aのCPU61aは、例えば、所定の仮想アドレスに対応するデータを処理し、処理後のデータを、処理後のデータに対応する仮想アドレスとともに、MMU62aに供給する。
MMU62aは、CPU61aからの制御にしたがって、TLB63a等を用いて、CPU61aからの仮想アドレスを、対応するネットワークノードアドレス及び物理アドレスに変換し、CPU61aからのデータとともに、DMAコントローラ43aに供給する。
いまの場合、アドレス変換により得られたネットワークノードアドレスは、情報処理装置21-bにおけるネットワーク22上の位置を表しており、物理アドレスは、情報処理装置21-bにおけるローカルメモリ44b上の複数の記憶領域のうち、所定の記憶領域を表している(指定している)ものとする。
DMAコントローラ43aは、MMU62aから供給される、情報処理装置21-bのネットワークノードアドレス、物理アドレス、及びデータを、ネットワークIF45aに供給する。
ネットワークIF45aは、通信に用いる既存のインターネットプロトコル等を含む既存の送信プロトコル信号と、送信元のアドレス情報(情報処理装置21-aのネットワークノードアドレス等)や、既存のインターネットプロトコルとは異なる他のプロトコルを含む他の送信プロトコル信号とを予め保持しているプロトコル信号設定レジスタ(図示せず)を内蔵している。
ネットワークIF45aは、DMAコントローラ43aからの制御に従って、内蔵するプロトコル信号設定レジスタから、既存の送信プロトコル信号、及び他の送信プロトコル信号を読み出す。
そして、ネットワークIF45aは、読み出した既存の送信プロトコル信号、他の送信プロトコル信号、DMAコントローラ45aからのネットワークノードアドレスを送信先アドレスとし、DMAコントローラ45aからのデータを書込データとし、DMAコントローラ45aからの物理アドレスを、書込データを書き込むための、情報処理装置21−bのローカルメモリ4bの記憶領域を示すメモリアドレスとして、図6に示されるような書込情報を構成し、ネットワーク22を介して、情報処理装置21-bに対して送信する。
[書込データを書き込む場合の一例]
次に、図7は、情報処理装置21-bが、情報処理装置21-aからの書込情報に基づいて、書込情報に含まれる書込データを、ローカルメモリ44b上の複数の記憶領域のうち、書込情報に含まれるメモリアドレスにより指定される記憶領域に書き込む場合の一例を示している。
次に、図7は、情報処理装置21-bが、情報処理装置21-aからの書込情報に基づいて、書込情報に含まれる書込データを、ローカルメモリ44b上の複数の記憶領域のうち、書込情報に含まれるメモリアドレスにより指定される記憶領域に書き込む場合の一例を示している。
情報処理装置21-bのネットワークIF45bは、情報処理装置21-aからネットワーク22を介して送信されてくる、図7に示されるような書込情報のうち、他の送信プロトコル信号及び既存のプロトコル信号を受信する。
そして、ネットワークIF45bは、受信した他の送信プロトコル信号及び既存の送信プロトコル信号を、内蔵するプロトコル信号設定レジスタに記憶させる。また、ネットワークIF45bは、記憶させた他の送信プロトコル信号及び既存の送信プロトコル信号に基づいて、書込情報に含まれるメモリアドレス及び書込データを受信し、DMAコントローラ43bに供給する。
DMAコントローラ43bは、ネットワークIF45bからの書込データを、ローカルメモリ44bに供給し、ネットワークIF45bからのメモリアドレスにより指定される、ローカルメモリ44b上の記憶領域に記憶させる。
ところで、情報処理装置21-aは、図6に示されるように、書込データを書き込む記憶領域を指定するメモリアドレスを含む書込情報を生成して送信するようにしたが、情報処理装置21-bにおいて書込データを書き込む記憶領域が予めわかっている場合には、情報処理装置21-aは、図8に示されるように、メモリアドレスを含まない書込情報を生成して送信するようにしてもよい。
この場合、メモリアドレスを含める処理を行う必要がないため、より迅速に書込情報を生成して送信することができる。
次に、図9乃至図11を参照して、情報処理装置21-aが、情報処理装置21-bから所定のデータを読み出す場合、すなわち、例えば、情報処理装置21-bに対して、所定のデータの送信を要求し、その要求に応じて送信されてくるデータを取得する場合の一例を説明する。
[要求情報を送信する場合の他の一例]
図9は、情報処理装置21-aが、情報処理装置21-bに対して、所定のデータの送信を要求する場合に生成される要求情報の一例を示している。
図9は、情報処理装置21-aが、情報処理装置21-bに対して、所定のデータの送信を要求する場合に生成される要求情報の一例を示している。
情報処理装置21-aのCPU61aは、仮想記憶領域上における所定の仮想アドレスに記憶されているデータを読み出す場合、所定の仮想アドレスを、MMU62aに供給する。
MMU62aは、CPU61aからの制御にしたがって、保持している複数の仮想アドレス(キャッシュメモリ64に記憶されているデータに対応付けられている仮想アドレス)のうちの1つと、CPU61aからの仮想アドレスとが一致しているか否かを判定する。
MMU62aは、保持している複数の仮想アドレスのうちの1つと、CPU61aからの仮想アドレスとが一致していると判定した場合、一致すると判定した仮想アドレスに対応付けられているデータを、キャッシュメモリ64aから読出し、CPU61aに供給する。
また、MMU62aは、保持している複数の仮想アドレスそれぞれと、CPU61aからの仮想アドレスとが一致していないと判定した場合、TLB63a等を用いて、CPU61aからの仮想アドレスを、対応するネットワークノードアドレス及び物理アドレスに変換し、DMAコントローラ43aに供給する。
DMAコントローラ43aは、MMU62aから供給されるネットワークノードアドレスが、予め保持している、情報処理装置21-aのネットワークノードアドレスと一致するか否かに基づいて、MMU62aから供給されるネットワークノードアドレスが、情報処理装置21-aのネットワークアドレスであるか否かを判定する。
そして、DMAコントローラ43aは、MMU62aから供給されるネットワークノードアドレスが、情報処理装置21-aのネットワークアドレスであると判定した場合、MMU62aからの物理アドレスを、ローカルメモリ44aに供給して、ローカルメモリ44a上の複数の記憶領域のうち、その物理アドレスにより指定される記憶領域上のデータを読み出す。
DMAコントローラ43aは、読み出したデータに、MMU62aからのネットワークノードアドレス及び物理アドレスを対応づけて、MMU62aに供給する。
この場合、MMU62aは、TLB63等を用いて、DMAコントローラ43aからのデータに対応付けられているネットワークノードアドレス及び物理アドレスを、対応する仮想アドレスに逆変換する。そして、MMU62aは、DMAコントローラ43aからのデータを、逆変換により得られた仮想アドレスに対応付けて、キャッシュメモリ64に供給して記憶させる。
また、DMAコントローラ43aは、MMU62aから供給されるネットワークノードアドレスが、情報処理装置21-aのネットワークアドレスではないと判定した場合、MMU62aから供給されるネットワークノードアドレス及び物理アドレスを、ネットワークIF45aに供給する。
なお、いまの場合、変換により得られたネットワークノードアドレスは、情報処理装置21-bにおけるネットワーク22上の位置を表しており、物理アドレスは、情報処理装置21-bにおけるローカルメモリ44b上の複数の記憶領域のうち、所定の記憶領域を表しているものとする。
ネットワークIF45aは、DMAコントローラ43aからの制御に従って、内蔵するプロトコル信号設定レジスタから、既存の送信プロトコル信号、及び他の送信プロトコル信号を読み出す。
また、ネットワークIF45aは、DMAコントローラ45aからの物理アドレスを含む要求データであって、且つ、ローカルメモリ44b上の複数の記憶領域のうち、DMAコントローラ45aからの物理アドレスにより指定される記憶領域上のデータを要求するための要求データを生成する。
さらに、ネットワークIF45aは、DMAコントローラ45aからのネットワークノードアドレスを送信先アドレスとする。そして、ネットワークIF45aは、図9に示されるように、読み出した既存の送信プロトコル信号及び他の送信プロトコル信号、送信先アドレス、並びに要求データにより構成される要求情報を生成し、ネットワーク22を介して、情報処理装置21-bに対して送信する。
[読出情報を送信する場合の一例]
図10は、情報処理装置21-bが、情報処理装置21-aからの要求情報に基づいて、所定のデータを情報処理装置21-aに送信する場合の一例を示している。
図10は、情報処理装置21-bが、情報処理装置21-aからの要求情報に基づいて、所定のデータを情報処理装置21-aに送信する場合の一例を示している。
情報処理装置21-bのネットワークIF45bは、情報処理装置21-aからネットワーク22を介して供給される要求情報に含まれる他の送信プロトコル信号及び既存の送信プロトコル信号を受信する。そして、ネットワークIF45bは、受信した他の送信プロトコル信号及び既存の送信プロトコル信号を、内蔵するプロトコル信号設定レジスタに供給して記憶させる。
ネットワークIF45bは、内蔵するプロトコル信号設定レジスタに記憶させた他の送信プロトコル信号及び既存の送信プロトコル信号に基づいて、要求情報に含まれる要求データを受信し、DMAコントローラ43bに供給する。
DMAコントローラ43bは、ネットワークIF45bからの要求データに基づいて、ローカルメモリ44b上の記憶領域のうち、要求データに含まれる物理アドレスにより指定される記憶領域上のデータを読み出す。そして、DMAコントローラ43bは、読み出したデータを、読出データとして、ネットワークIF45bに供給する。また、DMAコントローラ43bは、読出データを読み出した記憶領域を示す物理アドレス(要求データに含まれていた物理アドレス)を、メモリアドレスとして、ネットワークIF45bに供給する。
ネットワークIF45bは、内蔵するプロトコル信号設定レジスタを用いて、要求データに含まれていた送信先アドレス(情報処理装置21-aのネットワークノードアドレス)を、送信先アドレスとする。
そして、ネットワークIF45bは、送信先アドレス、内蔵するプロトコル信号設定レジスタに記憶されている他の送信プロトコル信号及び既存の送信プロトコル信号、並びにDMAコントローラ43bからの読出データ及びメモリアドレスにより構成される読出情報を生成し、ネットワーク22を介して、情報処理装置21-aに送信する。
[読出情報を受信して、読出データを記憶する場合の一例]
図11は、情報処理装置21-aが、情報処理装置21-bに対して要求情報を送信したことに対応して、情報処理装置21-bから送信されてくる読出情報を受信し、受信した読出情報に含まれる読出データを記憶する場合の一例を示している。
図11は、情報処理装置21-aが、情報処理装置21-bに対して要求情報を送信したことに対応して、情報処理装置21-bから送信されてくる読出情報を受信し、受信した読出情報に含まれる読出データを記憶する場合の一例を示している。
情報処理装置21-aのネットワークIF45aは、情報処理装置21-bからネットワーク22を介して供給される読出情報に含まれる他の送信プロトコル信号及び既存の送信プロトコル信号を受信する。そして、ネットワークIF45aは、受信した他の送信プロトコル信号及び既存の送信プロトコル信号を、内蔵するプロトコル信号設定レジスタに供給して記憶させる。
ネットワークIF45aは、プロトコル信号設定レジスタに記憶させた他の送信プロトコル信号及び既存の送信プロトコル信号に基づいて、情報処理装置21-bからネットワーク22を介して供給される読出情報に含まれる読出データ及びメモリアドレスを受信し、DMAコントローラ43aに供給する。
また、ネットワークIF45aは、プロトコル信号設定レジスタに記憶された他の送信プロトコル信号に含まれる、送信元(情報処理装置21-b)のネットワークノードアドレスを抽出して、DMAコントローラ43aに供給する。
DMAコントローラ43aは、ネットワークIF45aからの読出データを、同じくネットワークIF45aからのメモリアドレス及びネットワークノードアドレスに対応付けて、プロセッサ41aのMMU62aに供給する。
この場合、MMU62aは、TLB63aを用いて、DMAコントローラ43aからの読出データに対応付けられているメモリアドレス及びネットワークノードアドレスを、対応する仮想アドレスに逆変換する。
そして、MMU62aは、逆変換により得られる仮想アドレスを、DMAコントローラ43aからの読出データに対応付けて、キャッシュメモリ64aに供給して記憶させる。
[情報処理装置21-aが行う書込み処理]
次に、図12のフローチャートを参照して、情報処理装置21-aが、情報処理装置21-aのローカルメモリ44aや、情報処理装置21-bのローカルメモリ44bに対して、データの書込みを行う書込み処理について説明する。
次に、図12のフローチャートを参照して、情報処理装置21-aが、情報処理装置21-aのローカルメモリ44aや、情報処理装置21-bのローカルメモリ44bに対して、データの書込みを行う書込み処理について説明する。
この書込み処理は、例えば、CPU61aが、所定の仮想アドレスのデータに対して、処理を行い、処理後のデータを、仮想アドレスに対応するネットワークノードアドレスにより示される位置に存在するローカルメモリ上の複数の記憶領域のうち、仮想アドレスに対応する物理アドレスにより指定される記憶領域に書き込むように、MMU62a等を制御する場合に開始される。
すなわち、例えば、CPU61aは、処理後のデータを、対応する仮想アドレスとともに、MMU62aに供給する。
ステップS21において、MMU62aは、内蔵するTLB63a等を用いて、CPU61aからの仮想アドレスを、対応する物理アドレス及びネットワークノードアドレスに変換する。そして、MMU62aは、変換により得られた物理アドレス及びネットワークノードアドレスを、CPU61aからのデータとともに、DMAコントローラ43aに供給する。
ステップS22において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスであるか否かを判定する。
ステップS22において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスであると判定した場合、処理をステップS23に進める。
そして、ステップS23において、DMAコントローラ43aは、MMU62aからのデータをローカルメモリ44aに供給して、ローカルメモリ44a上の記憶領域のうち、MMU62aからの物理アドレスにより指定される記憶領域に記憶させる。
また、ステップS22において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスではないと判定した場合、処理をステップS24に進める。
ステップS24において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレス、物理アドレス、及びデータを、ネットワークIF45aに供給する。
ネットワークIF45aは、DMAコントローラ43aからのネットワークノードアドレス、物理アドレス、及びデータに基づいて、例えば、図6に示されるような書込情報を生成する。
ステップS25において、ネットワークIF45aは、生成した書込情報を、ネットワーク22を介して、情報処理装置21-bに送信する。これに対応して、情報処理装置21-bでは、ネットワークIF45aからネットワーク22を介して供給される書込情報に基づいて、データの書込みが行なわれる。以上で書込み処理は終了される。
[情報処理装置21-aが行う読出し処理]
次に、図13のフローチャートを参照して、情報処理装置21-aが、情報処理装置21-aのローカルメモリ44aや、情報処理装置21-bのローカルメモリ44bから、データの読出しを行う読出し処理について説明する。
次に、図13のフローチャートを参照して、情報処理装置21-aが、情報処理装置21-aのローカルメモリ44aや、情報処理装置21-bのローカルメモリ44bから、データの読出しを行う読出し処理について説明する。
この読出し処理は、例えば、CPU61aが、所定の仮想アドレスに対応付けられているデータを仮想記憶領域から読み出すように、MMU62a等を制御する場合に開始される。
すなわち、例えば、CPU61aは、読出し対象のデータに対応する仮想アドレスを、MMU62aに供給する。
なお、この読出し処理では、情報処理装置21-aにおいて、CPU61aにより必要とされているデータが、キャッシュメモリ64a上に記憶されていない場合を前提としている。CPU61aにより必要とされているデータが、キャッシュメモリ64a上に記憶されている場合には、CPU61aは、キャッシュメモリ64aからデータを読み出すこととなる。
ステップS41において、MMU62aは、内蔵するTLB63a等を用いて、CPU61aからの仮想アドレスを、対応する物理アドレス及びネットワークノードアドレスに変換する。そして、MMU62aは、変換により得られた物理アドレス及びネットワークノードアドレスを、DMAコントローラ43aに供給する。
ステップS42において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスであるか否かを判定する。
ステップS42において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスであると判定した場合、処理をステップS43に進める。
そして、ステップS43において、DMAコントローラ43aは、MMU62aからの物理アドレスをローカルメモリ44aに供給して、ローカルメモリ44a上の記憶領域のうち、MMU62aからの物理アドレスにより指定される記憶領域上のデータを、読出データとして読み出す。
DMAコントローラ43aは、読み出した読出データを、MMU62aからの物理アドレス及びネットワークノードアドレスに対応付けて、MMU62aに供給する。MMU62aは、TLB63aを用いて、DMAコントローラ43aからの読出データに対応付けられている物理アドレス及びネットワークノードアドレスを、対応する仮想アドレスに逆変換する。
そして、MMU62aは、DMAコントローラ43aからの読出データを、逆変換により得られた仮想アドレスに対応付けて、キャッシュメモリ64に供給して記憶させる。これにより、CPU61aは、キャッシュメモリ64に記憶された読出データに対して、所定の処理を行うことができるようになる。
また、ステップS42において、DMAコントローラ43aは、MMU62aからのネットワークノードアドレスが、予め保持している、情報処理装置21-aの位置を表すネットワークノードアドレスと一致するか否かに基づいて、MMU62aからのネットワークノードアドレスが、情報処理装置21-aの位置を表すネットワークノードアドレスではないと判定した場合、MMU62aからのネットワークノードアドレス及び物理アドレスを、ネットワークIF45aに供給して、処理をステップS44に進める。
ステップS44では、ネットワークIF45aは、図9を参照して説明したようにして、内蔵するプロトコル信号設定レジスタに予め保持されている既存の送信プロトコル信号及び他の送信プロトコル信号、並びにDMAコントローラ45aからのネットワークノードアドレス及び物理アドレスに基づいて、図9に示されるような要求情報を生成する。
そして、ネットワークIF45aは、生成した要求情報を、ネットワーク22を介して、情報処理装置21-bに対して送信する。
ステップS45において、ネットワークIF45aは、要求情報を送信したことに対応して、情報処理装置21-bからネットワーク22を介して供給される読出情報に含まれる他の送信プロトコル信号及び既存の送信プロトコル信号を受信する。そして、ネットワークIF45aは、受信した他の送信プロトコル信号及び既存の送信プロトコル信号を、内蔵するプロトコル信号設定レジスタに供給して記憶させる。
ネットワークIF45aは、プロトコル信号設定レジスタに記憶させた他の送信プロトコル信号及び既存の送信プロトコル信号に基づいて、情報処理装置21-bからネットワーク22を介して供給される読出情報に含まれる読出データ及びメモリアドレスを受信し、DMAコントローラ43aに供給する。
また、ネットワークIF45aは、プロトコル信号設定レジスタに記憶された他の送信プロトコル信号に含まれる、送信元(情報処理装置21-b)のネットワークノードアドレスを抽出して、DMAコントローラ43aに供給する。
DMAコントローラ43aは、ネットワークIF45aからの読出データを、同じくネットワークIF45aからのメモリアドレス及びネットワークノードアドレスに対応付けて、プロセッサ41aのMMU62aに供給する。
この場合、MMU62aは、TLB63aを用いて、DMAコントローラ43aからの読出データに対応付けられているメモリアドレス及びネットワークノードアドレスを、対応する仮想アドレスに逆変換する。
そして、MMU62aは、逆変換により得られる仮想アドレスを、DMAコントローラ43aからの読出データに対応付けて、キャッシュメモリ64aに供給して記憶させる。以上で読出し処理は終了される。
以上説明したように、書込み処理では、仮想アドレスに、対応する物理アドレス及びネットワークノードアドレスを対応付けたエントリを含むアドレス変換テーブルを予め保持するTLB63等を用いて、書込データに対応する仮想アドレスを、対応する物理アドレス及びネットワークノードアドレスに変換するようにした。そして、変換により得られたネットワークノードアドレスに対応する情報処理装置21-nが有するローカルメモリ44上の複数の記憶領域のうち、変換により得られた物理アドレスにより指定される記憶領域にデータを書き込むようにした。
また、読出し処理では、TLB63等を用いて、読出データに対応する仮想アドレスを、対応する物理アドレス及びネットワークノードアドレスに変換するようにした。そして、変換により得られたネットワークノードアドレスに対応する情報処理装置21-nが有するローカルメモリ44上の複数の記憶領域のうち、変換により得られた物理アドレスにより指定される記憶領域上のデータを読み出すようにした。
このため、例えば、情報処理装置21-aは、ローカルメモリ44aの他、ネットワーク22を介して接続されている情報処理装置21−bのローカルメモリ44b等についても、仮想記憶領域を実現するための記録媒体として用いることが可能となる。
したがって、本実施の形態では、情報処理装置21-aは、読み書きの対象とされたデータが、ローカルメモリ44aに記憶されているデータであるか否かを意識することなく、ネットワーク22上に存在する情報処理装置21-1乃至21-Nに設けられている複数のローカルメモリ44に記憶されているデータを、自由に読み書き(アクセス)することが可能となる。
<2.変形例>
本実施の形態では、情報処理装置21−1乃至21−Nがそれぞれ有するローカルメモリ44の記憶領域を、仮想記憶領域として利用するようにしたが、その他、例えば、ネットワーク22上に存在するサーバや、ハードディスクについても、仮想記憶領域として利用することができる。すなわち、ネットワーク22上に存在する記録媒体であれば、どのようなものであっても仮想記憶領域として利用できる。
本実施の形態では、情報処理装置21−1乃至21−Nがそれぞれ有するローカルメモリ44の記憶領域を、仮想記憶領域として利用するようにしたが、その他、例えば、ネットワーク22上に存在するサーバや、ハードディスクについても、仮想記憶領域として利用することができる。すなわち、ネットワーク22上に存在する記録媒体であれば、どのようなものであっても仮想記憶領域として利用できる。
本実施の形態では、DMAコントローラ43が、データの読出し及び書込みを制御するようにしたが、データの読出し及び書込みを行う主体はこれに限定されない。
すなわち、例えば、図14に示されるような情報処理装置21-n'とした場合には、ネットワークIF81が、CPU61からの制御にしたがって、DMAコントローラ43の代わりに、データの読出し及び書込みを行なうこととなる。
本実施の形態では、情報処理装置21-aのDMAコントローラ43aが、MMU62aからのネットワークノードアドレスは、情報処理装置21-aのネットワークノードアドレスであるか否かを判定するようにしたが、判定する主体はこれに限定されない。
すなわち、例えば、DMAコントローラ43に代えて、判定するための判定機能ブロックを、プロセッサ41の内部に設けるようにしてもよい。
本実施の形態では、情報処理装置21−n毎に、TLB63が予めアドレス変換テーブルを保持するようにしたが、例えば、情報処理装置21-aがアドレス変換テーブルを生成し、ネットワーク22を介して情報処理装置21-bに送信するようにしてもよい。
この場合、情報処理装置21-bは、情報処理装置21-aからネットワーク22を介して送信されてくるアドレス変換テーブルを、TLB63bに記憶させる。
このように、例えば、情報処理装置21-aが生成したアドレス変換テーブルを、ネットワーク22を介して情報処理装置21-bに送信することにより、情報処理装置21-aが生成したアドレス変換テーブルを、情報処理装置21-1乃至21-Nの間で共有することが可能となる。なお、アドレス変換テーブルが、情報処理装置21-aにより更新された場合、更新後のアドレス変換テーブルが新たに配布されることとなる。
また、本実施の形態では、ネットワークIF45aが、書込情報、要求情報、及び読出情報を生成するようにしたが、プロセッサ41aのCPU61aにより実行されるプログラムが、書込情報、要求情報、及び読出情報を生成するようにして、ネットワークIF45aに供給するようにしてもよい。
なお、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、又は、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、インストールされる。
なお、上述した一連の処理として、例えば、書込情報、要求情報、又は読出情報を生成して送信する処理等を、ハードウエアのみにより実現させるためには、書込情報、要求情報、及び読出情報に含まれる既存の送信プロトコル信号及び他の送信プロトコル信号を、ハードウエアのみで実現可能な独自のプロトコルで構成する必要がある。
そして、独自のプロトコルとして、例えば、書込データ、読出データ、及び要求データ等を暗号化して通信するプロトコル等を採用した場合には、既存のプロトコルよりもセキュアに仮想記憶領域を利用することができる。
また、例えば、書込情報、要求情報、又は読出情報を生成して送信する処理等を、ソフトウエアのみにより実行させるためには、書込情報、要求情報、及び読出情報に含まれる既存の送信プロトコル信号により実現することができるため、独自のプロトコルを実装する必要がなくなる。
なお、本発明は、例えば、ネットワーク上のデータやプログラムを共有して用いるクラウドコンピューティング等に応用することが可能である。
また、本明細書において、上述した一連の処理を記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
さらに、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 情報処理システム, 21-1乃至21-N 情報処理装置, 22 ネットワーク, 41 プロセッサ, 42 入出力IF, 43 DMAコントローラ, 44 ローカルメモリ, 45 ネットワークIF, 61 CPU, 62 MMU, 63 TLB, 64 キャッシュメモリ, 21-n' 情報処理装置, 81 ネットワークIF
Claims (8)
- ネットワークに接続されている情報処理装置において、
仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換するアドレス変換手段と、
前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスするアクセス通信手段と
を含む情報処理装置。 - 複数の記憶領域を有する記憶手段をさらに含み、
前記アクセス通信手段は、
前記アドレス変換手段により得られた前記ネットワークノード情報が、前記ネットワーク上における前記記憶手段の位置を表すものである場合、前記記憶手段が有する複数の記憶領域のうち、前記アドレス変換手段により得られた前記物理アドレスが指定する記憶領域にアクセスし、
前記アドレス変換手段により得られた前記ネットワークノード情報が、前記ネットワーク上における、前記記憶手段とは異なる外部の記憶部の位置を表すものである場合、外部の前記記憶部が有する複数の記憶領域のうち、前記アドレス変換手段により得られた前記物理アドレスが指定する記憶領域にアクセスする
請求項1に記載の情報処理装置。 - 前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられている複数のアドレス変換テーブルを保持しており、
前記アドレス変換手段は、前記アドレス変換モジュールが保持している前記複数のアドレス変換テーブルに基づいて、前記仮想アドレスを、対応する前記物理アドレス及び前記ネットワークノード情報に変換する
請求項2に記載の情報処理装置。 - 前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられているアドレス変換テーブルを保持しており、
前記アドレス変換モジュールが保持している前記アドレス変換テーブルを更新する更新手段をさらに含む
請求項2に記載の情報処理装置。 - 前記ネットワークノード情報は、IP(internet protocol)アドレス、MAC(media access control)アドレス、又はドメイン情報の一部若しくは全部である
請求項1に記載の情報処理装置。 - 前記アドレス変換モジュールは、前記仮想アドレスに、前記ネットワークノード情報と、前記物理アドレスとが対応付けられているアドレス変換テーブルを保持しており、
前記アドレス変換モジュールが保持する前記アドレス変換テーブルを、前記ネットワークに接続されている他の前記情報処理装置に対して送信し、前記他の情報処理装置との間で、前記アドレス変換テーブルを共有する送信手段をさらに含む
請求項1に記載の情報処理装置。 - ネットワークに接続されている情報処理装置の情報処理方法において、
前記情報処理装置は、
アドレス変換手段と、
アクセス通信手段と
を含み、
前記アドレス変換手段が、仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換し、
前記アクセス通信手段が、前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスする
ステップを含む情報処理方法。 - ネットワークに接続されている情報処理装置を制御するコンピュータを、
仮想記憶領域上に割り当てられている仮想アドレスに、前記ネットワーク上に存在する記憶部の前記ネットワーク上の位置を示すネットワークノード情報と、前記記憶部の物理アドレスとを対応付けて保持しているアドレス変換モジュールに基づいて、前記仮想アドレスを、対応する前記ネットワークノード情報及び前記物理アドレスに変換するアドレス変換手段と、
前記アドレス変換手段により得られた前記ネットワークノード情報及び前記物理アドレスに基づいて、前記ネットワーク上の前記記憶部が有する複数の記憶領域のうち、前記物理アドレスが表す記憶領域にアクセスするアクセス通信手段と
して機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010161190A JP2012022586A (ja) | 2010-07-16 | 2010-07-16 | 情報処理装置、情報処理方法、及びプログラム |
US13/177,951 US20120017064A1 (en) | 2010-07-16 | 2011-07-07 | Information processing apparatus, information processing method, and program |
CN201110200059.1A CN102340552A (zh) | 2010-07-16 | 2011-07-18 | 信息处理装置、信息处理方法和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010161190A JP2012022586A (ja) | 2010-07-16 | 2010-07-16 | 情報処理装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012022586A true JP2012022586A (ja) | 2012-02-02 |
Family
ID=45467813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010161190A Withdrawn JP2012022586A (ja) | 2010-07-16 | 2010-07-16 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120017064A1 (ja) |
JP (1) | JP2012022586A (ja) |
CN (1) | CN102340552A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146115A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9344743B2 (en) * | 2011-08-24 | 2016-05-17 | Texas Instruments Incorporated | Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF) |
WO2015178036A1 (en) * | 2014-05-22 | 2015-11-26 | Sharp Kabushiki Kaisha | Method for decoding |
US9678911B2 (en) * | 2015-11-12 | 2017-06-13 | Aupera Technologies, Inc. | System for distributed computing and storage |
DE102016206109A1 (de) * | 2016-04-13 | 2017-10-19 | Robert Bosch Gmbh | Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897664A (en) * | 1996-07-01 | 1999-04-27 | Sun Microsystems, Inc. | Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies |
US7086086B2 (en) * | 1999-02-27 | 2006-08-01 | Alonzo Ellis | System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment |
US20050165885A1 (en) * | 2003-12-24 | 2005-07-28 | Isaac Wong | Method and apparatus for forwarding data packets addressed to a cluster servers |
-
2010
- 2010-07-16 JP JP2010161190A patent/JP2012022586A/ja not_active Withdrawn
-
2011
- 2011-07-07 US US13/177,951 patent/US20120017064A1/en not_active Abandoned
- 2011-07-18 CN CN201110200059.1A patent/CN102340552A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146115A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102340552A (zh) | 2012-02-01 |
US20120017064A1 (en) | 2012-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678918B2 (en) | Data processing system and data processing method | |
KR101842621B1 (ko) | 지속 메모리에 대한 블록 저장 애퍼처들 | |
JP2019205031A (ja) | メモリシステムおよび制御方法 | |
JP5841255B2 (ja) | 仮想化入力/出力のためのプロセッサローカルコヒーレンシを有するコンピュータシステム | |
JP6880402B2 (ja) | メモリアクセス制御装置及びその制御方法 | |
US11074208B1 (en) | Routing network using global address map with adaptive main memory expansion for a plurality of home agents | |
JP2015146115A (ja) | 演算処理装置、情報処理装置及び演算処理装置の制御方法 | |
JP2012022586A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2016065611A1 (zh) | 访问文件的方法、系统和主机 | |
CN105094691A (zh) | 一种数据操作的方法、设备和系统 | |
JP2018156289A (ja) | 共有メモリコントローラ、共有メモリモジュールおよびメモリ共有システム | |
US20200341673A1 (en) | Intra-device notational data movement system | |
JP2016522915A (ja) | 共有メモリシステム | |
JP6036190B2 (ja) | 情報処理装置、情報処理システムの制御方法及び情報処理システムの制御プログラム | |
JPWO2017203645A1 (ja) | 計算機システム、及び、データ制御方法 | |
US8627016B2 (en) | Maintaining data coherence by using data domains | |
JPWO2012108024A1 (ja) | 中継装置、中継履歴記録方法、及びデータ処理装置 | |
US11734197B2 (en) | Methods and systems for resilient encryption of data in memory | |
JP2019164661A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP4664586B2 (ja) | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム | |
US10936219B2 (en) | Controller-based inter-device notational data movement system | |
JP2016118861A (ja) | 情報処理装置及び情報処理プログラム | |
KR20200143922A (ko) | 메모리 카드 및 이를 이용한 데이터 처리 방법 | |
JP2012203698A (ja) | 情報処理装置およびマルチコアシステム | |
US11281612B2 (en) | Switch-based inter-device notational data movement system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131001 |