(57)【要約】【課題】論理アドレスによってアクセスされるメモリがローカルメモリかリモートメモリかを特定できるようにする。【解決手段】本情報処理装置１は、論理アドレスを指定してメモリアクセスを行ないバス１３を介して互いに接続される第１演算部（ＣＰＵ＃０）および第２演算部（ＣＰＵ＃１〜＃３）と、前記第１演算部に接続される第１メモリ（メモリ＃０）と、前記第２演算部に接続され前記第１演算部により前記バスを介してアクセスされる第２メモリ（メモリ＃１〜＃３）と、を有する。前記第１演算部（ＣＰＵ＃０）は、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する。【選択図】図７
2018018130.tif 000002
【特許請求の範囲】
【請求項１】
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有し、
前記第１演算部は、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、情報処理装置。
【請求項２】
前記第１演算部は、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
各論理アドレスと前記アクセス時間とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられたアクセス時間よりも短いアクセス時間を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、請求項１に記載の情報処理装置。
【請求項３】
前記第１演算部は、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
取得した前記アクセス時間と、前記所定サイズとに基づいて、アクセス速度を取得し、
各論理アドレスと前記アクセス速度とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられた前記アクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、請求項１に記載の情報処理装置。
【請求項４】
前記第１演算部は、
前記他の論理アドレスを、第２論理アドレスとして認識し、
前記第２論理アドレスに対応する第２物理アドレスを有するメモリが前記第２メモリであると判定する、請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記所定サイズは、前記第１演算部におけるキャッシュメモリのサイズよりも大きく設定される、請求項２〜請求項４のいずれか一項に記載の情報処理装置。
【請求項６】
前記第１演算部は、
前記第１テーブルに基づいて、前記第１論理アドレスまたは前記第２論理アドレスと前記第１メモリまたは前記第２メモリとの対応関係を特定する第２テーブルを作成し、
前記第２テーブルに基づいて、前記第１演算部と前記第２演算部との間の経路試験を行なう、請求項１〜請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有する情報処理装置において、
前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、
処理を、前記第１演算部に実行させる、プログラム。
【請求項８】
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有する情報処理装置において、
前記第１演算部が、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、および情報処理方法
に関する。
【背景技術】
【０００２】
複数の処理部を有するマルチプロセッサ装置において、複数の処理部は、バスを介して互いに接続され、各処理部にはメモリが接続される。ここで、各処理部に接続され各処理部から直接的にアクセスされるメモリは、各処理部について「ローカルメモリ」と称される。また、他の処理部に接続され各処理部からバスおよび他の処理部を介してアクセスされるメモリは、各処理部について「リモートメモリ」と称される。
【０００３】
このようなマルチプロセッサ装置では、当該装置の評価工程や量産工程において処理部間のバス等を含む経路の試験を行なうべく、当該装置のＯＳ（Operating System）上で動作する試験プログラムを実行する場合がある。以下では、「経路」を「パス」と称する場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４８３４３号公報
【特許文献２】特開２００１−３５６９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
経路試験に際し、各処理部は、論理アドレスを指定して各メモリに対するアクセスを行なう。このとき、ＯＳはメモリの論理アドレスを用いてデータの割当てを行なうため、各処理部は、アクセス対象のメモリの物理的な位置、つまりアクセス対象のメモリがローカルメモリであるかリモートメモリであるかを特定することができない。したがって、全ての処理部間のパス上にデータを転送させるべく、各処理部から全てのメモリに対してアクセスを行なうことになり、経路試験に多大な時間を要している。
【０００６】
一つの側面では、本件明細書に開示の発明は、論理アドレスによってアクセスされるメモリがローカルメモリかリモートメモリかを特定できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本件の情報処理装置は、論理アドレスを指定してメモリアクセスを行ないバスを介して互いに接続される第１演算部および第２演算部と、前記第１演算部に接続される第１メモリと、前記第２演算部に接続され前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有する。前記第１演算部は、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する。
【発明の効果】
【０００８】
論理アドレスによってアクセスされるメモリがローカルメモリかリモートメモリかを特定することができる。
【図面の簡単な説明】
【０００９】
【図１】マルチプロセッサ装置において処理部からローカルメモリおよびリモートメモリにアクセスする経路を示す図である。
【図２】図１に示すマルチプロセッサ装置において既存の試験プログラムによる経路試験の対象となる経路を示す図である。
【図３】図１に示すマルチプロセッサ装置における、処理部とローカルメモリ／リモートメモリとの間の距離を説明する図である。
【図４】図３に示す距離に基づくアクセス速度とローカルメモリ／リモートメモリの論理アドレスとの関係を示す図である。
【図５】本実施形態において経路試験の対象となる経路を示す図である。
【図６】本実施形態の情報処理装置のハードウエア構成を示すブロック図である。
【図７】本実施形態の情報処理装置の機能構成を示すとともに基本的動作を説明する図である。
【図８】本実施形態の情報処理装置（マルチプロセッサ装置）の動作を説明するフローチャートである。
【図９】本実施形態の情報処理装置（マルチプロセッサ装置）の動作を説明するフローチャートである。
【図１０】本実施形態の紐付けテーブルの一例を示す図である。
【図１１】本実施形態の紐付けテーブルの一例を示す図である。
【図１２】本実施形態の位置テーブルの一例を示す図である。
【図１３】本実施形態の試験経路パターンテーブルの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照し、本願の開示する情報処理装置、プログラム、および情報処理方法の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１１】
〔１〕関連技術
ここで、図１および図２を参照しながら、本願に関連する技術（以下、関連技術という）について説明する。図１は、マルチプロセッサ装置１０において処理部からローカルメモリおよびリモートメモリにアクセスする経路を示す図である。また、図２は、図１に示すマルチプロセッサ装置１０において既存の試験プログラムによる経路試験の対象となる経路を示す図である。
【００１２】
図１〜図３および図５〜図７を参照しながら後述する例において、マルチプロセッサ装置１０は、例えば、処理部または演算部に相当する４つのＣＰＵ（Central Processing Unit）を有する４ソケットＣＰＵであるとする。４つのＣＰＵについて任意のＣＰＵを指す表記としては符号１１が用いられる。４つのＣＰＵ１１のうちの特定のＣＰＵを指す表記としてはＣＰＵ＃ｉ（ｉ＝０，１，２，３）が用いられる。シリアル番号ｉは、ＣＰＵ１１を特定する識別番号と捉えてもよい。
【００１３】
マルチプロセッサ装置１０において、４つのＣＰＵ１１は、バスを含むクロスバスイッチ１３等を介して互いに接続され、各ＣＰＵ１１にはメモリ１２が接続される。クロスバスイッチ１３は、バス１３と表記する場合がある。４つのメモリについて任意のメモリを指す表記としては符号１２が用いられる。４つのメモリ１２のうちの特定のメモリを指す表記としてはメモリ＃ｉ（ｉ＝０，１，２，３）が用いられる。シリアル番号ｉは、メモリ１２を特定する識別番号と捉えてもよい。ＣＰＵ＃ｉにはメモリ＃ｉが直接的に接続される。
【００１４】
なお、マルチプロセッサ装置１０におけるＣＰＵ１１の数は、４に限定されるものでなく、２もしくは３であってもよいし、５以上であってもよい。メモリ１２の数も同様である。
【００１５】
図１に示すように、ＣＰＵ＃０に接続されＣＰＵ＃０から直接的にアクセスされるメモリ＃０は、ＣＰＵ＃０について「ローカルメモリ」と称される（矢印Ａ０参照）。また、ＣＰＵ＃１〜＃３に接続されＣＰＵ＃０からバス１３等を介してアクセスされるメモリ＃１〜＃３は、ＣＰＵ＃０について「リモートメモリ」と称される（矢印Ａ１〜Ａ３参照）。
【００１６】
同様に、ＣＰＵ＃１について、ローカルメモリはメモリ＃１であり、リモートメモリはメモリ＃０，＃２，＃３である。ＣＰＵ＃２について、ローカルメモリはメモリ＃２であり、リモートメモリはメモリ＃０，＃１，＃３である。ＣＰＵ＃３について、ローカルメモリはメモリ＃３であり、リモートメモリはメモリ＃０，＃１，＃２である。
【００１７】
通常、ＯＳ上で動作する試験プログラムを実行する場合、試験プログラムは、メモリ１２上において動的に試験領域を確保する。その際、試験プログラムは、メモリコントローラまたはＯＳのスケジューラにより、各ＣＰＵ１１のローカルメモリから優先的に試験領域を確保する。試験領域をリモートメモリから優先的に確保するのは稀であるため、リモートメモリにアクセスする際に使用するＣＰＵ間のパス上にデータを転送させることは困難である。例えば図１に示すように、４ソケットＣＰＵのマルチプロセッサ装置１０では、ＣＰＵ＃０からＯＳ上で動的に試験領域を確保する場合、ＣＰＵ＃０のローカルメモリであるメモリ＃０から優先的に試験領域が確保される。
【００１８】
各ＣＰＵ１１に８ＧＢ（ギガバイト）のローカルメモリが搭載されている場合、各ＣＰＵ１１におけるＣＰＵコアにデータサイズ２５６ＭＢ（メガバイト）の浮動小数点演算を行なわせると、各ＣＰＵ１１で４ＧＢのメモリ容量が必要となる。このとき必要になるメモリ容量４ＧＢは、ローカルメモリの容量８ＧＢ内に収まっている。このため、リモートメモリへのアクセスは行なわれない。データサイズを大きくすれば、リモートメモリへのアクセスは行なわれるが、ＯＳはメモリ１２の論理アドレスを用いてデータの割当てを行なうため、各ＣＰＵ１１は、アクセス対象のメモリ１２の物理的な位置を確定することができない。つまり、各ＣＰＵ１１は、アクセス対象のメモリがローカルメモリであるかリモートメモリであるかを特定することができない。
【００１９】
そのため、全てのＣＰＵ間パス上にデータを転送させるためには、各ＣＰＵ１１から全てのメモリ１２に対してアクセスする必要があり、経路試験に多大な時間を要している。例えば、図２に示すように、４ソケットＣＰＵの場合、従来の試験プログラムでの試験経路の数は１６となる（太線矢印参照）。したがって、各経路について各メモリ１２に対するリード／ライト試験に１時間かかるとすると、１６の試験経路の全てについて試験を完了するのに１６時間を要することになる。
【００２０】
近年のサーバの高速化および大規模化に伴い、これまで以上にＣＰＵ間パスに対する網羅的な経路試験を実施する必要が生じているが、このような経路試験には、上述のごとく膨大な時間がかかる。
【００２１】
また、ＣＰＵ間パスに負荷がかかるため、１ビットエラー等の問題が実際の運用中に発生している。これは、これまでＣＰＵ間パスに対する網羅的な経路試験に膨大な時間を要するために網羅的な経路試験を実施できていないことによるものである。
【００２２】
〔２〕本実施形態の概要
そこで、本実施形態では、論理アドレスによってアクセスされるメモリがローカルメモリかリモートメモリかを特定可能にすることで、ＣＰＵ間の試験経路（パスルート）を特定可能にする。これにより、重複する経路に対する試験の実施を抑止し、網羅的な経路試験を行なわなくても、試験を行なうべき経路に対する試験を確実に実施可能にして、経路試験の短縮つまり効率的な経路試験を実現する。
【００２３】
特に、本実施形態では、ＯＳの配下で各ＣＰＵ１１から論理アドレスを指定して行なう、各メモリ１２に対するアクセスに要する時間に基づき、論理アドレスに対応するメモリ１２がローカルメモリであるかリモートメモリであるかの判別が行なわれる。各ＣＰＵ１１は、経路試験に際し、当該判別結果に従って、論理アドレスを指定してリモートメモリへのアクセスを行なう。
【００２４】
図３〜図５を参照しながら、本実施形態の概要について説明する。図３は、図１に示すマルチプロセッサ装置１０における、処理部（ＣＰＵ＃０）とローカルメモリ／リモートメモリ（メモリ＃０〜＃３）との間の距離を説明する図である。図４は、図３に示す距離に基づくアクセス速度とローカルメモリ／リモートメモリの論理アドレスとの関係を示す図である。図５は、本実施形態において経路試験の対象となる経路（経路パターン）を示す図である。
【００２５】
本実施形態において、本実施形態の技術を適用される試験プログラムは、マルチプロセッサ装置１０のＯＳ上で動作するプログラムであるものとする。そして、ＣＰＵ１１の数や、ＣＰＵ１１のキャッシュメモリ１１ａ（図６参照）のサイズや、メモリ１２の容量などに関する情報は、ＯＳや、マルチプロセッサ装置１０の装置管理ユニットから取得可能であるものとする。また、本試験プログラムを実行する工程は、本マルチプロセッサ装置１０の評価工程や量産工程を想定している。
【００２６】
さて、本実施形態の技術を適用される経路試験は、二つのステップ、即ち第１ステップと第２ステップとに大別される。
【００２７】
第１ステップは、論理アドレスを指定して行なわれる各メモリ１２へのアクセスに要する時間に基づいて、各メモリ１２の論理アドレスと物理位置とを紐付ける、つまり各メモリ１２がローカルメモリかリモートメモリかの判定を行なうステップである。
【００２８】
第２ステップは、第１ステップで得られた判定結果（紐付け結果）に基づいて、経路試験の対象となるＣＰＵ間パスの経路パターンを作成し、当該経路パターンに従って経路試験を行なうステップである。
【００２９】
第１ステップでは、各ＣＰＵ１１（ＣＰＵ数は事前に把握）において、メモリ１２の全領域（メモリ容量は事前に把握）に対し、所定サイズの単位ブロック（単位データサイズ）毎に論理アドレスを指定してメモリアクセスが行なわれる。そして、各メモリアクセスに要するアクセス時間、もしくは当該アクセス時間に基づくアクセス速度（＝単位ブロックのサイズ／アクセス時間）が、測定され取得される。
【００３０】
ここでは、アクセス速度が取得されているものとする。このとき、各ＣＰＵ１１は、アクセス速度の最も速いメモリ領域をローカルメモリの領域であると判定する一方、それ以外のメモリ領域をリモートメモリの領域であると判定する。また、論理アドレスと各ＣＰＵ１１に対するローカルメモリ／リモートメモリの判定結果とを紐付けした紐付けテーブルＴ１（第１テーブル；図１０および図１１参照）が作成される。
【００３１】
アクセス速度に代えてアクセス時間が取得される場合、各ＣＰＵ１１は、アクセス時間の最も短いメモリ領域をローカルメモリの領域であると判定する一方、それ以外のメモリ領域をリモートメモリの領域であると判定する。また、上述した紐付けテーブルＴ１と同様のテーブル（第１テーブル）が作成される。
【００３２】
第１ステップでは、次に、各ＣＰＵ１１に搭載（接続）されているローカルメモリ１２に対応する論理アドレスから、当該ローカルメモリ１２の位置（物理位置）が確定され、論理アドレスと各メモリ１２との対応関係を示す位置テーブルＴ２（第２テーブル；図１２参照）が作成される。
【００３３】
ここで、一般的に、ＣＰＵ１１に対してリモートメモリはローカルメモリよりも物理的に遠い位置に存在する。つまり、ＣＰＵ１１からリモートメモリまでの距離は、ＣＰＵ１１からローカルメモリまでの距離よりも長い。４ソケットＣＰＵにおいて、例えば図３に示すように、ＣＰＵ＃ｉとメモリ＃ｉとの距離をｄとする。また、ＣＰＵ＃０とＣＰＵ＃１との距離（パス(1)の長さ）、ＣＰＵ＃０とＣＰＵ＃２との距離（パス(2)の長さ）、ＣＰＵ＃１とＣＰＵ＃３との距離（パス(5)の長さ）、およびＣＰＵ＃２とＣＰＵ＃３との距離（パス(6)の長さ）をＤ（＞ｄ）とする。さらに、ＣＰＵ＃０とＣＰＵ＃３との距離（パス(3)の長さ）およびＣＰＵ＃１とＣＰＵ＃２との距離（パス(4)の長さ）をＥ（＞Ｄ）とする。この場合、図３に示すように、ＣＰＵ＃０とメモリ＃０との距離はｄ、ＣＰＵ＃０とメモリ＃１との距離はＤ＋ｄ、ＣＰＵ＃０とメモリ＃２との距離はＤ＋ｄ、ＣＰＵ＃０とメモリ＃３との距離はＥ＋ｄとなる。
【００３４】
したがって、図４に示すように、論理アドレスを指定して行なったメモリアクセスについて、アクセス速度の最も速いメモリ、換言するとアクセス時間の最も短いメモリがローカルメモリであると判別することができる。そして、それ以外のメモリは、リモートメモリであると判別することができる。
【００３５】
なお、前記単位ブロックの前記所定サイズ（単位データサイズ）は、キャッシュメモリ１１ａに対するキャッシュヒットを防ぐため、キャッシュサイズよりも大きい値に設定される。これは、キャッシュヒットが発生するとメモリ１２に対するアクセスが行なわれないため、メモリ１２に対するアクセス時間またはアクセス速度を測定することができなくなるからである。
【００３６】
一方、第２ステップでは、上述した第１ステップで取得された位置テーブルＴ２に基づいて、以下の手順(a1), (a2), (a3)に従って、経路パターン（試験経路パターンテーブルＴ３；図１３参照）が作成される。
【００３７】
(a1) 最若番ＣＰＵから全リモートメモリへの経路が選択される。ここで、最若番ＣＰＵは、ＣＰＵ１１を特定する識別番号（シリアル番号）が最も小さいＣＰＵであり、図５に示す例では、ＣＰＵ＃０である。
【００３８】
(a2) 次の若番ＣＰＵから全リモートメモリへの経路のうち、上記手順(a1)で選択された経路以外の経路を選択する。ＣＰＵ＃０の次の若番ＣＰＵはＣＰＵ＃１であり、同様に、ＣＰＵ＃１の次の若番ＣＰＵはＣＰＵ＃２であり、ＣＰＵ＃２の次の若番ＣＰＵはＣＰＵ＃３である。
【００３９】
(a3) 上記手順(a2)を全てのＣＰＵ１１に対して行なう。
【００４０】
例えば４ソケットＣＰＵの場合、上述した手順(a1)〜(a3)によって、図５に示すように、本試験プログラムによる試験経路パターンは６経路となる。その結果に基づき、試験経路パターンテーブルＴ３（図１３参照）が作成される。
【００４１】
このようにして、本実施形態では、アクセス対象のメモリ１２の論理アドレスが明確になるため、各経路のデータ転送は、並列的に実行することができる。これにより、ＣＰＵ間パスの経路試験に要する時間を大幅に短縮することができる。
【００４２】
例えば、４ソケットＣＰＵで各ローカルメモリとして８ＧＢのメモリ１２が搭載されている場合、上記第１ステップで行なわれるローカルメモリとリモートメモリとの判別処理に約５４秒かかる。また、上記第２ステップでは、各経路に対して各メモリ１２へのリード／ライト試験に１時間を要する場合、６経路の試験を並列的に実行することにより、６経路の試験を１時間で実行することが可能である。したがって、ＣＰＵ間パスの試験に要する時間を約１５時間短縮することが可能になる。
【００４３】
このように、本実施形態によれば、サーバシステム等の本体装置評価工程や本体装置量産工程において、ＣＰＵ間パスの網羅的な経路試験の時間を大幅に短縮することができる。また、関連技術では、メモリ１２の物理的な位置を特定できないため、特定のＣＰＵ間パスに意図的に負荷をかけることができない。しかし、本実施形態によれば、物理的な位置を特定されたメモリ１２にアクセスすることで、特定のＣＰＵ間パスに意図的に負荷をかけることや、不良のＣＰＵ間パスの特定が可能になる。
【００４４】
〔３〕本実施形態のハードウエア構成
次に、図６を参照しながら、本実施形態の情報処理装置１のハードウエア構成について説明する。図６は、そのハードウエア構成を示すブロック図である。図６に示すように、本実施形態の情報処理装置１は、少なくとも、マルチプロセッサ装置１０と記憶部２０とを含む。
【００４５】
本実施形態のマルチプロセッサ装置１０は、上述したように、例えば、処理部または演算部に相当する４つのＣＰＵ１１を有する４ソケットＣＰＵであるとする。４つのＣＰＵ１１は、クロスバスイッチ（バス）１３を介して互いに接続され、各ＣＰＵ１１には一のメモリ１２（ローカルメモリ）が接続搭載される。本実施形態では、後述するように、最若番ＣＰＵ＃０のローカルメモリ＃０には、テーブルＴ１〜Ｔ３（図１０〜図１３）を保存するための領域が確保される。テーブルＴ１〜Ｔ３は、メモリ＃０以外のメモリ１２や記憶部２０に保存されてもよい。
【００４６】
マルチプロセッサ装置１０には、記憶部２０が接続されている。記憶部２０は、ＣＰＵ１１による各種処理に必要な各種プログラムを格納する。記憶部２０としては、ＲＯＭ（Read Only Memory），ＲＡＭ（Random Access Memory），ＳＣＭ（Storage Class Memory），ＳＳＤ（Solid State Drive），ＨＤＤ（Hard Disk Drive）のうちの少なくとも一つが含まれていればよい。本実施形態では、記憶部２０としてＨＤＤを備えているものとする。
【００４７】
上記各種プログラムとしては、マルチプロセッサ装置１０のＣＰＵ１１で動作するＯＳプログラム（以下、単にＯＳという）２１が含まれるほか、ＯＳ２１上で動作する本実施形態の試験プログラム２２などのアプリケーションプログラムが含まれる。
【００４８】
試験プログラム２２などのアプリケーションプログラムは、光ディスク，メモリ装置，メモリカード等の非一時的な可搬型記録媒体に記録されてもよい。可搬型記録媒体に格納されたプログラムは、例えばＣＰＵ１１からの制御により、メモリ１２にインストールされた後、実行可能になる。また、ＣＰＵ１１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
なお、光ディスクは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスクとしては、Ｂｌｕ−ｒａｙ（登録商標），ＤＶＤ（Digital Versatile Disc），ＤＶＤ−ＲＡＭ，ＣＤ−ＲＯＭ（Compact Disc Read Only Memory），ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。メモリ装置は、機器接続インタフェースとの通信機能を搭載した非一時的な記録媒体、例えばＵＳＢ（Universal Serial Bus）メモリである。メモリカードは、メモリリーダライタを介し処理部２２に接続されてデータの書込／読出対象になる、カード型の非一時的な記録媒体である。
【００５０】
情報処理装置１には、マルチプロセッサ装置１０およびＨＤＤ２０のほか、以下のような入力部，表示部，各種インタフェースが含まれていてもよい。入力部は、例えば、キーボードおよびマウスであり、ユーザによって操作され、ＣＰＵ１１に対する各種指示を行なう。マウスに代え、タッチパネル，タブレット，タッチパッド，トラックボール等が用いられてもよい。表示部は、例えば、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置等であり、各種処理に係る情報を表示出力する。また、表示部とともに、各種処理に係る情報を印刷出力する出力部が備えられてもよい。各種インタフェースは、例えば、情報処理装置１と外部の各種周辺機器との間を接続してデータの送受信を行なうケーブル用あるいはネットワーク用のインタフェースを含んでもよい。
【００５１】
〔４〕本実施形態の機能構成および基本動作
次に、図７を参照しながら、本実施形態の情報処理装置１の機能構成および基本動作について説明する。図７は、その機能構成を示すとともに基本的動作を説明する図である。図７に示すように、本実施形態の試験プログラム２２は、各ＣＰＵ１１（第１演算部）をメイン処理部１１Ａ，ローカルメモリ／リモートメモリ判定処理部１１Ｂ、およびＣＰＵ間データ転送処理部１１Ｃとして機能させる。つまり、各ＣＰＵ１１（第１演算部）は、本実施形態の試験プログラム２２を実行することで、メイン処理部１１Ａ、ローカルメモリ／リモートメモリ判定処理部１１Ｂ、およびＣＰＵ間データ転送処理部１１Ｃとしての機能を果たす。
【００５２】
本実施形態の情報処理装置１では、図７において矢印(11)〜(14)で示されるような基本動作が実行される。矢印(12)〜(14)で示される動作は、それぞれ、メイン処理部１１Ａ、ローカルメモリ／リモートメモリ判定処理部１１Ｂ、およびＣＰＵ間データ転送処理部１１Ｃとしての機能によって実現される。なお、矢印(11)〜(13)で示される動作は、上述した第１ステップに含まれる動作であり、矢印(14)で示される動作は、上述した第２ステップに含まれる動作である。
【００５３】
矢印(11)で示す動作：  ＨＤＤ２０に格納されている試験プログラム２２が最若番メモリ＃０に展開される。
【００５４】
矢印(12)で示す動作：  最若番ＣＰＵ＃０が最若番メモリ＃０に展開された試験プログラム２２を実行することで、メイン処理部１１Ａが最若番ＣＰＵ＃０上で動作する。これに伴い、最若番メモリ＃０上でテーブルＴ１〜Ｔ３の作成・保存が行なわれる。
【００５５】
矢印(13)で示す動作：  最若番ＣＰＵ＃０が最若番メモリ＃０に展開された試験プログラム２２を実行することで、ローカル／リモートメモリ判定処理部１１Ｂが、各ＣＰＵ１１にバインドされて動作する。このとき、ＣＰＵ間パス及びＣＰＵ−メモリ間パス上でアクセス時間もしくはアクセス速度が測定され、その測定結果に基づき、ＣＰＵ１１毎に、ローカルメモリとリモートメモリとの判別が行なわれる。
【００５６】
矢印(14)で示す動作：  最若番ＣＰＵ＃０が最若番メモリ＃０に展開された試験プログラム２２を実行することで、ＣＰＵ間データ転送処理部１１が、各ＣＰＵ１１にバインドされて動作し、ＣＰＵ間パスの試験が実行される。
【００５７】
以下、各ＣＰＵ１１による、メイン処理部１１Ａ、ローカルメモリ／リモートメモリ判定処理部１１Ｂ、およびＣＰＵ間データ転送処理部１１Ｃとしての機能について、より詳細に説明する。以下では、ローカルメモリ／リモートメモリ判定処理部１１Ｂを、単に判定処理部１１Ｂと称する場合がある。
【００５８】
本実施形態のＣＰＵ１１（第１演算部；最若番ＣＰＵ＃０）は、ローカルメモリ／リモートメモリ判定を行なうべく、メモリ１２に対するメモリアクセスのリクエストの発行から当該リクエストに対する応答までの時間を測定する。ここで、メモリ１２に対するメモリアクセスは、論理アドレスを指定して行なわれる。そして、測定された時間（アクセス時間もしくはアクセス速度）に基づいて、論理アドレスに対応する物理アドレスを有するメモリ１２がローカルメモリ（第１メモリ）であるかリモートメモリ（第２メモリ）であるかを判定する。
【００５９】
このとき、メイン処理部１１Ａは、テーブルＴ１〜Ｔ３（図１０〜図１３）を保存するための格納領域を、最若番ＣＰＵ＃０のローカルメモリ＃０上に確保する。
【００６０】
判定処理部１１Ｂは、全てのメモリ１２の領域を、所定サイズの単位ブロックに分割し、各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得する。単位ブロックの所定サイズは、前述したように、ＣＰＵ１１におけるキャッシュメモリ１１ａのサイズよりも大きく設定される。
【００６１】
アクセス時間に基づいて判定を行なう場合、判定処理部１１Ｂは、各論理アドレスとアクセス時間とを紐付け（対応付け）紐付けテーブルＴ１に保存する。また、判定処理部１１Ｂは、紐付けテーブルＴ１に保存される論理アドレスのうち、他の論理アドレスに対応付けられたアクセス時間よりも短いアクセス時間を対応付けられた論理アドレスを、第１論理アドレスとして認識する。そして、判定処理部１１Ｂは、第１論理アドレスに対応する第１物理アドレスを有するメモリ１２がローカルメモリであると判定する。
【００６２】
アクセス速度に基づいて判定を行なう場合、判定処理部１１Ｂは、取得したアクセス時間と単位ブロックの所定サイズとに基づいてアクセス速度を算出して取得し、各論理アドレスとアクセス速度とを紐付け（対応付け）紐付けテーブルＴ１に保存する。また、判定処理部１１Ｂは、紐付けテーブルＴ１に保存される論理アドレスのうち、他の論理アドレスに対応付けられたアクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを、第１論理アドレスとして認識する。そして、判定処理部１１Ｂは、第１論理アドレスに対応する第１物理アドレスを有するメモリ１２がローカルメモリであると判定する。
【００６３】
一方、判定処理部１１Ｂは、前記他の論理アドレスを、第２論理アドレスとして認識し、当該第２論理アドレスに対応する第２物理アドレスを有するメモリ１２がリモートメモリであると判定する。
【００６４】
メイン処理部１１Ａは、紐付けテーブルＴ１における論理アドレスとアクセス時間またはアクセス速度との紐付け結果に基づいて、上述した第１論理アドレスまたは第２論理アドレスとローカルメモリまたはリモートメモリとの対応関係を特定する位置テーブルＴ２を作成する。つまり、メイン処理部１１Ａは、各ＣＰＵ１１に接続・搭載されているローカルメモリに対応する論理アドレス（テーブルＴ１参照）に基づいて、メモリ１２の物理的な位置を特定し、論理アドレスとメモリ位置との対応関係を保存する位置テーブルＴ２を作成する。
【００６５】
ＣＰＵ間データ転送処理部１１Ｃは、位置テーブルＴ２に基づいて、ＣＰＵ間パスの経路試験を行なう。その際、メイン処理部１１Ａは、ＣＰＵ＃ｉとＣＰＵ＃ｊ（ｊ＝０，１，２，３；ｉ＜ｊ）との組合せについて経路パターンを保存する試験経路パターンテーブルＴ３（図１３参照）を作成する。ただし、ＣＰＵ＃ｉはＣＰＵ＃ｊのメモリ＃ｊ（ホームノードのメモリ）の試験を実行し、ＣＰＵ＃ｊはＣＰＵ＃ｉのメモリ＃ｉの試験を実行しない。ＣＰＵ＃ｉからＣＰＵ＃ｊへの往路はライト命令によりチェックされる一方、復路はリード命令によりチエックされる。そして、ＣＰＵ間データ転送処理部１１Ｃは、試験経路パターンテーブルＴ３に基づき、各メモリ試験とそれに伴うＣＰＵ間パスのデータ転送とを、並列的に実行する。
【００６６】
〔５〕本実施形態の動作
次に、上述した本実施形態の情報処理装置１（マルチプロセッサ装置１０）の動作について、図１０〜図１３を参照しながら、図８および図９に示すフローチャート（ステップＳ１１〜Ｓ３３）に従って説明する。図１０および図１１は、本実施形態の紐付けテーブルＴ１の一例を示す図である。図１２は、本実施形態の位置テーブルＴ２の一例を示す図である。図１３は、本実施形態の試験経路パターンテーブルＴ３の一例を示す図である。
【００６７】
以下では、マルチプロセッサ装置１０が上述した４ソケットＣＰＵ構成であり、各ＣＰＵ１１のキャッシュメモリ１１ａのサイズが６４ＭＢであり、メモリ領域分割時の単位ブロックの所定サイズがキャッシュサイズ６４ＭＢよりも大きい１２８ＭＢに設定された場合についての、情報処理装置１の動作について説明する。なお、図８のステップＳ１１〜Ｓ２４および図９のステップＳ２５〜Ｓ２６の処理が、上述した第１ステップの処理に相当し、図９のステップＳ２７〜Ｓ３３の処理が、上述した第２ステップの処理に相当する。
【００６８】
まず、メイン処理部１１Ａによって、テーブルＴ１〜Ｔ３（図１０〜図１３）を保存するための格納領域が、最若番ＣＰＵ＃０のローカルメモリ＃０上に確保される（図８のステップＳ１１）。
【００６９】
この後、対象ＣＰＵにバインドしてスレッドが起動される（図８のステップＳ１２）。最初はＣＰＵ＃０上のみで動作するスレッドが起動され、判定処理部１１Ｂの動作が開始される。これに伴い、図８のステップＳ１２〜Ｓ２４の処理が繰り返され、対象ＣＰＵの論理アドレスとアクセス速度とが紐付けテーブルＴ１に保存され、図１０および図１１に示すような紐付けテーブルＴ１が作成される。
【００７０】
ステップＳ１３では、判定処理部１１Ｂによって、使用可能な全てのメモリ１２の領域が確保され、確保された領域が所定サイズの単位ブロックに分割される。ここで、前述の通り、単位ブロックのサイズは、キャッシュサイズ６４ＭＢよりも大きい１２８ＭＢに設定される。したがって、ローカルメモリ／リモートメモリ判定のためのメモリアクセスに際してキャッシュヒットが生じるのを抑止することができる。
【００７１】
ステップＳ１４では、判定処理部１１Ｂによって、最初の単位ブロックに対応する論理アドレスが、図１０や図１１に示すように、紐付けテーブルＴ１に格納される。この後、判定処理部１１Ｂによって、当該論理アドレスを指定してメモリアクセスが行なわれ、ステップＳ１５〜Ｓ１８において、当該論理アドレスに対応する単位ブロックに対するアクセス速度が測定される。
【００７２】
ステップＳ１５では、判定処理部１１Ｂによって、時間測定が開始され現在時刻が取得される。
【００７３】
ステップＳ１６では、判定処理部１１Ｂによって、論理アドレスで指定される単位ブロック領域へデータの書込みが実行される。このとき、書き込まれるデータのサイズは、キャッシュサイズ６４ＭＢよりも大きいサイズ１２８ＭＢとする。
【００７４】
ステップＳ１７では、判定処理部１１Ｂによって、時間測定が終了され現在時刻が取得される。
【００７５】
ステップＳ１８では、判定処理部１１Ｂによって、ステップＳ１５で取得された時刻とステップＳ１７で取得された時刻との差分がアクセス時間として取得され、当該アクセス時間で単位ブロックの所定サイズを除算することによりアクセス速度が算出される。
【００７６】
ステップＳ１９では、判定処理部１１Ｂによって、ステップＳ１８で算出されたアクセス速度が、図１０や図１１に示すように、紐付けテーブルＴ１に格納され論理アドレスと紐付けられる。
【００７７】
ステップＳ２０では、判定処理部１１Ｂによって、メモリ１２の全領域に対する処理を終了したか否かが判定される。全領域に対する処理を終了していない場合（ステップＳ２０のＮＯルート）、判定処理部１１Ｂによって、今回の論理アドレスに１２８ＭＢが加算されてから（ステップＳ２１）、ステップＳ１４〜Ｓ２０の処理が繰り返し実行される。
【００７８】
ここで、今回の論理アドレスに１２８ＭＢを加算したアドレスが、既にローカルメモリに対応する論理アドレスであると判定されている場合、当該論理アドレスについてのステップＳ１４〜Ｓ１９の処理はスキップされる。
【００７９】
全領域に対する処理を終了した場合（ステップＳ２０のＹＥＳルート）、判定処理部１１Ｂによって、測定されたアクセス速度に基づいて、ローカルメモリ／リモートメモリの判定が行なわれる（ステップＳ２２）。そして、その判定結果が、図１０や図１１に示すように、紐付けテーブルＴ１に格納される。
【００８０】
このとき、前述したように、判定処理部１１Ｂは、各ＣＰＵ１１について紐付けテーブルＴ１に保存される論理アドレスのうち、他の論理アドレスに対応付けられたアクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを第１論理アドレスとして認識する。そして、判定処理部１１Ｂは、第１論理アドレスに対応する第１物理アドレスを有するメモリ１２がローカルメモリであると判定する。一方、判定処理部１１Ｂは、前記他の論理アドレスを、第２論理アドレスとして認識し、当該第２論理アドレスに対応する第２物理アドレスを有するメモリ１２がリモートメモリであると判定する。
【００８１】
換言すると、判定処理部１１Ｂは、アクセス速度を二つのグループに分け、アクセス速度の速いグループに属する論理アドレスがローカルメモリに対応すると判定し、その判定結果を、図１０や図１１に示すように、紐付けテーブルＴ１に格納する。一方、判定処理部１１Ｂは、アクセス速度の遅いグループに属する論理アドレスがリモートメモリに対応すると判定し、その判定結果を、図１０や図１１に示すように、紐付けテーブルＴ１に格納する。
【００８２】
この後、ステップＳ２３では、判定処理部１１Ｂによって、全てのＣＰＵ１１に対する処理を終了したか否かが判定される。全てのＣＰＵ１１に対する処理を終了していない場合（ステップＳ２３のＮＯルート）、判定処理部１１Ｂによって、スレッドのバインドＣＰＵ（対象ＣＰＵ）が次のＣＰＵに変更されてから（ステップＳ２４）、ステップＳ１２〜Ｓ２０の処理が繰り返し実行される。ＣＰＵ１１は、例えば、ＣＰＵ＃０，ＣＰＵ＃１，ＣＰＵ＃２，ＣＰＵ＃３の順に変更される。
【００８３】
全てのＣＰＵ１１に対する処理を終了した時点（ステップＳ２３のＹＥＳルート）で、メモリ＃０上には、図１０や図１１に示すような、ＣＰＵ番号と論理アドレスとアクセス速度と判定結果とを対応付けた紐付けテーブルＴ１が、ステップＳ１２〜Ｓ２４の処理によって作成されている。そして、メイン処理部１１Ａによって、メモリ＃０上に作成された紐付けテーブルＴ１が取得される（図９のステップＳ２５）。
【００８４】
この後、ステップＳ２６では、メイン処理部１１Ａによって、紐付けテーブルＴ１における論理アドレスとアクセス速度との紐付け結果に基づいて、論理アドレスとローカルメモリまたはリモートメモリとの対応関係を特定する位置テーブルＴ２が作成される。つまり、メイン処理部１１Ａによって、各ＣＰＵ１１に接続・搭載されているローカルメモリに対応する論理アドレスに基づき、メモリ１２の物理的な位置が特定され、論理アドレスとメモリ位置との対応関係を保存する、図１２に示すような位置テーブルＴ２が作成される。
【００８５】
図１２に示す位置テーブルＴ２では、以下のような対応関係が保存されている。
・ＣＰＵ＃０のローカルメモリに対応する論理アドレスをメモリ＃０の位置として格納
・ＣＰＵ＃１のローカルメモリに対応する論理アドレスをメモリ＃１の位置として格納
・ＣＰＵ＃２のローカルメモリに対応する論理アドレスをメモリ＃２の位置として格納
・ＣＰＵ＃３のローカルメモリに対応する論理アドレスをメモリ＃３の位置として格納
【００８６】
そして、図９のステップＳ２７では、メイン処理部１１Ａによって、位置テーブルＴ２に基づき、図１３に示すように、試験対象の経路パターンを保存する試験経路パターンテーブルＴ３が作成される。このとき、図１３に示す試験経路パターンテーブルＴ３は、上述した手順(a1), (a2), (a3)に従って作成される。図１３に示す試験経路パターンテーブルＴ３では、６つの経路パターンＰ１〜Ｐ６について、それぞれアクセス方法が規定されている。
【００８７】
ついで、ステップＳ２８では、ＣＰＵ間データ転送処理部１１Ｃによって、試験経路パターンテーブルＴ３に従いリモートメモリに対するアクセス（Read/Write/Compare）が、ＣＰＵ間パスの全経路Ｐ１〜Ｐ６について並列的に行なわれる。これにより、全経路Ｐ１〜Ｐ６についての試験が並列的に実行される。
【００８８】
例えば、ＣＰＵ＃０−ＣＰＵ＃１間のルート（経路パターンＰ１）の場合、ＣＰＵ＃０でバインドしたスレッドが起動され、起動されたスレッドからメモリ＃１の論理アドレス（位置テーブルＴ２参照）に対しアクセス（Read/Write/Compare）が実施される。
【００８９】
この後、ＣＰＵ間データ転送処理部１１Ｃによって、ステップＳ１３で確保されたメモリ領域が解放され（図９のステップＳ２９）、スレッドを終了する（図９のステップＳ３０）。
【００９０】
そして、ＣＰＵ間データ転送処理部１１Ｃによって実行された試験の結果が参照され、エラーの有無が判定される（図９のステップＳ３１）。
【００９１】
エラーが無い場合（ステップＳ３１のＯＫルート）、メイン処理部１１Ａによって、ＣＰＵ間パスに問題無いと判定される（図９のステップＳ３２）。一方、エラーが有る場合（ステップＳ３１のＮＧルート）、メイン処理部１１Ａによって、ＣＰＵ間パスに問題有りと判定される（図９のステップＳ３３）。
【００９２】
〔６〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００９３】
〔７〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有し、
前記第１演算部は、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、情報処理装置。
【００９５】
（付記２）
前記第１演算部は、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
各論理アドレスと前記アクセス時間とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられたアクセス時間よりも短いアクセス時間を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、付記１に記載の情報処理装置。
【００９６】
（付記３）
前記第１演算部は、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
取得した前記アクセス時間と、前記所定サイズとに基づいて、アクセス速度を取得し、
各論理アドレスと前記アクセス速度とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられた前記アクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、付記１に記載の情報処理装置。
【００９７】
（付記４）
前記第１演算部は、
前記他の論理アドレスを、第２論理アドレスとして認識し、
前記第２論理アドレスに対応する第２物理アドレスを有するメモリが前記第２メモリであると判定する、付記２または付記３に記載の情報処理装置。
【００９８】
（付記５）
前記所定サイズは、前記第１演算部におけるキャッシュメモリのサイズよりも大きく設定される、付記２〜付記４のいずれか一項に記載の情報処理装置。
【００９９】
（付記６）
前記第１演算部は、
前記第１テーブルに基づいて、前記第１論理アドレスまたは前記第２論理アドレスと前記第１メモリまたは前記第２メモリとの対応関係を特定する第２テーブルを作成し、
前記第２テーブルに基づいて、前記第１演算部と前記第２演算部との間の経路試験を行なう、付記１〜付記５のいずれか一項に記載の情報処理装置。
【０１００】
（付記７）
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有する情報処理装置において、
前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、
処理を、前記第１演算部に実行させる、プログラム。
【０１０１】
（付記８）
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
各論理アドレスと前記アクセス時間とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられたアクセス時間よりも短いアクセス時間を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、
処理を、前記第１演算部に実行させる、付記７に記載のプログラム。
【０１０２】
（付記９）
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
取得した前記アクセス時間と、前記所定サイズとに基づいて、アクセス速度を取得し、
各論理アドレスと前記アクセス速度とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられた前記アクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、
処理を、前記第１演算部に実行させる、付記７に記載のプログラム。
【０１０３】
（付記１０）
前記他の論理アドレスを、第２論理アドレスとして認識し、
前記第２論理アドレスに対応する第２物理アドレスを有するメモリが前記第２メモリであると判定する、
処理を、前記第１演算部に実行させる、付記８または付記９に記載のプログラム。
【０１０４】
（付記１１）
前記所定サイズは、前記第１演算部におけるキャッシュメモリのサイズよりも大きく設定される、付記８〜付記１０のいずれか一項に記載のプログラム。
【０１０５】
（付記１２）
前記第１テーブルに基づいて、前記第１論理アドレスまたは前記第２論理アドレスと前記第１メモリまたは前記第２メモリとの対応関係を特定する第２テーブルを作成し、
前記第２テーブルに基づいて、前記第１演算部と前記第２演算部との間の経路試験を行なう、
処理を、前記第１演算部に実行させる、付記７〜付記１１のいずれか一項に記載のプログラム。
【０１０６】
（付記１３）
論理アドレスを指定してメモリアクセスを行ない、バスを介して互いに接続される第１演算部、および第２演算部と、
前記第１演算部に接続される第１メモリと、
前記第２演算部に接続され、前記第１演算部により前記バスを介してアクセスされる第２メモリと、を有する情報処理装置において、
前記第１演算部が、前記メモリアクセスのリクエストの発行から前記リクエストに対する応答までの時間に基づいて、前記論理アドレスに対応する物理アドレスを有するメモリが前記第１メモリであるか前記第２メモリであるかを判定する、情報処理方法。
【０１０７】
（付記１４）
前記第１演算部が、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
各論理アドレスと前記アクセス時間とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられたアクセス時間よりも短いアクセス時間を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、付記１３に記載の情報処理方法。
【０１０８】
（付記１５）
前記第１演算部が、
前記第１メモリおよび前記第２メモリの領域を所定サイズの単位ブロックに分割し、
各単位ブロックに対応する各論理アドレスを指定して行なう、各単位ブロックに対するメモリアクセスに要するアクセス時間を取得し、
取得した前記アクセス時間と、前記所定サイズとに基づいて、アクセス速度を取得し、
各論理アドレスと前記アクセス速度とを対応付け第１テーブルに保存し、
前記第１テーブルに保存される前記論理アドレスのうち、他の論理アドレスに対応付けられた前記アクセス速度よりも速いアクセス速度を対応付けられた論理アドレスを、第１論理アドレスとして認識し、
前記第１論理アドレスに対応する第１物理アドレスを有するメモリが前記第１メモリであると判定する、
処理を、前記第１演算部に実行させる、付記１３に記載の情報処理方法。
【０１０９】
（付記１６）
前記第１演算部が、
前記他の論理アドレスを、第２論理アドレスとして認識し、
前記第２論理アドレスに対応する第２物理アドレスを有するメモリが前記第２メモリであると判定する、
処理を、前記第１演算部に実行させる、付記１４または付記１５に記載の情報処理方法。
【０１１０】
（付記１７）
前記所定サイズは、前記第１演算部におけるキャッシュメモリのサイズよりも大きく設定される、付記１４〜付記１６のいずれか一項に記載の情報処理方法。
【０１１１】
（付記１８）
前記第１演算部が、
前記第１テーブルに基づいて、前記第１論理アドレスまたは前記第２論理アドレスと前記第１メモリまたは前記第２メモリとの対応関係を特定する第２テーブルを作成し、
前記第２テーブルに基づいて、前記第１演算部と前記第２演算部との間の経路試験を行なう、
処理を、前記第１演算部に実行させる、付記１３〜付記１７のいずれか一項に記載の情報処理方法。
【符号の説明】
【０１１２】
１    情報処理装置
１０    マルチプロセッサ装置
１１    ＣＰＵ（第１演算部，第２演算部；ＣＰＵ＃０〜ＣＰＵ＃３）
１１ａ    キャッシュメモリ
１１Ａ    メイン処理部
１１Ｂ    ローカルメモリ／リモートメモリ判定処理部
１１Ｃ    ＣＰＵ間データ転送処理部
１２    メモリ（第１メモリ，第２メモリ；メモリ＃０〜メモリ＃３）
１３    クロスバスイッチ（バス）
２０    記憶部（ＨＤＤ）
２１    ＯＳ
２２    試験プログラム
Ｔ１    紐付けテーブル（第１テーブル）
Ｔ２    位置テーブル（第２テーブル）
Ｔ３    試験経路パターンテーブル
【図１】
2018018130.tif 000003
【図２】
2018018130.tif 000004
【図３】
2018018130.tif 000005
【図４】
2018018130.tif 000006
【図５】
2018018130.tif 000007
【図６】
2018018130.tif 000008
【図７】
2018018130.tif 000009
【図８】
2018018130.tif 000010
【図９】
2018018130.tif 000011
【図１０】
2018018130.tif 000012
【図１１】
2018018130.tif 000013
【図１２】
2018018130.tif 000014
【図１３】
2018018130.tif 000015