それぞれがプロセッサ及び記憶装置を備える複数のノードと、前記複数のノード間を接続するインターコネクトとを有する情報処理装置であって、前記ノードの各々は、論理アドレスと物理アドレスとの変換を行う第1変換部と、物理アドレスと各ノードに備えられたプロセッサを識別するプロセッサ識別情報との変換を行う第2変換部と、前記物理アドレス及び前記プロセッサ識別情報を含む転送データを送信する送信部と、他のノードから前記インターコネクトを介して送信された転送データを受信する受信部と、前記受信部により受信された転送データに含まれる物理アドレスに基づいて、自ノードの記憶装置のデータ格納領域のうち、自ノード内のアクセスに用いられるローカル領域と、他ノードからもアクセス可能な共有領域とのいずれの領域へのアクセスであるかを判定するローカル判定部と、を有することを特徴とする情報処理装置。前記ノードの各々は、前記ノードの各々が備える記憶装置の物理アドレスのうち、所定の位置のビットが同一の値である物理アドレスを前記共有領域に割当てるとともに、前記所定の位置のビットが前記共有領域に割当てた物理アドレスとは異なる値である物理アドレスを前記ローカル領域に割当し、前記ローカル判定部は、前記転送データに含まれる物理アドレスのうち、前記所定の位置のビットの値に応じて、前記ローカル領域と前記共有領域とのいずれの領域へのアクセスであるかを判定することを特徴とする請求項1に記載の情報処理装置。前記ノードの各々は、前記ノードの各々が備える記憶装置の全物理アドレスを前記ローカル領域と前記共有領域とに分けて割り当て、前記ローカル判定部は、前記転送データに含まれる物理アドレスのうち、最上位のビットの値に応じて、前記ローカル領域と前記共有領域とのいずれの領域へのアクセスであるかを判定することを特徴とする請求項1または2に記載の情報処理装置。前記ノードの各々は、前記ローカル判定部が前記ローカル領域へのアクセスであると判定した場合には、当該転送データの送信元となるノードに対してアクセスを許可しない旨の否定応答を送信することを特徴とする請求項1-3のいずれか1つに記載の情報処理装置。前記プロセッサ識別情報と、当該プロセッサ識別情報が示すプロセッサを備えるノードの記憶装置に割当てられた物理アドレスとを対応付けて記憶する記憶部をさらに有し、前記第2変換部は、前記物理アドレスを、前記記憶部に当該物理アドレスと対応付けて記憶されたプロセッサ識別情報に変換することを特徴とする請求項1-4のいずれか1つに記載の情報処理装置。前記情報処理装置は、前記ノードの各々が備える前記記憶部に記憶されたプロセッサ識別情報と物理アドレスとの対応付けの書換を行う制御装置をさらに備えることを特徴とする請求項5に記載の情報処理装置。前記ノードの各々は、自ノードが備える記憶装置のデータをキャッシュしたノードを示すディレクトリを用いて、各ノードがキャッシュしたデータの同一性を保持するディレクトリ制御部を有することを特徴とする請求項1-6のいずれか1つに記載の情報処理装置。前記ノードの各々は、前記記憶装置からデータをキャッシュするキャッシュメモリと、キャッシュミスが発生した場合は、キャッシュミスした物理アドレスが他のノードが有する記憶装置の物理アドレスであるか否かを判別する判別部とをさらに有し、前記第2変換部は、前記キャッシュミスした物理アドレスが他のノードが有する記憶装置の物理アドレスであると前記判別部が判別した場合は、当該物理アドレスをプロセッサ識別情報に変換することを特徴とする請求項1-7のいずれか1つに記載の情報処理装置。前記ノードの各々が備えるプロセッサにより実行される各OSは、アプリケーションから前記共有領域の獲得が要求された場合には、当該アプリケーションが使用する論理アドレスと、前記共有領域に割当てられる物理アドレスとの変換を行うように前記第1変換部を設定することを特徴とする請求項2-7のいずれか1つに記載の情報処理装置。それぞれがプロセッサ及び記憶装置を備える複数のノードと前記複数のノード間を接続するインターコネクトとを有する情報処理装置の各ノードが実行するメモリアクセス方法であって、アクセス対象の論理アドレスと物理アドレスとの変換を行い、前記物理アドレスと各ノードに備えられたプロセッサを識別するプロセッサ識別情報との変換を行い、前記物理アドレス及び前記プロセッサ識別情報を含む転送データを送信し、他のノードから前記インターコネクトを介して送信された転送データを受信した場合は、当該転送データに含まれる物理アドレスに基づいて、自ノードの記憶装置のデータ格納領域のうち、自ノード内のアクセスに用いられるローカル領域と、他ノードからもアクセス可能な共有領域とのいずれの領域へのアクセスであるかを判定する処理を実行することを特徴とするメモリアクセス方法。ここで、上述したNUMAの技術では、各ノードの演算処理装置がキャッシュしたデータのコヒーレンシを保つことができない。そこで、各ノードの演算処理装置がキャッシュしたデータのコヒーレンシを保つ機構を備えるccNUMACacheCoherentNUMAを採用することが考えられる。しかしながら、ccNUMAを適用した情報処理システムでは、各ノードがアクセス対象となる記憶領域が存在するノードを識別するので、アドレス変換を効率良く行う必要がある。また、各ノードは、主記憶装置を自ノードのみが利用する記憶領域と、他ノードと共用する記憶領域とに分割する場合がある。このような場合には、各ノードは、アクセス対象記憶領域が、他のノードと共用する記憶領域であるかを効率良く行う必要がある。本発明は、1つの側面では、各演算処理装置によるメモリアクセスを効率的に行うことができる。1つの側面では、それぞれがプロセッサ及び記憶装置を備える複数のノードと、各ノード間を接続するインターコネクトとを有する情報処理装置である。このような情報処理装置が有する各ノードは、論理アドレスと物理アドレスとの変換を行う。また、各ノードは、物理アドレスと各ノードに備えられたプロセッサを識別するプロセッサ識別情報との変換を行う第2変換部とを有する。また、各ノードは、第1変換部によって論理アドレスから変換された物理アドレスと、前記第2変換部により物理アドレスから変換されたプロセッサ識別情報を含む転送データを送信する。また、各ノードは、他のノードからインターコネクトを介して送信した転送データを受信すると、転送データに含まれる物理アドレスに基づいて、自ノード内のアクセスに用いられるローカル領域と、他ノードからもアクセス可能な共有領域とのいずれの領域へのアクセスであるかを判定する。1実施形態によれば、各演算処理装置によるメモリアクセスを効率的に行うことができる。以下に添付図面を参照して本願に係る情報処理装置及びメモリアクセス方法について説明する。まず、本願に係る実施例の説明の前に、従来の情報処理システムが有する問題の具体例について説明する。例えば、従来の情報処理システムは、CPUCentralProcessingUnitが共有メモリ領域にアクセスするために出力した論理アドレスを共有メモリ空間アドレスに変換する。そして、情報処理システムは、共有メモリ空間をアドレスを物理アドレスに変換することで、CPUのアクセス対象となる記憶領域を識別する。しかし、このように論理アドレスを共有メモリ空間アドレスに変換し、変換後の共有メモリ空間アドレスを物理アドレスに変換する手法では、アドレス変換に要するハードウェアの物量が多くなってしまう。また、論理アドレスを共有メモリ空間アドレスに変換し、変換後の共有メモリ空間アドレスを物理アドレスに変換する手法では、アドレス変換に要する時間が増加してしまう。また、従来の情報処理システムは、CPUが共有メモリ空間のデータをキャッシュする際に、全てのCPUに対してキャッシュ情報を送信することで、コヒーレンシを保持する。しかし、このように、全てのCPUに対してキャッシュ情報を送信する手法では、ボトルネックが発生し、メモリアクセスの性能が悪化してしまう。また、従来の情報処理システムは、CPUの増設を行った場合は、CPUの個数の増加に比例してバストラフィックが増加するので、ボトルネックが発生し、メモリアクセスの性能が悪化してしまう。また、例えば、ノードは、自ノードのみがアクセスするローカル領域にカーネルデータやユーザデータを格納する。このため、各ノードは、ローカル領域に格納したデータのセキュリティを確保し、ソフトウェアバグに対する耐性を高くするため、アクセス対象となる記憶領域が他ノードからアクセス可能である共有メモリ域かアクセス不能なローカルメモリ域かの判断を要する。このため、従来の情報処理システムにおいては、ローカル領域に記憶されたデータはキャッシュ可能とし、共有領域に記憶されたデータはキャッシュ不能とする。しかし、このように共有領域に記憶されたデータをキャッシュ不能とする手法では、メモリアクセスにおけるレイテンシが増大してしまう。なお、他のノードからメモリアクセスが行われる度にアクセス対象が共有領域であるかローカル領域であるかを判断する場合には、判断を行うための回路規模が増大するとともに、アクセスにおけるレイテンシが増大してしまう。また、従来の情報処理システムにおいては、ノードは、他のノードが有するメモリにアクセスする度に、特殊なチャネル装置やDMADirectMemoryAccessエンジンのプログラムの実行を要するため、メモリアクセスの性能が劣化してしまう。また、従来の情報処理システムでは、メモリが有する記憶領域のどの領域を共有領域とするかを固定的に設定する。このため、例えば、従来の情報処理システムでは、システムを停止させることなく、ノードを追加することで共有領域を追加することができない。また、従来の情報処理システムにおいては、チャネルやDMA経路を介したメモリアクセスを行うためのハードウェアが追加される。このため、従来の情報処理システムにおいては、ノード間でメモリを共有しないシステムと比較して、設置されるハードウェアが大きく異なる。この結果、従来の情報処理システムにおいては、ノード間でメモリを共有する場合には、OSOperatingSystem等のプログラムを大幅に変更しなければならない。以下の説明では、実施例1として、上述した問題を解決する情報処理システムの一例について説明する。まず、図1を用いて、情報処理システムの構成例について説明する。図1は、実施例1に係る情報処理システムの一例を説明するための図である。図1に示す例では、情報処理システム1は、XBクロスバスイッチ2と複数のビルディングブロック10~10eとを有する。また、各ビルディングブロック10~10eは、管理用ネットワークを介して管理端末3と接続されている。また、XB2は、サービスプロセッサ2bを有する。ビルディングブロック10は、複数のCPU21~21cと複数のメモリ22~22cとサービスプロセッサ24とを有する。また、他のビルディングブロック10~10eも、ビルディングブロック10と同様の構成を有するものとし、以下の説明を省略する。なお、図1に示す例では、CPU21b、21bおよびメモリ22b、22cについては、記載を省略した。XB2は、各ビルディングブロック10~10eを相互に接続するクロスバスイッチである。また、XB2が有するサービスプロセッサ2bは、各ビルディングブロック10~10eが有するサービスプロセッサを管理するサービスプロセッサ、すなわち、マスタとなるサービスプロセッサである。また、管理端末3は、管理用ネットワークを介して、各ビルディングブロック10~10eが有するサービスプロセッサの設定や制御を行う端末である。なお、少数のノードが接続される小規模構成の場合、XB2を介さずにビルディングブロック同士を直接接続してもよい。各ビルディングブロック10~10eは、それぞれ独立してOSを動作させる。すなわち、各ビルディングブロック10~10eが実行するOSは、ビルディングブロック毎に異なるパーティションで動作する。ここで、パーティションとは、同一のOSが動作し、動作しているOSから見て1つのシステムとして動作するビルディングブロックの群を示す。例えば、ビルディングブロック10~10aがパーティションAとして動作し、ビルディングブロック10b~10dがパーティションBとして動作する。このような場合には、ビルディングブロック10が動作させるOSは、ビルディングブロック10、10aが1つのシステムとして動作していると識別し、ビルディングブロック10bが動作させるOSは、ビルディングブロック10b~10dが1つのシステムとして動作していると識別する。次に、図2を用いて、ビルディングブロックの構成例について説明する。図2は、実施例1に係るビルディングブロックの機能構成を説明するための図である。図2に示す例では、ビルディングブロック10は、ノード20、サービスプロセッサ24、XB接続部27、27a、PCIePeripheralComponentInterconnectExpress接続部28を有する。また、ノード20は、複数のCPU21~21cと複数のメモリ22~22cと通信部23とを有する。また、サービスプロセッサ24は、制御部25と通信部26とを有する。また、図2に示す例では、各CPU21~21cは、相互に直接接続されるとともに、通信部23と接続されている。また、各メモリ22~22cは、各CPU21~21cと接続されている。また、各CPU21~21cは、XB接続部27またはXB接続部27aと接続されている。なお、XB接続部27、27aは、同一のXB接続部であってもよい。また、各CPU21~21cは、PCIe接続部28と接続されている。また、通信部23は、サービスプロセッサ24が有する通信部26と接続されている。なお、制御部25、通信部26、通信部23、各CPU21~21cは、例えば、JTAGJointTestActionGroupやI2CInterIntegratedCircuitで接続されている。例えば、図2に示す例では、CPU21~21cは、演算処理を実行する演算処理装置である。また、各CPU21~21cには、それぞれ独立したメモリ22~22cが接続されている。また、各CPU21~21cは、メモリ22~22cや、他のビルディングブロック10a~10eが有するメモリを共有メモリとして利用する。また、各CPU21~21cは、後述するように、物理アドレスと、物理アドレスが割り振られたメモリと接続されたCPUの識別子であるCPUIDidentificationとを対応付けたノードマップを有する。そして、例えば、CPU21は、アクセス対象となる物理アドレスと対応付けられたCPUIDが、ノード20とは異なるノードが有するCPUを示す場合には、XB接続部27およびXB2を介して他のノードにメモリアクセスのリクエストを送信する。また、CPU21は、アクセス対象となる物理アドレスと対応付けられたCPUIDが、CPU21a~21cを示す場合には、CPU間の直接接続を介して、メモリアクセスのリクエストを送信する。すなわち、CPU21は、アクセス対象となる物理アドレスと対応付けられたCPUIDが、CPU21以外のCPUであって、自身と同じノード20に存在するCPUを示す場合には、CPU間の直接接続を介して、メモリアクセスのリクエストを送信する。また、CPU21は、自身と接続されたメモリに対するリクエストを他のノードから受信した場合には、リクエストの対象となるデータを自身と接続されたメモリ22から読出し、リクエスト元へ送信する。なお、各CPU21~21cは、実行中のアプリケーションが共有メモリの割り当てを要求した場合には、相互に通信を行い、アプリケーションが使用する共有メモリの割当てを行う機能を有する。また、各CPU21~21cは、TLBを用いたアドレス変換を行うとともに、TLBミスが発生した際に、トラップ処理を実行するなど、従来のCPUと同様の処理を実行する機能を有するものとする。メモリ22~22cは、情報処理システム1が有する全てのCPUが共用するメモリである。また、情報処理システム1においては、全てのビルディングブロック10~10eが有するメモリに対して、各ビルディングブロック10~10eのサービスプロセッサが、同一の物理アドレス空間にマッピングされる物理アドレスを振分ける。すなわち、情報処理システム1が有する全てのメモリには、重複しない値の物理アドレスが割当てられている。また、メモリ22~22cは、記憶領域の一部を、情報処理システム1が有する全てのCPUが共用する共有領域とし、他の部分を、自身にアクセスするCPU21~21cがカーネルデータやユーザデータを格納するローカル領域とする。また、メモリ22~22cには、情報処理システム1が用いる物理アドレス空間のうち、ある位置のビットが同一の値となる範囲の物理アドレスが有領域に振り分けられる。また、メモリ22~22cには、ある位置のビットが共有領域に振り分けた物理アドレスとは異なる値となる範囲の物理アドレスがーカル領域に振り分けられる。例えば、メモリ22~22cには、46ビット目のビットが0となる物理アドレスがローカル領域に振り分けられ、46ビット目のビットが1となる物理アドレスが共有領域に振り分けられる。詳細な例を挙げると、メモリ22~22cのローカル領域に対しては、物理アドレス空間のうち、0~0x63ffffffffffに含まれる物理アドレスが振り分けられる。また、メモリ22~22cの共有領域に対しては、物理アドレス空間のうち、0x64000000000~0x127ffffffffffに含まれる物理アドレスが振り分けられる。なお、情報処理システム1においては、各ビルディングブロック10~10gごとに、異なる範囲に含まれる物理アドレスをメモリに振り分ける。以下、図面を用いて、情報処理システム1において、各ビルディングブロック10~10eごとに、メモリに振り分ける物理アドレスの範囲を説明する。図3は、実施例1に係るビルディングブロックのメモリに振り分けられる物理アドレスの範囲を説明するための図である。なお、図3に示す例では、各ビルディングブロックをBBBildingBlockと記載した。また、BB0とは、ビルディングブロック10を示し、BB1とは、ビルディングブロック10aを示し、BB15とは、ビルディングブロック10eを示す。すなわち、図3に示す例では、情報処理システム1は、16個のビルディングブロックを有するものとする。また、図3に示す例では、各ビルディングブロックには、最大で4TBTerabyteのメモリを搭載可能であるものとする。また、以下の説明においては、メモリアドレスの表記を簡易化するため、例えば242となるアドレス番地を4TBと記載する。図3に示す例では、ビルディングブロック10が有するメモリ22~22cにおいては、物理アドレス空間のうち、0~4TB-1までの範囲に含まれる物理アドレスがローカル領域に振り分けられる。また、ビルディングブロック10が有するメモリ22~22cにおいては、物理アドレス空間のうち、64TB~68TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、ビルディングブロック10aが有するメモリにおいては、物理アドレス空間のうち、4TB~8TB-1までの範囲に含まれる物理アドレスがローカル領域に振り分けられる。また、ビルディングブロック10aが有するメモリにおいては、物理アドレス空間のうち、68TB~72TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、ビルディングブロック10eが有するメモリにおいては、物理アドレス空間のうち、60TB~64TB-1までの範囲に含まれる物理アドレスがローカル領域に振り分けられる。また、ビルディングブロック10aが有するメモリにおいては、物理アドレス空間のうち、124B~128TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。この結果、情報処理システム1は、図4に示すように、物理アドレス空間を各ビルディングブロック10~10eが有する全てのメモリに対して振り分けることとなる。図4は、実施例1に係る情報処理システムが各メモリに振り分ける物理アドレスを説明するための図である。具体的には、図4に示す例では、情報処理システム1は、0~256TB-1までの物理アドレスのうち、0~64TB-1までの範囲をローカル領域に振り分ける物理アドレスとする。また、情報処理システム1は、64TB~128TB-1までの範囲を共有領域に振り分ける物理アドレスとする。すなわち、情報処理システム1は、最下位のビットを0ビット目として46ビット目のビットが0の範囲をローカル領域に振り分け、1の範囲を共有領域に振り分ける。なお、情報処理システム1は、128TB~256TB-1までの範囲をI/O空間として用いる。なお、図3、4に示す例は、あくまで一例であり、情報処理システム1は、異なる振り分け方を採用してもよい。以下、情報処理システム1が、物理アドレスを振り分けるバリエーションの例について図を用いて説明する。図5は、物理アドレスの振り分けのバリエーションを説明するための第1の図である。図5に示す例では、各ビルディングブロック10~10eが有するメモリにおいては、0~4TB-1までの範囲に含まれる物理アドレスがローカル領域に振り分けられる。また、図5に示す例では、ビルディングブロック10が有するメモリ22においては、4TB~8TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、図5に示す例では、ビルディングブロック10aが有するメモリにおいては、8TB~12TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、図5に示す例では、ビルディングブロック10eが有するメモリにおいては、64TB~68TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。この結果、図5に示す例では、情報処理システム1は、物理アドレス空間のうち、0~4TB-1までの範囲の物理アドレスをローカル領域に振り分け、4TB~128TB-1までの範囲の物理アドレスを共有領域に振り分ける。また、図5に示す例では、情報処理システム1は、128TB~256TB-1までの範囲をI/O空間として用いる。すなわち、情報処理システム1は、最下位のビットを0ビット目として42ビット目のビットが0の範囲をローカル領域に振り分け、1の範囲を共有領域に振り分ける。また図6は、物理アドレスの振り分けのバリエーションを説明するための第2の図である。図6に示す例では、各ビルディングブロック10~10eが有するメモリにおいては、0~4TB-1までの範囲に含まれる物理アドレスがI/O空間用に保存される。また、図6に示す例では、各ビルディングブロック10~10eが有するメモリにおいては、4TB~8TB-1までの範囲に含まれる物理アドレスがローカル領域に振り分けられる。また、図6に示す例では、ビルディングブロック10が有するメモリ22~22cにおいては、8TB~12TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、図6に示す例では、ビルディングブロック10aが有するメモリにおいては、12TB~16TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。また、図6に示す例では、ビルディングブロック10eが有するメモリにおいては、68TB~72TB-1までの範囲に含まれる物理アドレスが共有領域に振り分けられる。この結果、図6に示す例では、情報処理システム1は、物理アドレス空間のうち、0~4TB-1までの範囲をI/O空間とし、4TB~8TB-1までの範囲の物理アドレスをローカル領域に振り分けることとなる。また、図5に示す例では、情報処理システム1は、8TB~256TB-1までの範囲の物理アドレスを共有領域に振り分けることとなる。すなわち、情報処理システム1は、最下位のビットを0ビット目として43ビット目のビットが0の範囲をローカル領域に振り分け、1の範囲を共有領域に振り分ける。図2に戻って、制御部25は、ビルディングブロック10の制御を行う。例えば、制御部25は、ビルディングブロック10の電源管理や、ビルディングブロック10内の異常の監視や制御等を実行する。また、制御部25は、管理用ネットワークを介して、管理端末3や他のビルディングブロック10~10eが有するサービスプロセッサの制御部とも接続されており、管理端末3によって指示された制御や、各ビルディングブロック10~10e間で連係した制御を実行できる。また、制御部25は、各CPU21~21cが実行するOSと通信を行うことができる。なお、実施例1では、各ビルディングブロック10~10eが有するサービスプロセッサは、管理用ネットワークを介して接続されているが、実施例はこれに限定されるものではない。たとえば、各ビルディングブロック10~10eを接続するXBを介して相互に通信しても良い。また、制御部25は、通信部26と通信部23を介して、各CPU21~21cにアクセスする。そして、制御部25は、後述するように、各ビルディングブロック10~10eが有するノードマップの更新や制御等を実行する。なお、通信部23は、サービスプロセッサ24が有する通信部26を介して、制御部25による制御信号を各CPU21~21cに伝達する。また、通信部26は、制御部25による制御信号をノード20が有する通信部23に伝達する。また、XB接続部27、27aは、各CPU21~21cをXB2と接続し、各ビルディングブロック10~10eが有するCPU間の通信を中継する。また、PCIe接続部28は、各CPU21~21cによるI/OInputOutput装置へのアクセスを中継する。次に、図7を用いて、各CPU21~21cが有する機能構成について説明する。図7は、実施例1に係るCPUの機能構成を説明するための図である。なお、CPU21a~21cは、CPU21と同様の機能を発揮するものとして、説明を省略する。また、図7に示す例では、サービスプロセッサ24とCPU21とを接続する接続部23、26については、記載を省略した。図7に示す例では、CPU21は、演算処理部30、ルータ40、メモリアクセス部41、PCIe制御部42を有する。また、演算処理部30は、演算部31、L1Level1キャッシュ32、L2キャッシュ33、ノードマップ34、アドレス変換部35、キャッシュディレクトリ管理部36、パケット制御部37を有する。また、パケット制御部37は、リクエスト生成部38、リクエスト受信部39を有する。また、PCIe制御部42は、リクエスト生成部43、PCIeバス制御部44を有する。まず、演算処理部30が有するノードマップ34について説明する。ノードマップ34は、物理アドレスと、物理アドレスが示す記憶領域を有するメモリと接続されたCPUのCPUIDとを対応付けて記憶する。以下、ノードマップ34が記憶する情報の例を図面を用いて説明する。図8は、実施例1に係るノードマップが記憶する情報の一例を説明するための図である。図8に示す例では、ノードマップ34は、アドレス、バリッド、ノードID、CPUIDとを対応付けたエントリを記憶する。ここで、各エントリのアドレスには、連続する複数の物理アドレスを含むアドレス域を示す情報が格納される。例えば、情報処理システム1は、全てのメモリに対して振り分けた物理アドレス空間を均等な大きさのアドレス域に分割し、各アドレス域に0、1、2等の識別子を付与する。そして、情報処理システム1は、各アドレス域を示す識別子を、ノードマップ34が有する各エントリのアドレスに格納する。また、各エントリのバリッドには、物理アドレスが示す記憶領域にアクセスすることができるか否かを示すバリッドビットが格納される。例えば、物理アドレスが示す記憶領域が、各CPUで共有される共有領域である場合には、アクセスを行う事ができる旨のバリッドビット例えば1が格納される。また、ノードIDとは、物理アドレスが振り分けられたメモリが存在するノードを示す識別子である。また、CPUIDとは、物理アドレスが振り分けられたメモリと接続されたCPUを示す識別子である。すなわち、ノードマップ34は、アクセス対象となる物理アドレスが、どのCPUと接続されたメモリの物理アドレスであるかを示す情報を記憶する。例えば、図8に示す例では、ノードマップ34は、識別子が0のアドレス域が、ノードID0で示されるノードに存在し、CPUIDが0のCPUがアクセスを行う旨を示す。また、ノードマップ34は、識別子が1のアドレス域が、ノードID0で示されるノードに存在し、CPUIDが1のCPUがアクセスを行う旨を示す。また、ノードマップ34は、識別子が2のアドレス域が、CPU21がアクセスを行わない、又は、マッピングされていないアドレス域であるため、ノードIDとCPUIDとが設定されていない旨を示す。なお、ノードマップ34は、アクセス対象となる物理アドレスがどのCPUと接続された物理アドレスであるかを示すことができれば、本実施例以外の任意の形式で情報を登録することとしてよい。以下、ノードマップ34のバリエーションの例について、図9および図10を用いて説明する。図9は、ノードマップが記憶する情報のバリエーションの一例を説明するための第1の図である。図9に示す例では、ノードマップ34は、バリッド、スタートアドレス、アドレスマスク、ノードID、CPUIDを対応付けてエントリを記憶する。ここで、スタートアドレスとは、アドレス域に含まれる物理アドレスのうち、最若番の物理アドレスが格納される。また、アドレスマスクには、CPUが管理する物理アドレスの範囲を示すアドレスマスクが格納される。例えば、あるエントリは、アドレスマスクが0xffffffffffff0000である場合には、同一エントリのスタートアドレスと上位48ビットが一致するアドレス領域を、同一エントリのCPUIDが示すCPUが管理することを示す。例えば、図9に示す例では、ノードマップ34は、最初のエントリとして、アドレス0x00000からアドレスマスク0x3fffでマスクされる範囲、すなわち0x03fffまでの範囲が1つのアドレス域である旨を示す。また、ノード34は、0x00000から0x03fffのアドレス域が、ノードID0で示されるノードに存在し、CPUIDが0のCPUがアクセスするアドレス域である旨を示す。同様に、ノードマップ34は、0x10000から0x13fffのアドレス域が、ノードID1で示されるノードに存在し、CPUIDが4のCPUがアクセスするアドレス域である旨を示す。また、ノードマップ34は、0x14000から0x17fffのアドレス域が、ノードID1で示されるノードに存在し、CPUIDが5のCPUがアクセスするアドレス域である旨を示す。また、ノードマップ34は、0x20000から0x21fffのアドレス域が、ノードID2で示されるノードに存在し、CPUIDが8のCPUがアクセスするアドレス域である旨を示す。なお、ノードマップ34は、図9に示すように、アドレス域をスタートアドレスとアドレスマスクとで表現した場合には、物理アドレスが各アドレス域に含まれるか否かを論理和と論理積の組合せで実行することができるため、回路構成が容易となる。また、図10は、ノードマップが記憶する情報のバリエーションの一例を説明するための第2の図である。図10に示す例では、ノードマップ34は、バリッド、スタートアドレス、レングス、ノードID、CPUIDを対応付けたエントリを記憶する。ここで、レングスとは、アドレス域の大きさを設定する情報である。例えば、スタートアドレスが0x120000で、レングスが0x1ffffとすると、同一エントリのCPUIDが示すCPUは、管理するメモリに対して、物理アドレス0x120000から0x13ffffを割当てることとなる。例えば、図10に示す例では、ノードマップ34は、最初のエントリとして、アドレス0x00000からレングスが0x3fffに含まれる範囲、すなわち0x03fffまでの範囲が1つのアドレス域である旨を示す。また、ノード34は、0x00000から0x03fffのアドレス域が、ノードID0で示されるノードに存在し、CPUIDが0のCPUがアクセスするアドレス域である旨を示す。同様に、ノードマップ34は、0x10000から0x13fffのアドレス域が、ノードID1で示されるノードに存在し、CPUIDが4のCPUがアクセスするアドレス域である旨を示す。また、ノードマップ34は、0x14000から0x17ffのアドレス域が、ノードID1で示されるノードに存在し、CPUIDが5のCPUがアクセスするアドレス域である旨を示す。また、ノードマップ34は、0x20000から0x202efのアドレス域が、ノードID2で示されるノードに存在し、CPUIDが8のCPUがアクセスするアドレス域である旨を示す。なお、ノードマップ34は、図10に示すように、アドレス域をスタートアドレスとレングスとで表現した場合には、各アドレス域の長さを柔軟に設定することができる。すなわち、ノードマップ34は、アドレス域をスタートアドレスとアドレスマスクとで表現した場合は、LSBLeastSignificantBitから1が連続する範囲のアクセス域を指定することとなる。一方、各アドレス域をスタートアドレスとレングスとで表現した場合には、各アドレス域の長さを任意の長さに設定することができる。図7に戻って、演算部31は、演算処理を実行し、OSやアプリケーションを実行する演算装置のコアである。また、演算部31は、データの読み込みを行う場合には、読み込み対象となるデータが格納された記憶領域の論理アドレスをアドレス変換部35に出力する。L1キャッシュ32は、データやディレクトリのうち頻繁に利用されるデータを一時的に記憶するキャッシュメモリである。L2キャッシュ33は、L1キャッシュ32と同様に、データやディレクトリのうち頻繁に利用されるデータを一時的に記憶するが、L1キャッシュ32よりも記憶容量が大きく、データを読み書きする速度が低速なキャッシュメモリである。なお、ディレクトリとは、メモリ22の各記憶領域に記憶されたデータをキャッシュしたCPUや、キャッシュされたデータの更新状況を示す情報である。アドレス変換部35は、TLBTranslationLookasideBufferを用いて、演算部31が出力した論理アドレスを物理アドレスに変換する。例えば、アドレス変換部35は、論理アドレスと物理アドレスとを対応付けたエントリを記憶するTLBを有し、演算部31から取得した論理アドレスと対応付けて記憶する物理アドレスをキャッシュディレクトリ管理部36に出力する。なお、アドレス変換部35は、TLBミスが発生した場合は、トラップ処理を実行し、TLBミスした物理アドレスと論理アドレスの組をTLBに登録する。また、アドレス変換部35は、CPU21が実行するアプリケーションから共有メモリへの割当てを要求された場合には、以下の処理を実行する。すなわち、アドレス変換部35は、各CPU21~21cが共用する共有領域にアクセスする際にアプリケーションが用いる論理アドレスと、共有領域に割当てられる範囲の物理アドレスとを対応付けたエントリをTLBに設定する。また、アドレス変換部35は、アプリケーションやOSからローカル領域の割当を要求された場合は、以下の処理を実行する。すなわち、アドレス変換部35は、アプリケーションやOSがCPU21専用のローカル領域にアクセスするための論理アドレスと、ローカル領域に割当てられる範囲の物理アドレスとを対応付けたエントリをTLBに設定する。キャッシュディレクトリ管理部36は、キャッシュデータおよびディレクトリの管理を行う。具体的には、キャッシュディレクトリ管理部36は、アドレス変換部35から、演算部31が出力した論理アドレスを変換した物理アドレスを取得する。そして、キャッシュディレクトリ管理部36は、アドレス変換部35から物理アドレスを取得した場合には、ディレクトリをチェックし、物理アドレスが示すデータの状態が正常かチェックする。また、物理アドレスが示すデータをL1キャッシュ32またはL2キャッシュ33がキャッシュしている場合には、キャッシュしているデータを演算部31に出力する。一方、キャッシュディレクトリ管理部36は、物理アドレスが示すデータをL1キャッシュ32またはL2キャッシュ33がキャッシュしていない場合は、物理アドレスが示す記憶領域が、メモリ22に存在するか否かを判別する。そして、キャッシュディレクトリ管理部36は、物理アドレスが示す記憶領域がメモリ22に存在しない場合には、ノードマップ34を参照する。また、キャッシュディレクトリ管理部36は、ノードマップ34を参照し、取得した物理アドレスを含む範囲のエントリを識別する。そして、キャッシュディレクトリ管理部36は、識別したエントリのCPUIDがCPU21のCPUIDであるか否かを判別する。その後、キャッシュディレクトリ管理部36は、識別したエントリのCPUIDがCPU21のCPUIDである場合は、メモリアクセス部41に、物理アドレスを出力する。また、キャッシュディレクトリ管理部36は、識別したエントリのCPUIDがCPU21のCPUIDではない場合には、以下の処理を実行する。すなわち、キャッシュディレクトリ管理部36は、識別したエントリのCPUIDとノードIDとを取得する。そして、キャッシュディレクトリ管理部36は、パケット制御部37に対して、取得したCPUIDと物理アドレスとを出力する。なお、キャッシュディレクトリ管理部36は、出力した物理アドレスが示す記憶領域に格納されているデータをメモリアクセス部41やパケット制御部37から取得した場合には、取得したデータをL1キャッシュ32およびL2キャッシュ33に格納する。そして、キャッシュディレクトリ管理部36は、L1キャッシュ32にキャッシュさせたデータを演算部31に出力する。また、キャッシュディレクトリ管理部36は、パケット制御部37から物理アドレスを取得した場合、すなわち、他のCPUからのメモリアクセスのリクエストの対象となる物理アドレスを取得した場合には、以下の処理を実行する。すなわち、キャッシュディレクトリ管理部36は、取得した物理アドレスのうち、所定の位置のビットが0であるか1であるかに応じて、取得した物理アドレスがローカル領域に振り分けられた物理アドレスであるか否かを判別する。例えば、キャッシュディレクトリ管理部36は、情報処理システム1の各メモリに対して、図3、図4に例示した範囲の物理アドレスが振り分けられている場合には、最下位のビットを0ビット目として46ビット目が0であるか1であるかを判別する。そして、キャッシュディレクトリ管理部36は、46ビット目が0である場合には、取得した物理アドレスがローカル領域に振り分けられた物理アドレスであると判別する。このような場合には、キャッシュディレクトリ管理部36は、パケット制御部37に対して、リクエスト元に否定応答アクセスエラーを送信するように指示する。また、キャッシュディレクトリ管理部36は、46ビット目が1である場合には、取得した物理アドレスが共有領域に振り分けられた物理アドレスであると判別する。このような場合には、キャッシュディレクトリ管理部36は、取得した物理アドレスが示す記憶領域に記憶されたデータを取得し、取得したデータをパケット制御部37に出力し、リクエスト元へ送信するよう指示する。なお、キャッシュディレクトリ管理部36は、メモリ22に格納されたデータにアクセスする場合には、物理アドレスが示す記憶領域のデータと、キャッシュされたデータとのコヒーレンスを保持する処理を行う。例えば、キャッシュディレクトリ管理部36は、キャッシュエントリごとにキャッシュデータの状態を示すキャッシュタグと、ディレクトリとを参照する。そして、キャッシュディレクトリ管理部36は、キャッシュタグとディレクトリとに基づいて、キャッシュコヒーレンスを保持する処理、および、メモリアクセス処理を実行する。ここで、図11Aは、キャッシュタグの一例を説明するための図である。図11Aに示す例では、キャッシュタグは、縮退フラグ、ECCErrorCheckandCorrectmemoryチェックビット、IFInstructionFetch/オプコード、L1キャッシュステート、L2キャッシュステート、AAとを有する。ここで、縮退フラグとは、縮退するか否かを示すキャッシュライン縮退情報である。また、ECCチェックビットとは、冗長化のために付加されるチェックビットである。IF/オプコードとは、データがインストラクションであるかデータであるかを示す情報である。また、AAとは、アドレス情報であり、詳細には、物理アドレスのフレームアドレスが格納される。また、L1キャッシュステート、および、L2キャッシュステートとは、L1キャッシュ32およびL2キャッシュ33に格納されたデータの状態を示す情報である。例えば、L1キャッシュステートやL2キャッシュステートには、MModified、EExclusive、SShared、IInvalidのいずれかを示すビットが格納される。ここで、Modifiedとは、いずれか1つのCPUがデータをキャッシュしており、かつ、キャッシュされたデータが更新されている状態を示す。なお、キャッシュされたデータの状態がModigiedである場合には、ライトバックを実行する必要がある。また、Exclusiveとは、いずれか1つのCPUがデータをキャッシュしており、かつ、キャッシュされたデータが更新されていない状態を示す。また、Sharedとは、複数のCPUがデータをキャッシュしており、かつ、キャッシュされたデータが更新されていないことを示す。なお、Invalidとは、キャッシュのステータスが登録されていないことを示す。一方、ディレクトリは、2ビットのCKビット、63ビットのPRC、4ビットのUEを管理する。ここで、CKビットとは、キャッシュされたデータの状態をコード化した情報である。また、PRCとは、当該キャッシュラインのデータをキャッシュしたCPUの位置をビットマップで示す情報である。また、UEとは、ディレクトリの異常と要因とを示す情報である。キャッシュディレクトリ管理部36は、取得した物理アドレスに格納されたデータをキャッシュするCPUや、キャッシュされたデータの状態等を識別する。そして、キャッシュディレクトリ管理部36は、キャッシュされたデータの状態に基づいて、スヌープを発行してメモリのデータを更新する等の処理を行い、キャッシュされたデータとメモリのデータとのコヒーレンスを保持する。その後、キャッシュディレクトリ管理部36は、データを要求元に出力する。ここで、キャッシュディレクトリ管理部36がキャッシュコヒーレンスを保持する処理の一例について説明する。例えば、キャッシュディレクトリ管理部36は、ステータスがMModifiedであるデータをキャッシュしたCPUに対してライトバックを指示する命令を送信するようパケット生成部38に指示する。そして、キャッシュディレクトリ管理部36は、データのステータスを更新し、更新後のステータスに応じた処理を実行する。なお、キャッシュディレクトリ管理部36が送受信するリクエストや命令の種別については、後述する。リクエスト生成部38は、キャッシュディレクトリ管理部36から物理アドレスと、CPUIDとを取得した場合には、取得した物理アドレスと、CPUIDとを格納したパケット、すなわち、メモリアクセスのリクエストとなるパケットを生成する。そして、リクエスト生成部38は、生成したパケットをルータ40に送信する。ここで、図11Bは、実施例1に係るCPUが送信するパケットを説明するための図である。なお、図11Bに示す例では、物理アドレスをPAPhysicalAddressと記載した。図11Bに示す例では、リクエスト生成部38は、CPUIDと物理アドレスと、リクエストの内容を示すデータとが格納されたリクエストを生成し、生成したリクエストをルータ40に出力する。このような場合には、ルータ40は、リクエスト生成部38が生成したリクエストをXB接続部27を解してXB2に出力する。すると、XB2は、リクエストに格納されたCPUIDが示すCPUへとリクエストを転送する。なお、リクエスト生成部38は、キャッシュディレクトリ管理部36からコヒーレンシを保持するためのリクエストや命令の発行の指示を受付けた場合には、指示されたリクエストや命令を生成する。そして、リクエスト生成部38は、生成したリクエストや命令をルータ40、XB接続部27、XB2を介して、指示されたCPUに送信する。なお、リクエスト生成部38は、I/O装置からデータを取得する場合は、I/Oに対するアクセス要求をルータ40に出力する。図7に戻って、リクエスト受信部39は、XB2、XB接続部27、ルータ40を介して、他のCPUが出力したパケットを受信すると、受信したパケットに含まれる物理アドレスを取得する。そして、リクエスト受信部39は、取得した物理アドレスをキャッシュディレクトリ管理部36に出力する。また、リクエスト受信部39は、他のCPUが送信したデータを受信した場合には、受信したデータをキャッシュディレクトリ管理部36に出力する。なお、リクエスト受信部39は、コヒーレンシを保持するためのリクエストや命令を受信した場合には、受信したリクエストや命令をキャッシュディレクトリ管理部36に出力する。また、リクエスト受信部39は、I/Oに対するアクセス要求の応答やデータをルータ40から受信した場合は、受信した応答やデータをキャッシュディレクトリ管理部36に出力する。このような場合には、キャッシュディレクトリ管理部36は、例えば、取得したデータをメモリアクセス部41に出力し、メモリ22に格納する処理を行う。ルータ40は、パケット制御部37が有するリクエスト生成部38が出力したパケットを受信した場合には、受信したリクエストをXB接続部27に出力する。また、ルータ40は、XB接続部27を介して、他のCPUが送信したパケットやデータをリクエスト受信部39に出力する。また、ルータ40は、パケット制御部37がI/O等に対して出力したパケットをPCIe制御部42に出力する。また、ルータ40は、I/Oからの応答等をPCIe制御部42から受信した場合には、受信した応答等をパケット制御部37に出力する。メモリアクセス部41は、いわゆるMACMemoryAccessControllerであり、メモリ22に対するアクセスの制御を行う。例えば、メモリアクセス部41は、キャッシュディレクトリ管理部36から物理アドレスを受信した場合には、受信した物理アドレスに格納されたデータをメモリ22から取得し、取得したデータをキャッシュディレクトリ管理部36に出力する。なお、メモリアクセス部41は、メモリーミラー機能を用いて、共有領域を冗長化してもよい。PCIe制御部42が有するリクエスト生成部43は、ルータ40を介してI/Oに対するアクセス要求を取得した場合には、アクセス要求の対象となるI/O装置に送信するリクエストを生成し、生成したリクエストをPCIeバス制御部44に出力する。PCIeバス制御部44は、リクエスト生成部43が生成したリクエストを取得した場合には、PCIe接続部28を介して、I/O装置にリクエストを送信する。次に、図12を用いて、CPU21が他のCPUに対してリクエストを送信する処理の一例について説明する。図12は、実施例1に係るCPUがリクエストを送信する処理の一例を説明するための図である。例えば、図12中Aに示すように、サービスプロセッサ24からノードマップ34に対して、物理アドレスが振り分けられるメモリにアクセスするCPUのCPUIDと物理アドレスとを対応付けたエントリの設定が行われる。また、演算部31は、演算処理を実行し、図12中Bに示すように、アクセス対象となる論理アドレスをアドレス変換部35に出力する。すると、アドレス変換部35は、論理アドレスを物理アドレスに変換し、変換した物理アドレスを図12中Cに示すように、キャッシュディレクトリ管理部36に出力する。ここで、キャッシュディレクトリ管理部36は、アドレス変換部35から物理アドレスを取得すると、図12中Dに示すように、ノードマップ34を参照し、取得した物理アドレスと対応付けられたCPUIDを取得する。そして、キャッシュディレクトリ管理部36は、取得したCPUIDがCPU21のCPUIDではない場合には、図12中Eに示すように、取得したCPUIDと物理アドレスとをパケット制御部37に出力する。このような場合には、リクエスト生成部38は、キャッシュディレクトリ管理部36から取得した物理アドレスとCPUIDとを格納したパケットを生成し、図12中Fに示すように、生成したパケットをルータ40に出力する。すると、図12中Gに示すように、ルータ40は、リクエスト生成部38から取得したパケットをXB接続部27に出力する。その後、図12中Hに示すように、XB接続部27は、取得したパケットをXB2に出力する。すると、XB2は、パケットに格納されたCPUIDが示すCPUへパケットを伝達することとなる。次に、図13を用いて、CPU21が他のCPUからパケットを受信した際に実行する処理の一例について説明する。図13は、実施例1に係るCPUがパケットを受信した際に実行する処理の一例を説明するための図である。例えば、図13中Iに示すようにリクエスト受信部39は、他のCPUからCPU21のCPUIDとメモリ22に振り分けられた物理アドレスとが格納されたパケットを受信する。このような場合には、リクエスト受信部39は、受信したパケットから物理アドレスを取得し、図13中Jに示すように、取得した物理アドレスをキャッシュディレクトリ管理部36に出力する。すると、キャッシュディレクトリ管理部36は、取得した物理アドレスの46ビット目が0であるか1であるかを判別する。すなわち、キャッシュディレクトリ管理部36は、情報処理システム1が図3、図4に示すように、共有領域とローカル領域に振り分ける物理アドレスを設定している場合には、物理アドレスの全ビットを識別せずともよい。すなわち、キャッシュディレクトリ管理部36は、46ビット目が0であるか1であるかを判別するだけで、物理アドレスが示す記憶領域が、共有領域であるかローカル領域であるかを正確に判別することができる。そして、キャッシュディレクトリ管理部36は、受信した物理アドレスの46ビット目が1である場合には、共有領域に対するアクセスであると判別する。このような場合には、キャッシュディレクトリ管理部36は、図13中Kに示すように、物理アドレスが示す記憶領域のデータがL1キャッシュ32およびL2キャッシュ33にキャッシュされているか判別する。また、キャッシュディレクトリ管理部36は、データがキャッシュされていないと判別した場合には、図13中Lに示すように、物理アドレスをメモリアクセス部41に出力する。すると、図13中Mに示すように、メモリアクセス部41は、メモリ22から物理アドレスが示す記憶領域のデータを取得し、キャッシュディレクトリ管理部36に出力する。そして、キャッシュディレクトリ管理部36は、L1キャッシュ32、L2キャッシュ33、またはメモリアクセス部41からデータを取得した場合には、取得したデータをパケット制御部37に出力し、リクエスト元のCPUに送信するよう指示する。例えば、CPU21~21c、通信部23、サービスプロセッサ24、制御部25、通信部26、XB接続部27、PCIe接続部28とは、電子回路である。また、演算部31、アドレス変換部35、キャッシュディレクトリ管理部36、パケット制御部37、リクエスト生成部38、リクエスト受信部39とは、電子回路である。また、ルータ40、メモリアクセス部41、PCIe制御部42、リクエスト生成部43、PCIeバス制御部44とは、電子回路である。ここで、電子回路の例として、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路、またはCPUCentralProcessingUnitやMPUMicroProcessingUnitなどを適用する。また、メモリ22~22aとは、RAMRandomAccessMemory、ROMReadOnlyMemory、フラッシュメモリflashmemoryなどの半導体メモリ素子である。また、L1キャッシュ32、L2キャッシュ33は、SRAMStaticRandomAccessMemory等の高速な半導体メモリ素子である。次に、各CPU21~21cがキャッシュコヒーレンスを保持する処理について簡単に説明する。なお、以下の説明においては、情報処理システム1の各CPUはイリノイプロトコルを用いて、キャシュコヒーレンスを保持するものとする。なお、以下の説明においては、情報処理システム1が有する各メモリは、全てのCPUからキャッシュ可能な空間を有するメモリとして識別されるものとする。また、以下の説明においては、キャッシュ対象となるデータを記憶するメモリに、そのCPU内のMACを介して物理的に直接接続されているCPUをホームCPUとし、キャッシュを要求したCPUをローカルCPUと記載する。また、ホームCPUに対して既にリクエストを送信し、データをキャッシュ済みであるCPUをリモートCPUと記載する。なお、ローカルCPUとホームCPUが同一のCPUとなる場合や、ローカルCPUとリモートCPUとは同一のCPUとなる場合も存在する。例えば、ローカルCPUは、自身のノードマップを参照し、アクセス対象となる物理アドレスがホームCPUがアクセスするメモリに振り分けられていると判別する。そして、ローカルCPUは、物理アドレスを格納したリクエストをホームCPUに対して発行する。なお、ローカルCPUが発行するリクエストには、複数の種別のリクエストが存在する。このため、ホームCPUが有するキャッシュディレクトリ管理部は、取得したリクエストの種別に応じたキャッシュコヒーレンス制御を実行することとなる。例えば、ローカルCPUが発行するリクエストの種別としては、共有型フェッチアクセス、排他型フェッチアクセス、キャッシュ無効化要求、キャッシュリプレース要求等が存在する。共有型フェッチアクセスとは、MoveIntoShareの実行要求であり、ホームCPUがアクセスするメモリからデータの読出しを行う際に発行されるリクエストである。また、排他型フェッチアクセスとは、例えばMoveInExclusivelyの実行要求であり、ホームCPUがアクセスするメモリへデータストアを行う際の、キャッシュへのデータロードを行う際に発行される。また、キャッシュ無効化要求とは、例えばMoveOutの実行要求であり、キャッシュラインの無効化をホームCPUに対して要求する際に発行される。なお、ホームCPUは、キャッシュ無効化要求を受信すると、リモートCPUに対してキャッシュ無効化要求を発行する場合や、キャッシュをInvalidationとさせる命令を発行する場合がある。キャッシュリプレース要求とは、例えばWriteBackの実行要求であり、更新されたキャッシュデータ、すなわちModified状態のキャッシュデータをホームCPUがアクセスするメモリに書き戻す際に発行される。なお、キャッシュリプレース要求には、例えば、FlushBackの実行要求であり、更新されていないキャッシュデータ、すなわち、Shared又はExclusive状態のキャッシュの破棄を行う際に発行される。ホームCPUは、上述したリクエストをローカルCPUから受信した場合には、リクエストを処理するために、ローカルCPUやリモートCPUに対して、命令を発行する。ここで、ホームCPUは、取得したリクエストの種別に応じてたキャッシュコヒーレンス制御を実行するため、複数の種別の命令を発行することとなる。例えば、ホームCPUは、リモートCPUがキャッシュしているデータをローカルCPUにロードさせるMoveOutandBypasstoShareを発行する。また、例えば、ホームCPUは、ローカルCPU以外のすべてのリモートCPUのキャッシュを無効化し、その後、ホームCPUがローカルCPUにデータを送信するためのMoveOutandBypassExclusivelyを発行する。また、ホームCPUは、リモートCPUにキャッシュの無効化を要求するMoveOutWITHInvalidationを発行する。なお、ホームCPUがMoveOutWITHInvalidationを発行した場合には、全てのCPUのキャッシュが、対象となるアドレスについてInvalidate状態となる。また、ホームCPUは、リモートCPUにキャッシュラインの無効化を要求するMoveOutforFlushを発行する。なお、ホームCPUがMoveOutforFlushを発行した場合には、対象となるデータを、ホームCPUのみがキャッシュした状態となる。また、ホームCPUは、対象となるデータの状態がSharedであるときに、リモートCPUにキャッシュの破棄を要求するBufferInvalidationを発行する。ホームCPUは、リクエストの種別に応じて、上述した命令を発行し、各CPUがキャッシュしたデータのステートを遷移させる。また、ローカルCPUやリモートCPUは、命令を受信した場合には、命令が示す処理を実行し、自身がキャッシュしたデータのステートを遷移させる。その後、ローカルCPUやリモートCPUは、命令に対する完了応答やデータ付の完了応答をホームCPUに送信する。また、ホームCPUやリモートCPUは、命令処理を実行した後に、ローカルCPUに対して、データ付のリクエスト応答を送信することとなる。[CPUの処理の流れ]次に、図14を用いて、情報処理システム1において各CPUが有するノードマップ34を設定する処理の流れについて説明する、図14は、ノードマップを設定する処理の流れを説明するためのフローチャートである。なお、以下の説明においては、1つのCPUとCPUがアクセスするメモリとの組をノードとして記載する。また、以下の説明においては、新たなノードを情報処理システム1に追加する例について説明する。まず、情報処理システム1のオペレータは、ノードの新規増設を行うステップS101。次に、各ビルディングブロック10~10eのサービスプロセッサが追加されたノードのハードウェアの構成の読み取りを行うステップS102。次に、情報処理システム1のオペレータは、新たなノードが有するメモリの共有領域の割り当てをサービスプロセッサに指示するステップS103。次に、情報処理システム1のオペレータは、新たなノードのサービスプロセッサに電源投入を指示するステップS104。すると、各ビルディングブロック10~10eのサービスプロセッサは、読み取った構成の情報を元に、各ビルディングブロック10~10eが有するCPUのノードマップ34をI2Cを用いて設定するステップS105。その後、情報処理システム1は、各ビルディングブロック10~10eの電源投入を行いステップS106、処理を終了する。次に、図15を用いて、情報処理システム1が共有領域を制御する処理の流れについて説明する。図15は、共有領域を制御する処理の流れを説明するためのフローチャートである。まず、情報処理システム1は、アプリケーションの要求に応じて、ノード間の共有メモリの割当処理を実行するステップS201。次に、情報処理システム1は、ノード間で共有する共有メモリのアタッチ処理を実行するステップS202。その後、情報処理システム1が有する各CPUによって実行されるアプリケーションが各メモリを使用するステップS203。次に、情報処理システム1は、共有メモリのデタッチ処理を実行するステップS204。その後、情報処理システム1は、共有メモリの解放処理を実行しステップS205、処理を終了する。なお、ステップS201、および、ステップS205は、その共有メモリのホームノード上のアプリケーションのみが実施してもよいし、実際の処理は、nopとなるものの、その共有メモリのホームノード以外のノード上のアプリケーションも実施するものとしても良い。次に、図16を用いて、図15中ステップS201で示した共有メモリの割当処理を実行する処理の流れについて説明する。図16は、共有メモリの割当処理を説明するためのフローチャートである。図16に示す例では、例えば、CPU21が実行するアプリケーションがOSに対して、ノード間の共有メモリ割当処理の実行を要求するステップS301。すると、CPU21が実行するOSが共有領域用の物理アドレスの領域から要求されたサイズのメモリ割当を行うステップS302。次に、OSが割り当てた共有メモリの管理用IDをアプリケーションに引渡しステップS303、共有メモリの割当処理を終了する。次に、図17を用いて、図15中ステップS202で示したノード間の共有メモリアタッチ処理の流れについて説明する。図17は、共有メモリアタッチ処理を説明するためのフローチャートである。まず、アプリケーションは、OSに対して管理用IDを引渡し、ノード間の共有メモリのアタッチ処理を要求するステップS401。このような場合には、OSは、他のノードで実行されているOSと通信を行い、管理用IDに対応する物理アドレスを獲得するステップS402。ここで、OSが他のノードで実行されているOSと通信を行う場合には、LANLocalAreaNetworkなどによる通信、サービスプロセッサ24を介した各ノード間の通信等を用いる。また、例えば、各ノードで実行されるOSは、特定の共有領域を、ノード間通信に用いる領域として設定し、設定した領域に対する情報の格納や読み取りを行う事で、通信を行うこととしても良い。次に、OSは、物理アドレスに対応する論理アドレスVirtualAddressを決定し、割当を行うステップS403。例えば、CPU21で実行されるOSは、物理アドレスと論理アドレスとのTLBをアドレス変換部35に設定する。なお、各CPU21~21cが用いる論理アドレスは、重複する範囲であっても良く、また、CPUごとに異なる範囲でもよい。また、各CPU21~21cが用いる論理アドレスは、アプリケーションがOSに指定できるようにしてもよい。その後、OSは、論理アドレスの値をアプリケーションに引渡しステップS404、処理を終了する。次に、図18を用いて、図15中ステップS203で示したアプリケーションがノード間の共有メモリを使用する処理の流れについて説明する。図18は、アプリケーションが共有メモリを使用する処理を説明するためのフローチャートである。例えば、CPU21が実行するアプリケーションは、論理アドレスを発行し、論理アドレスが示す記憶領域へのアクセスを行うステップS501。すると、CPU21は、TLBミスが発生したか否かを判別するステップS502。そして、CPU21は、TLBミスが発生した場合はステップS502肯定、トラップ処理を実行し、TLBに論理アドレスと物理アドレスとの組のエントリを設定するステップS503。次に、アプリケーションは、再度論理アドレスを発行し、TLBによる物理アドレスへの変換を経て、正常に共有メモリに対するアクセスを実行するステップS504。一方、TLBミスが発生しなかった場合はステップS502否定、正常に共有メモリに対するアクセスが実行されステップS505、処理が終了する。次に、図19を用いて、図15中ステップS204で示したノード間の共有メモリデタッチ処理の流れについて説明する。図19は、ノード間の共有メモリデタッチ処理を説明するためのフローチャートである。例えば、CPU21が実行するアプリケーションは、OSに対して、ノード間共有メモリの論理アドレス、または管理用IDを指定して、デタッチ処理を要求するステップS601。すると、CPU21が実行するOSは、キャッシュのフラッシュを行うステップS602。すなわち、OSは、共有メモリの割り当て解除後、再度共有メモリとして割当てを行った場合に、共有メモリとして割当てが行われていない際に共有メモリの実メモリにアクセスするCPUがリブートすると、キャッシュと実メモリの状態が食い違う恐れがある。このため、OSは、キャッシュのフラッシュを行い、キャッシュと実メモリの状態とが食い違う状態を防止する。そして、OSは、ノード間共有メモリ、すなわち、アプリケーションが利用していた範囲の論理アドレスの割当を解除し、解除した論理アドレスに関連するTLBのエントリを削除するステップS603。また、OSは、ノード間で通信を行い、本アプリケーションが対象PAの使用を完了したことを通知するステップS604。そして、OSは、ノード間通信により、解放済みの共有メモリについて、最後の利用者がデタッチを行ったことをホームノードが認識した場合、指定された共有メモリ用のメモリ割当て解除を行うステップS605。なお、ステップS605の処理は、図20に示すステップS702の処理と関連する。なお、ステップS603以降は、OSは、本ノード上で、デタッチが完了しているメモリアドレスについてTLBミスステップS502肯定が発生しても、デタッチが完了している論理アドレスに対応する物理アドレスをTLBに設定しない。このような場合には、ステップS504の処理は、正常に終了せず、アクセスエラーとなる。また、デタッチ完了後、ステップS402と逆に、OSがノード間で通信し、本アプリケーションがこの共有メモリのPAに対してアクセスを完了したことを通知する。もし、この共有メモリがホームノード上で解放済みで、かつ、このアプリケーションがこの共有メモリの最後の利用者であった場合は、ホームノードに解放処理を依頼する。次に、図20を用いて、図15中ステップS205で示したノード間共有メモリの解放処理の流れについて説明する。図20は、ノード間共有メモリの解放処理を説明するためのフローチャートである。例えば、CPU21が実行するアプリケーションは、OSに対してノード間共有メモリの解放処理を要求するステップS701。すると、OSは、指定された共有領域の使用者が全てでタッチしていた場合は、割当てを解放しステップS702、処理を終了する。もし、デタッチが完了していなければ、割当ての解放処理は行わず、処理を終了する。なお、実際の割当ての完了処理は、ステップS605で行われる。次に、図21を用いて、CPU21が他のCPUに対して、メモリアクセスのリクエストを送信する処理の流れについて説明する。図21は、リクエストを発行する処理の流れを説明するためのフローチャートである。例えば、CPU21の演算部は、論理アドレスを発行するステップS801。すると、アドレス変換部35において、論理アドレスから物理アドレスへの変換が行われるステップS802。次に、キャッシュディレクトリ管理部36が、物理アドレスを取得し、キャッシュディレクトリ管理を実行するステップS803。すなわち、キャッシュディレクトリ管理部36は、取得した物理アドレスが示す記憶領域についてのキャッシュステートを遷移させる。次に、キャッシュディレクトリ管理部36は、ノードマップ34を参照し、取得した物理アドレスが他ノードのメモリに振り分けられた物理アドレスであるか否かを判別するステップS804。そして、キャッシュディレクトリ管理部36は、取得した物理アドレスが他ノードのメモリに振り分けられた物理アドレスではないと判別した場合にはステップS804否定、取得した物理アドレスを用いてメモリアクセスを実行するステップS805。一方、キャッシュディレクトリ管理部36は、取得した物理アドレスが他ノードのメモリに振り分けられた物理アドレスである場合にはステップS804肯定、ノードマップ34から物理アドレスと対応付けられたCPUIDを取得するステップS806。そして、パケット送信部が、CPUIDと物理アドレスとを格納したパケット、すなわち、メモリアクセスのリクエストを生成し、XB2に送出しステップS807、処理が終了する。次に、図22を用いて、CPU21が他のCPUからメモリアクセスのリクエストを受信した際に実行する処理の流れについて説明する。図22は、リクエストを受信した際に実行する処理の流れを説明するためのフローチャートである。なお、図22に示す例では、CPU21が、他のCPUからMoveIntoShareやMoveInExclusivelyを受信した際に実行する処理の流れについて説明する。例えば、CPU21は、他のCPUからXB2を介してリクエストを受信するステップS901。このような場合には、CPU21は、リクエストの対象となる物理アドレスの所定のビットが1であるか否かを判別することで、リクエストの対象となる物理アドレスがローカル領域であるか否かを判別するステップS902。そして、CPU21は、リクエストの対象となる物理アドレスがローカル領域であると判別した場合にはステップS902肯定、リクエスト元のCPUに否定応答を返信しステップS903、処理を終了する。また、CPU21は、リクエストの対象となる物理アドレスがローカル領域でない場合にはステップS902否定、コヒーレンスを保持するキャッシュディレクトリ管理を実行するステップS904。また、CPU21は、物理アドレスが示す記憶領域のステータスを判定するステップS905。そして、CPU21は、判定したステータスに応じた命令を他のCPUに対して発行しステップS906、ステータスを遷移させるステップS907。その後、CPU21は、物理アドレスが示す記憶領域のデータをリクエスト元のCPUに送信する応答を行いステップS908、処理を終了する。次に、図23を用いて、CPU21が応答を受信した際に実行する処理の流れについて説明する。図23は、CPUが応答を受信した際に実行する処理の流れを説明するためのフローチャートである。例えば、CPU21は、応答を受信するステップS1001。このような場合には、CPU21は、応答の内容が正常な応答であるか否かを判別するステップS1002。そして、CPU21は、応答の内容が正常である場合、すなわち、リクエスト対象となるデータを受信した場合にはステップS1002肯定、データを用いた正常な処理を実行しステップS1003、処理を終了する。一方、CPU21は、否定応答を受信した場合はステップS1002否定、否定応答の理由がアクセスエラーであるか否かを判別するステップS1004。そして、CPU21は、否定応答の理由がアクセスエラーではない場合にはステップS1004否定、通常のエラー処理を実行しステップS1005、処理を終了する。一方、CPU21は、否定応答の理由がアクセスエラーではない場合にはステップS1004肯定、エラーが発生した物理アドレスをエラーレジスタに設定して、トラップ処理を実行しステップS1006、処理を終了する。[実施例1の効果]上述したように、情報処理システム1は、CPU21~21cとメモリ22~22cと、各CPU21~21cを接続するXB2とを有する。また、CPU21は、論理アドレスと物理アドレスとの変換を行うアドレス変換部と、物理アドレスとCPUIDとを変換するノードマップ34を有する。そして、CPU21は、物理アドレスとCPUIDとを有するリクエストのパケットを送信する。また、CPU21は、他のCPUからリクエストのパケットを受信した場合には、受信したパケットに格納された物理アドレスに基づいて、アクセス対象となる記憶領域が、共有領域であるかローカル領域であるかを判別する。このようにすることで、情報処理システム1は、効率的、かつ小さなハードウェア物量でノード間共有メモリに対するメモリアクセスを行うことができる。すなわち、情報処理システム1は、CPU21が物理アドレスとCPUIDとを変換するノードマップ34を用いてアドレス変換を行うので、効率的なメモリアクセスを行うことができる。また、CPU21は、他のCPUがアクセスするメモリの共有領域にアクセスする場合には、物理アドレスとCPUIDを格納したパケットをXB2に送出するのみでよい。このため、情報処理システム1は、効率的なメモリアクセスを行うことができる。また、情報処理システム1は、CPU21が他のCPUからリクエストのパケットを受信した場合には、受信したパケットに格納された物理アドレスに基づいて、アクセス対象となる記憶領域が、共有領域であるかローカル領域であるかを判別する。このため、情報処理システム1は、ローカル領域に格納するカーネルデータやユーザデータのセキュリティレベルを高く保つことができる。また、情報処理システム1は、全てのメモリをキャッシュ可能とするので、メモリアクセスにおけるレイテンシを容易に隠蔽することができる。また、CPU21は、他のCPUがアクセスするメモリの共有領域に対して、メモリ22にアクセスする場合と同様の方法でアクセスする。すなわち、CPU21が有する演算部31は、アクセス対象となる記憶領域がメモリ22上に存在する場合にも、他のメモリ上に存在する場合にも、論理アドレスを出力するだけでよい。このため、情報処理システム1は、I/Oの排他制御等の処理やプログラミング等を実行せずとも、容易に共有領域にアクセスできるため、メモリアクセス性能を向上させることができる。また、CPU21は、実行するプログラムやOSに改変を行わずとも、共有メモリを適切に利用することができる結果、プリフェッチ処理の実行を従来と同様に行う事ができるため、メモリアクセスの性能を向上させることができる。また、情報処理システム1は、所定のビットが1となる物理アドレスを共有領域に割り当て、所定のビットが0となる物理アドレスをローカル領域に割り当てる。このため、CPU21は、物理アドレスのうち、所定の1ビットが1であるか否かを判別するだけで、アクセス対象の物理アドレスが共有領域の物理アドレスであるか否かを容易に判別することができる。この結果、情報処理システム1は、効率的なメモリアクセスを行うことができる。また、CPU21は、他のCPUからのメモリアクセスの対象がローカル領域へのアクセスであると判定した場合には、否定応答を返信する。このため、情報処理システム1は、共有領域以外へのアクセスを防止する結果、エラーを防ぐことができる。また、キャッシュディレクトリ管理部36は、ノードマップ34を用いて、物理アドレスをノードマップ34に対応付けて記憶されたCPUIDに変換する。このため、CPU21は、アクセス対象となる物理アドレスが振り分けられたメモリにアクセスするCPUを識別することができる。また、各ビルディングブロック10~10eは、ノードマップ34の書き換えを行うサービスプロセッサを有する。このため、情報処理システム1は、メモリ22~22cごとに、ローカル領域と共有領域とを自由に割り当てることができる。例えば、情報処理システム1は、メモリ22が4TBの容量を有する場合に、ローカル領域に1TBを割り当て、共有領域に3TBを割り当てるというように、任意の容量の記憶領域をノード間で共有することができる。また、情報処理システム1は、新たなCPUとメモリを追加した場合やCPUやメモリの削除を行った場合にも、サービスプロセッサを介して容易にローカル領域と共有領域との割り当てを行うことができる。また、CPU21は、メモリ22に記憶されたデータをキャッシュしたCPUを管理するディレクトリを用いて、キャッシュコヒーレンスの制御を行う。このため、情報処理システム1は、情報処理システム1が有するCPUの数が増加した場合にも、XB2のトラフィックを増加させることなく、効率的にキャッシュコヒーレンスを保持することができる。具体的には、情報処理システム1においては、各CPU間の通信が、リモートCPUとホームCPU間、または、リモートCPUとホームCPUと更新したデータをキャッシュするローカルCPU間に限定される。このため、情報処理システム1は、効率的にキャッシュコヒーレンスを保持することができる。また、CPU21は、キャッシュミスが発生した場合に、キャッシュミスした物理アドレスが他のCPUがアクセスするメモリに割り当てられた物理アドレスであるか否かを判別する。そして、CPU21は、キャッシュミスした物理アドレスが他のCPUがアクセスするメモリに割り当てられた物理アドレスであると判別した場合には、物理アドレスをCPUIDに変換し、物理アドレスとCPUIDとを格納したパケットの生成および送出を行う。このため、CPU21は、無駄なアドレス変換処理を行うことなくメモリアクセスを行うことができる。また、CPU21は、実行するアプリケーションが共有領域の獲得を要求した場合には、アプリケーションが利用する論理アドレスと、共有領域に割り当てられる物理アドレスとを変換するTLBを設定する。このため、CPU21は、実行するアプリケーションやOSに共有領域やローカル領域へのアクセスを意識した改変を加えずとも、メモリアクセスを行うことができる。これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。1ビルディングブロックについて上述した情報処理システム1は、4つのCPUを有するビルディングブロック10~10eを有していた。しかし、実施例はこれに限定されるものではなく、ビルディングブロック10~10eは、任意の数のCPU及び各CPUがアクセスするメモリを有することができる。また、CPUとメモリは、1対1で対応している必要はなく、メモリに直接アクセスするCPUは全体の一部であってもよい。2共有領域とローカル領域の割り当てについて上述した共有領域とローカル領域に対する物理アドレスの割り当ては、あくまで一例であり、情報処理システム1は、任意の物理アドレスを各領域に割当てることができる。例えば、情報処理システム1は、物理アドレスの最下位1ビットが0となる物理アドレスを共有領域に割り当て、物理アドレスの最下位1ビットが1となる物理アドレスを共有領域に割当てることとしてもよい。このような場合には、各CPUは、物理アドレスの最下位1ビットが0であるか1であるかを判別することで、アクセス対象が共有領域であるかを容易に判別できる。また、情報処理システム1は、物理アドレス空間の前半に含まれる任意の物理アドレスを共有領域に割り当て、物理アドレス空間の後半に含まれる任意の物理アドレスをローカル領域に割当ててもよい。このような場合には、各CPUは、物理アドレスの最上位1ビットが0であるか1であるかを判別することで、アクセス対象が共有領域であるかを容易に判別できる。なお、情報処理システム1は、物理アドレス空間の前半に含まれる任意の物理アドレスをローカル領域に割当て、後半に含まれる任意の物理アドレスを共有領域に割当ててもよい。すなわち、情報処理システム1は、任意の物理アドレスを共有領域とローカル領域に割当てることができるが、所定のビットが同一の値となる物理アドレスを共有領域に割り当て、所定のビットが共有領域とは異なる値の物理アドレスをローカル領域に割当てることで、アクセス対象が共有領域であるかローカル領域であるかを容易に判別できる。3CPUが送信するパケットについて上述したCPU21は、CPUIDとPAとを有するパケットをメモリアクセスのリクエストとして送信した。しかし、実施例は、これに限定されるものではない。すなわち、CPU21は、アクセス対象となるメモリにアクセスするCPUを一意に識別できるのであれば、任意の情報を格納したパケットを出力してよい。また例えば、CPU21は、CPUIDからVCVirtualConnectionIDに変換し、VCIDを格納することとしてもよい。また、CPU21は、パケットに、データ長を示すレングス等の情報を格納することとしてもよい。4CPUが発行する命令について上述したように、各CPU21~21cは、リクエストや命令を発行して、キャッシュのコヒーレンスを保持した。しかし、上述したリクエストや命令は、あくまで一例であり、例えばCPU21~21cは、CASCompareAndSwap命令を発行してもよい。このように、CPU21~21cがCAS命令を発行した場合には、排他制御のコンテンションが複数のCPU間で頻発しても、各CPUのキャッシュ上で処理が行われる。この結果、CPU21~21cは、メモリアクセスの発生による遅延を防止するとともに、各CPU間のドランザクションが混雑するのを防ぐことができる。5ハイパーバイザを経由した制御について上述した情報処理システム1では、OSによってハードウェアであるアドレス変換部35にアクセスを行う例について説明した。しかし、実施例はこれに限定されるものではなく、たとえは、仮想マシンを動作させるハイパーバイザHPV:Hypervisorがアドレス変換部35にアクセスを行っても良い。すなわち、ハイパーバイザが動作するノードにおいては、OSは、キャッシュやMMUなどのCPU21~21cのハードウェア資源に対して直接の操作を行わず、操作をハイパーバイザに依頼することとなる。このように、各CPU21~21cは、ハイパーバイザを介した制御を受付ける場合には、仮想アドレスを実アドレスRA:RealAddressに変換し、その後、実アドレスを物理アドレスに変換することとなる。また、ハイパーバイザが動作するノードにおいては、割り込み処理は、OSには直接割り込まず、HPVに対して割り込みを行う。このような場合には、ハイパーバイザが、OSの割り込み処理ハンドラを読出すことで割り込みを行う。なお、上述したハイパーバイザが実行する処理は、仮想マシンを動作させるために実行される公知な処理である。6パーティションを用いた処理について上述した情報処理システム1では、各CPU21~21cは、1つのノードマップを用いてメモリアクセスを送信していた。しかし、実施例はこれに限定されるものではない。例えば、各ビルディングブロック10~10eは、複数のノード群として動作し、各ノード群毎に、同一のファームウェアハイパーバイザを動作させる1つの論理パーティションを構成しても良い。このような場合には、各CPU21~21cは、アクセス先のCPUを示すノードマップと、同一論理パーティション内のCPUを示すノードマップとを有する。このように、各CPU21~21cは、同一論理パーティション内に含まれるCPUを示すノードマップを有することで、エラー発生通知、ダウン要求、リセット要求パケット等の、論理パーティションを超えて転送すべきではない特殊パケットの転送範囲を識別することができる。以下、同一論理パーティション内に含まれるCPUを示すノードマップを有するCPUについて説明する。図24は、実施例2に係る情報処理システムを説明するための図である。図24に示すように、ビルディングブロック10、10aは、論理パーティションAを動作させ、ビルディングブロック10b~10dは、論理パーティションBを動作させる。ここで、論理パーティションAでは、複数のドメインA~Cと、ファームウェアAが動作する。また、論理パーティションBでは、複数のドメインD~GとファームウェアBが動作する。なお、ファームウェアAおよびファームウェアBとは、例えばハイパーバイザである。また、ドメインAでは、アプリケーションとOSとが動作しており、他のドメインB~GもドメインAと同様に、アプリケーションとOSとが動作する。つまり、各ドメインA~Gは、それぞれ独立してアプリケーションとOSが動作する仮想マシンである。ここで、ビルディングブロック10が有する各CPU21~21cは、パーティションAに含まれる各CPUに対して上述した特殊パケットを送信してもよいが、パーティションBに含まれる各CPUに対しては特殊パケットを送信すべきではない。このため、各ビルディングブロック10~10dのCPUは、同一の論理パーティションに含まれるCPUのCPUIDを示すノードマップを有する。例えば、CPU21は、物理アドレスと、物理アドレスが示す記憶領域を有するメモリと接続されたCPUのCPUIDとを対応付けて記憶するノードマップ34を有する。また、CPU21は、CPU21と同一のパーティション、すなわち、パーティションAに含まれるCPUのCPUIDを記憶するノードマップ34aを有する。なお、ノードマップ34aは、ノードマップ34と同様に、サービスプロセッサ24によって設定されるものとする。以下、図面を用いて、同一の論理パーティションに含まれるCPUのCPUIDを示すノードマップの一例について説明する。図25は、パーティションの一例を説明するための図である。例えば、図25に示す例では、パーティションAは、ビルディングブロック0を有する。また、ビルディングブロック0は、CPU0とアドレス域0が割当てられたメモリとを有する。また、パーティションBは、ビルディングブロック1とビルディングブロック2とを有する。また、ビルディングブロック1は、CPU4、CPU5、アドレス域1が割当てられたメモリ、アドレス域2が割当てられたメモリを有する。なお、アドレス域1が割当てられたメモリには、CPU4がアクセスし、アドレス域2が割当てられたメモリには、CPU5がアクセスする。また、ビルディングブロック2は、CPU8とアドレス域3が割当てられたメモリを有する。次に、図26A~26Cを用いて、図25に示すCPU0が有するノードマップと、CPU4が有するノードマップとについて説明する。まず、図26Aおよび図26Bを用いて、パーティションAのCPUが記憶するノードマップについて説明する。なお、図26Aは、パーティションAのCPUが記憶するノードマップの一例を説明するための図である。また、図26Bは、パーティションAを示すノードマップの一例を説明するための図である。なお、以下の説明では、ノードID0は、ビルディングブロック0を示し、ノードID1は、ビルディングブロック1を示す、ノードID2は、ビルディングブロック2を示す。また、CPUID0は、CPU0のCPUIDであり、CPUID4は、CPU4のCPUIDであり、CPUID5は、CPU5のCPUIDであり、CPUID8は、CPU8のCPUIDであるものとする。例えば、図26Aに示す例では、ノードマップ34は、アドレス域0が、ビルディングブロック0に存在し、CPU0がアクセスを行う旨を示す。また、ノードマップ34は、アドレス域1が、ビルディングブロック1に存在し、CPU4がアクセスを行う旨を示す。また、ノードマップ34は、アドレス域2が、ビルディングブロック1に存在し、CPU5がアクセスを行う旨を示す。また、ノードマップ34は、アドレス域3がビルディングブロック2に存在し、CPU8がアクセスを行う旨を示す。また、図26Bには、パーティションAを示すノードマップを示した。図26Bに示すように、パーティションAを示すノードマップは、各エントリに、バリッドと、ノードIDとCPUIDとを有する。例えば、図26Bに示す例では、ノードマップは、パーティションAにビルディングブロック0のCPU0が含まれる旨を示す。例えば、図25に示す例では、CPU0は、図26Aおよび図26Bに示すノードマップを有する。そして、CPU0は、メモリアクセスを行う場合には、図26Aに示すノードマップを用いて、アクセス先のCPUを識別する。一方、CPU0は、同一パーティション内のCPUのみに特殊パケットを送信する場合には、図26Bに示すノードマップを用いて、送信先のCPUを識別する。すなわち、CPU0は、図26Bに例示するノードマップが示すパーティションA内のCPUに対して、特殊パケットを送信する。一方、CPU4は、メモリアクセスを行うために、図26Aに示すノードマップと、図26Cに示すノードマップとを有する。ここで、図26Cは、パーティションBを示すノードマップの一例を説明するための図である。図26Cに示す例では、パーティションBを示すノードマップは、パーティションBに、ビルディングブロック1のCPU4およびCPU5、ビルディングブロック2のCPU38が存在することを示す。CPU4は、図26Cに例示するノードマップが示すパーティションB内のCPUに対して、特殊パケットを送信する。このように、CPU1およびCPU4は、アドレス域とCPUIDとを対応付けたノードマップと、パーティションを示すノードマップとを記憶する。そして、CPU1およびCPU4は、アドレス域とCPUIDとを対応付けたノードマップを用いて、他のノードが有するメモリに対して直接メモリアクセスを行う。また、CPU1は、パーティションAを示すノードマップを用いて、特殊パケットの送信を行う。また、CPU4は、パーティションBを示すノードマップを用いて、特殊パケットの送信を行う。このように、各CPUは、自身を含むパーティションごとに、異なる値を有するノードマップを有してもよい。また、各CPUは、自身を含むパーティションごとに異なる値を有するノードマップを有する場合は、特殊パケットをパーティションを超えた送信を行うことを防ぐことができる。なお、各CPUは、実施例1と同様、スタートアドレスとアドレスマスク、又は、スタートアドレスとレングスでアクセス対象となるアドレス域を示しても良い。すなわち、CPU1とCPU4とは、スタートアドレスとアドレスマスク、又は、スタートアドレスとレングスとを用いて、アクセス対象となるアドレス域を示すノードマップを用いて、アクセス対象となるノードを識別する。また、CPU1とCPU4とは、それぞれ異なるパーティションを示すノードマップを用いて、特殊パケットの送信を行う。