JP6392556B2 - アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム - Google Patents

アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム Download PDF

Info

Publication number
JP6392556B2
JP6392556B2 JP2014119935A JP2014119935A JP6392556B2 JP 6392556 B2 JP6392556 B2 JP 6392556B2 JP 2014119935 A JP2014119935 A JP 2014119935A JP 2014119935 A JP2014119935 A JP 2014119935A JP 6392556 B2 JP6392556 B2 JP 6392556B2
Authority
JP
Japan
Prior art keywords
access instruction
instruction
pseudo
access
information processing
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.)
Active
Application number
JP2014119935A
Other languages
English (en)
Other versions
JP2015232841A (ja
Inventor
宏次 小林
宏次 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2014119935A priority Critical patent/JP6392556B2/ja
Publication of JP2015232841A publication Critical patent/JP2015232841A/ja
Application granted granted Critical
Publication of JP6392556B2 publication Critical patent/JP6392556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

本願発明は、通信可能に接続された複数の情報処理装置同士が互いにアクセスする際のアクセスリクエストを発行するアクセスリクエスト発行装置等に関する。
近年、大量のデータ処理を高速化することを実現する、多数の情報処理装置(ノード)を通信可能に接続して、並列処理を行うマルチノードシステムに関する技術が発展している。また、このようなマルチノードシステムでは、例えば、各ノードに対して適切に負荷がかかるように調整することも重要な要素技術の1つであり、係る要素技術も発展している。
このような技術に関連する技術として、特許文献1には、マルチノードシステムにおいてメモリアクセスが競合した場合、ノードは他ノードから受信した後続の競合リクエストを保持し、先行するメモリアクセスの処理を完了した後、保持していた後続の競合リクエストを続けて処理するようにした技術が開示されている。
また、特許文献2には、端末装置が伝送路に送信する単位時間あたりのデータ転送量を監視して、係るデータ転送量が所定の閾値を超えたことを示す信号を生成して、その信号を伝送路に送信するようにした技術が開示されている。
さらに、特許文献3には、サーバ装置に送信されてくるリクエストを一時的にキューに蓄積し、キュー内にリクエストが存在する場合はそのリクエストを、存在しない場合は疑似クライアント装置により発生するリクエストを、順次所定のタイミングで係るサーバ装置に転送するようにした技術が開示されている。
特開2012-138038号公報 特開2003-229858号公報 特開2004-348491号公報
マルチノードシステムを制御するOS(Operating System)が備える機能が高度化するに伴い、OSは、リソースが競合することによる処理性能が低下することを回避するために、高度なスケジューリングを行うようになってきている。すなわち、例えば分散共有メモリを備えたマルチノードシステムにおいて、このようなOSは、各プロセッサが、同一ノード内に存在するメモリへアクセスする頻度が高くなるようにする一方、他のノードに存在するメモリへアクセスする頻度が低くなるように、スケジューリングを行う。その結果、ノード間を跨るメモリアクセスの発生頻度が減少してしまう。そして、係る発生頻度の減少に起因して、ノード同士を接続するインタフェース部分に多様なメモリアクセスによる負荷をかけて、係るインタフェース部分に関する高品質な評価を効率的に行うことが困難になってきている。例えば、ノードが備えるメモリをデグレードしたり、あるいは、OSをチューニングしたりすることによって、ノード間を跨るメモリアクセスの発生頻度を増加させ、係るインタフェース部分に強制的に負荷をかけることは可能である。しかしながら、これらの方法では、環境構築に多大な時間及びコストを要するため、効率的であるとは言えない。特許文献1乃至3が開示した技術は、係るインタフェース部分に関する高品質な評価を効率的に行うという課題を解決できない。
本願発明の主たる目的は、この課題を解決した、アクセスリクエスト発行装置、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラムを提供することである。
本願発明の一態様に係るアクセスリクエスト発行装置は、通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報が格納されている格納手段と、前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行する実行手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係るアクセスリクエスト発行方法は、情報処理装置によって、通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報を格納手段に格納しておき、前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係るアクセスリクエスト発行プログラムは、通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報を格納手段に格納する処理と、前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行する実行処理と、をコンピュータに実行させる。
更に、本発明は、係るアクセスリクエスト発行プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
本願発明は、複数の情報処理装置が通信可能に接続されたシステムにおいて、情報処理装置同士を接続するインタフェース部分に関する高品質な評価を効率的に行うことを可能とする。
本願発明の第1の実施形態に係るアクセスリクエスト発行システムの構成を示すブロック図である。 本願発明の第1の実施形態に係る格納部が格納する情報の構成例である。 本願発明の第1の実施形態に係る実行部の詳細な構成を例示するブロック図である。 本願発明の第1の実施形態に係る制御レジスタエントリが格納する情報の構成例である。 本願発明の第1の実施形態に係るアクセスリクエスト発行部がアクセスリクエストをアクセス先に発行する動作を示すフローチャート(1/2)である。 本願発明の第1の実施形態に係るアクセスリクエスト発行部がアクセスリクエストをアクセス先に発行する動作を示すフローチャート(2/2)である。 本願発明の第1の実施形態に係るアクセスリクエスト発行部が発行したアクセスリクエストに対するリプライを受信する動作を示すフローチャートである。 本願発明の第2の実施形態に係るアクセスリクエスト発行装置の構成を示すブロック図である。 本願発明の各実施形態に係るアクセスリクエスト発行部及びアクセスリクエスト発行装置を実行可能な情報処理装置の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態に係るアクセスリクエスト発行システム1の構成を概念的に示すブロック図である。本実施形態に係るアクセスリクエスト発行システム1は、3個のノード10乃至30を有する。尚、アクセスリクエスト発行システム1が有するノードは3個に限定されるわけではなく、複数個であればよい。ノード10乃至30は、サーバ装置等の情報処理装置であり、同様の機能を有し、同様の構成要素を備えている。図示の便宜上、ノード20及び30の内部構成の表記は省略する。ノード10乃至30は、互いに通信可能に接続されている。
ノード10は、グローバルスイッチ11、プロセッサ150乃至151、メモリ160乃至161、IO(INPUT/OUTPUT)制御部170乃至171、IOカード180乃至181、及び、ディレクトリ190を備えている。尚、ノード10が備える、プロセッサ、メモリ、IO制御部、及び、IOカードは、2個に限定されるわけではない。
プロセッサ150乃至151は、メモリ160乃至161へアクセスする。IOカード180乃至181は、IO制御部170乃至171及びプロセッサ150乃至151を経由して、メモリ160乃至161へアクセスする。ディレクトリ190は、グローバルスイッチ11と接続され、ノード20乃至30の中にあるプロセッサ及びIO制御部が備えるキャッシュの状態を管理する。
グローバルスイッチ11は、プロセッサ150乃至151、及び、IOカード180乃至181が発行した、ノード20乃至30が備えるメモリに対するアクセス命令を処理する。グローバルスイッチ11は、ノード20乃至30が備えるプロセッサ及びIOカードが発行した、メモリ160乃至161に対するアクセス命令を処理する。グローバルスイッチ11は、これらのアクセス命令を受信した際に、当該命令が指示するアクセス先に対して、当該命令が指示する処理を行う。詳細は、図2乃至4を参照して後述する。
グローバルスイッチ11は、アクセスリクエスト発行部12を備えている。アクセスリクエスト発行部12は、格納部13、及び、実行部14を包含している。アクセスリクエスト発行部12は、プロセッサ150乃至151、及び、IOカード180乃至181が実際に発行したノード20乃至30が備えるメモリ(ノード10におけるメモリ160乃至161に相当)に対するアクセス命令(以降、通常アクセス命令と称する)を処理する。アクセスリクエスト発行部12は、プロセッサ150乃至151、及び、IOカード180乃至181からノード20乃至30が備える係るメモリに対する、実際には発行されていない疑似のアクセス命令(以降、疑似アクセス命令と称する)を処理する。
格納部13は、外部の装置あるいはシステム管理者等から入力された係る疑似アクセス命令に関する情報を格納している。格納部13が格納する情報の構成例を図2に示す。
格納部13は、図2に示す通り、1以上の疑似アクセス命令テーブル130を格納している。格納部13は、1つの疑似アクセス命令に関して、1つの疑似アクセス命令テーブル130を格納する。疑似アクセス命令テーブル130は、アクセス先フラグ131、疑似アクセス命令種別132、疑似アクセス命令データ133、期待値チェック有効フラグ134、及び、期待値エラーフラグ135を包含している。
アクセス先フラグ131は、疑似アクセス命令のアクセス先であるノードを特定可能な情報であり、本実施形態の場合、ノード10乃至30を識別する3ビットのフラグである。疑似アクセス命令種別132は、例えば、読み出し命令あるいは書き込み命令等の命令の種別を示す情報である。疑似アクセス命令データ133は、例えば、疑似アクセス命令が書き込み命令である場合は書き込みデータであり、疑似アクセス命令が読み出し命令である場合は、アクセス先のメモリから読み出されることが期待される期待値である。
期待値チェック有効フラグ134は、アクセスリクエスト発行部12が疑似アクセス命令を処理した際に、その処理結果が期待値と一致しているかどうかをチェックすることを示すフラグである。尚、係る処理結果は、例えば、疑似アクセス命令が読み出し命令の場合は、アクセス先のメモリから実際に読み出されたデータである。期待値エラーフラグ135は、係る処理結果が期待値と一致していないことを示すフラグである。
実行部14は、プロセッサ150乃至151、及び、IOカード180乃至181が発行した、ノード20乃至30が備えるメモリに対する通常アクセス命令を実行する。実行部14は、格納部13から疑似アクセス命令テーブル130を読み出して、疑似アクセス命令テーブル130が示す疑似アクセス命令を実行する。実行部13の詳細な構成例を図3に示す。
実行部14は、図3に示す通り、リクエストデコード部140、リプライデコード部141、制御レジスタ142、受信バッファ143、調停部144、リプライ発行部145、調停部146、リクエスト発行部147、及び、疑似アクセス命令優先判定部148を包含している。
リクエストデコード部140は、プロセッサ150乃至151、及び、IOカード180乃至181が発行した、ノード20乃至30が備えるメモリに対する通常アクセス命令が包含する命令情報を解析する。リクエストデコード部140は、その解析結果に基づき、当該通常アクセス命令を制御する情報を、制御レジスタ142における所定のエントリに格納する。リクエストデコード部140は、当該通常アクセス命令が使用するデータを、制御レジスタ142における係るエントリに対応付けられた、受信バッファ143におけるエントリに格納する。
リプライデコード部141は、プロセッサ150乃至151、及び、IOカード180乃至181が発行した、ノード20乃至30が備えるメモリに対する通常アクセス命令に対するノード20乃至30からのリプライ情報を解析する。リプライデコード部141は、その解析結果に基づき、当該通常アクセス命令に関する情報を格納していた、制御レジスタ142及び受信バッファ143におけるエントリの内容を更新する。
制御レジスタ142、及び、受信バッファ143は、アクセス命令ごとに当該通常アクセス命令に関する情報を格納するエントリを1以上包含している。制御レジスタ142におけるエントリは、いずれかの疑似アクセス命令テーブル130と関連付ける情報を包含している。制御レジスタ142が包含するエントリである制御レジスタエントリ1420が格納する情報の構成例を図4に示す。
制御レジスタエントリ1420は、通常アクセス命令有効フラグ1421、アクセス先フラグ1422、命令処理中フラグ1423、疑似アクセス命令有効フラグ1424、疑似アクセス命令エントリ1425、及び、疑似アクセス命令識別フラグ1426を包含している。
通常アクセス命令有効フラグ1421は、プロセッサ150乃至151、及び、IOカード180乃至181の少なくともいずれかから、通常アクセス命令が発行されていることを示すフラグである。通常アクセス命令有効フラグ1421は、リクエストデコード部140が当該通常アクセス命令に関する情報を制御レジスタ142及び受信バッファ143に登録する際に、リクエストデコード部140によって''1''にセットされる。通常アクセス命令有効フラグ1421は、リプライ発行部145が当該通常アクセス命令に対するリプライを、当該通常アクセス命令を発行したプロセッサあるいはIOカードに送信する際に、リプライ発行部145によって''0''にセットされる。
アクセス先フラグ1422は、通常アクセス命令のアクセス先であるノードを識別する3ビットのフラグを包含している。アクセス先フラグ1422は、また、当該通常アクセス命令に対するリプライを、アクセス先のノードから受信済であることを示す1ビットのリプライに関するフラグを包含している。
命令処理中フラグ1423は、当該エントリが情報を格納している通常アクセス命令、あるいは、当該エントリに関連付けられた疑似アクセス命令テーブル130に情報が格納されている疑似アクセス命令を処理中であることを示すフラグである。命令処理中フラグ1423は、リクエスト発行部147が、通常アクセス命令あるいは疑似アクセス命令に関するリクエストをいずれかのノードに送信する際に、リクエスト発行部147によって''1''にセットされる。命令処理中フラグ1423は、通常アクセス命令に関しては、リプライ発行部145が当該通常アクセス命令を発行したプロセッサあるいはIOカードにリプライを送信する際に、リプライ発行部145によって''0''にセットされる。命令処理中フラグ1423は、疑似アクセス命令に関しては、リプライデコード部141が、受信したリプライ情報に基づき制御レジスタ142及び受信バッファ143におけるエントリの内容を更新する際に、リプライデコード部141によって''0''にセットされる。
疑似アクセス命令有効フラグ1424は、有効な疑似アクセス命令が、何れかの疑似アクセス命令テーブル130に格納されていることを示すフラグである。疑似アクセス命令エントリ1425は、制御レジスタエントリ1420に関連付けられる疑似アクセス命令テーブル130を識別可能な情報である。実行部14は、制御レジスタエントリ1420に情報が格納された通常アクセス命令を実行する際に、疑似アクセス命令エントリ1425によって特定される疑似アクセス命令を実行する。疑似アクセス命令識別フラグ1426は、処理中のアクセス命令が、通常アクセス命令であるのか、あるいは、疑似アクセス命令であるのかを区別するフラグである。例えば、疑似アクセス命令識別フラグ1426の値は、その値が''0''である場合は、通常アクセス命令が処理中であり、その値が''1''である場合は、疑似アクセス命令を処理中であることを示している。
調停部144は、アクセス先フラグ1422におけるリプライを示すフラグの値が''1''である、複数の制御レジスタエントリ1420に情報が格納された通常アクセス命令に関して調停を行う。すなわち、調停部144は、いずれかのこれらの通常アクセス命令に対するリプライを、当該通常アクセス命令を発行したプロセッサあるいはIOカードに送信するかを所定の基準に基づいて調停することによって決定する。
リプライ発行部145は、調停部144が決定した通常アクセス命令に対するリプライを格納した、受信バッファ143におけるエントリからリプライ情報を読み出して、当該通常アクセス命令を発行したプロセッサあるいはIOカードに、リプライ情報を送信する。
調停部146は、アクセス先フラグ1422における、リプライを示すフラグの値が''0''であり、かつ、アクセス先であるノードを示すフラグの値が''1''である、複数の制御レジスタエントリ1420に情報が格納された通常アクセス命令に関して調停を行う。すなわち、調停部146は、いずれかのこれらの実行待ちである通常アクセス命令に関するリクエストをアクセス先であるノードに送信するかを所定の基準に基づいて調停することによって決定する。所定の基準としては、例えば、通常アクセス命令がプロセッサあるいはIOカードから発行された順番などがある。調停部146は、また、アクセス先フラグ131における、アクセス先であるノードを示すフラグの値が''1''である、複数の疑似アクセス命令テーブル130に情報が格納された疑似アクセス命令に関して調停を行う。すなわち、調停部146は、いずれかのこれらの実行待ちである疑似アクセス命令に関するリクエストをアクセス先であるノードに送信するかを所定の基準に基づいて調停することによって決定する。所定の基準としては、例えば、疑似アクセス命令が関連付けられている通常アクセス命令がプロセッサあるいはIOカードから発行された順番などがある。
リクエスト発行部147は、調停部146が決定した通常アクセス命令が使用するデータを格納した、受信バッファ143におけるエントリからリクエストに関する情報を読み出して、当該通常アクセス命令に関するリクエストを、アクセス先であるノードに送信する。リクエスト発行部147は、調停部146が決定した疑似アクセス命令が使用するデータを格納した、疑似アクセス命令テーブル130からリクエストに関する情報を読み出して、当該疑似アクセス命令に関するリクエストを、アクセス先であるノードに送信する。
疑似アクセス命令優先判定部148は、有効な通常アクセス命令と有効な疑似アクセス命令が両方とも存在する場合に、通常アクセス命令を優先して処理するのか、あるいは、疑似アクセス命令を優先して処理するのかを判定する。
図3に示す通り、疑似アクセス命令優先判定部148は、疑似アクセス命令優先フラグ1480、疑似アクセス命令優先期間タイマー1481、及び、通常アクセス命令優先期間タイマー1483を包含している。
疑似アクセス命令優先フラグ1480は、通常アクセス命令を優先して処理するのか、あるいは、疑似アクセス命令を優先して処理するのかを示すフラグである。疑似アクセス命令優先フラグ1480は、例えば、その値が''1''である場合は、疑似アクセス命令を優先して処理することを示し、その値が''0''である場合は、通常アクセス命令を優先して処理することを示している。疑似アクセス命令優先フラグ1480が示す値は、疑似アクセス命令優先期間タイマー1481、及び、通常アクセス命令優先期間タイマー1483が行う処理によって、所定の時間ごとに切り替わる。
疑似アクセス命令優先期間タイマー1481は、優先期間閾値1482を格納している。優先期間閾値1482は、疑似アクセス命令を優先して処理する期間の長さを示す値であり、例えばシステム管理者等により設定される。疑似アクセス命令優先期間タイマー1481は、疑似アクセス命令優先フラグ1480の値が''0''から''1''に変更されたときに、経過時間の計測を開始する。疑似アクセス命令優先期間タイマー1481は、計測した経過時間が優先期間閾値1482に到達したときに、経過時間の計測を終了して計測した経過時間をリセットしたのち、疑似アクセス命令優先フラグ1480の値を''1''から''0''に変更する。
通常アクセス命令優先期間タイマー1483は、優先期間閾値1484を格納している。優先期間閾値1484は、通常アクセス命令を優先して処理する期間の長さを示す値であり、例えばシステム管理者等により設定される。通常アクセス命令優先期間タイマー1483は、疑似アクセス命令優先フラグ1480の値が''1''から''0''に変更されたときに、経過時間の計測を開始する。通常アクセス命令優先期間タイマー1483は、計測した経過時間が優先期間閾値1484に到達したときに、経過時間の計測を終了して計測した経過時間をリセットしたのち、疑似アクセス命令優先フラグ1480の値を''0''から''1''に変更する。
次に図5A乃至5Bのフローチャートを参照して、本実施形態に係るアクセスリクエスト発行部12がアクセスリクエストをアクセス先に発行する動作(処理)について詳細に説明する。
疑似アクセス命令優先判定部148は、システム管理者等によって入力された優先期間閾値1482及び1484を内部に格納する(ステップS101)。疑似アクセス命令テーブル130は、システム管理者等によって入力された、アクセス先フラグ131、疑似アクセス命令種別132、疑似アクセス命令データ133、及び、期待値チェックフラグ134が示す値を格納する(ステップS102)。制御レジスタエントリ1420は、システム管理者等によって入力された疑似アクセス命令エントリ1425が示す値を格納し、疑似アクセス命令有効フラグ1424が示す値を、''1''に設定する(ステップS103)。
命令処理中フラグ1423が示す値が''1''である場合(ステップS104でYes)、全体の処理は終了する。命令処理中フラグ1423が示す値が''1''でない(すなわち''0''である)場合(ステップS104でNo)、処理はステップS105へ進む。疑似アクセス命令有効フラグ1424が示す値が''1''でない(すなわち''0''である)場合(ステップS105でNo)、処理はステップS106へ進む。疑似アクセス命令有効フラグ1424が示す値が''1''である場合(ステップS105でYes)、処理はステップS107へ進む。
通常アクセス命令有効フラグ1421が示す値が''1''でない(すなわち''0''である)場合(ステップS106でNo)、処理はステップS105へ戻る。通常アクセス命令有効フラグ1421が示す値が''1''ある場合(ステップS106でYes)、処理はステップS109へ進む。通常アクセス命令有効フラグ1421が示す値が''1''である場合(ステップS107でYes)、処理はステップS108へ進む。通常アクセス命令有効フラグ
1421が示す値が''1''でない(すなわち''0''である)場合(ステップS107でNo)、処理はステップS112へ進む。疑似アクセス命令優先フラグ1480が示す値が''1''である場合(ステップS108でYes)、処理はステップS112へ進む。疑似アクセス命令優先フラグ1480が示す値が''1''でない(すなわち''0''である)場合(ステップS108でNo)、処理はステップS109へ進む。
調停部146は、アクセス先フラグ1422が示すアクセス先への通常アクセス命令について、リクエスト発行を調停する(ステップS109)。調停部146が、当該通常アクセス命令について、リクエストを発行することを決定しない場合(ステップS110でNo)、処理はステップS109へ戻る。調停部146が、当該通常アクセス命令について、リクエストを発行することを決定した場合(ステップS110でYes)、リクエスト発行部147は、当該通常アクセス命令に関するリクエストを発行し、命令処理中フラグ1423が示す値を''1''に、疑似アクセス命令識別フラグ1426が示す値を''0''に設定して(ステップS111)、全体の処理は終了する。
調停部146は、疑似アクセス命令エントリ1425によって特定される疑似アクセス命令テーブル130におけるアクセス先フラグ131が示すアクセス先への疑似アクセス命令について、リクエスト発行を調停する(ステップS112)。調停部146が、当該疑似アクセス命令について、リクエストを発行することを決定しない場合(ステップS113でNo)、処理はステップS112へ戻る。調停部146が、当該疑似アクセス命令について、リクエストを発行することを決定した場合(ステップS113でYes)、リクエスト発行部147は、当該疑似アクセス命令に関するリクエストを発行し、命令処理中フラグ1423が示す値を''1''に、疑似アクセス命令識別フラグ1426が示す値を''1''に設定して(ステップS114)、全体の処理は終了する。
次に図6のフローチャートを参照して、本実施形態に係るアクセスリクエスト発行部12が発行したアクセスリクエストに対するリプライを受信する動作(処理)について詳細に説明する。
リプライデコード部141は、発行したアクセス命令に対するリプライデータを受信する(ステップS201)。疑似アクセス命令識別フラグ1426が示す値が''1''である場合(ステップS202でYes)、処理はステップS208へ進む。疑似アクセス命令識別フラグ1426が示す値が''1''でない(すなわち''0''である)場合(ステップS202でNo)、リプライデコード部141は、受信した通常命令に対するリプライデータを、受信バッファ143に登録し、アクセス先フラグ1422におけるリプライを示すビットを''1''に設定する(ステップS203)。
調停部144は、アクセス先フラグ1422が示すアクセス先へのリプライについて、リプライ発行を調停する(ステップS204)。調停部144が、当該リプライを発行することを決定しない場合(ステップS205でNo)、処理はステップS204へ戻る。調停部144が、当該リプライを発行することを決定した場合(ステップS205でYes)、リプライ発行部145は、当該リプライを発行し、通常アクセス命令有効フラグ1421が示す値を''0''に設定する(ステップS206)。リプライ発行部145は、命令処理中フラグ1423が示す値を''0''に設定し(ステップS207)、全体の処理は終了する。
期待値チェック有効フラグ134が示す値が''1''でない(すなわち''0''である)場合(ステップS208でNo)、リプライデコード部141は、受信した疑似アクセス命令に対するリプライデータを破棄する(ステップS209)。リプライ発行部145は、疑似アクセス命令有効フラグ1424が示す値を''0''に設定し(ステップS211)、処理はステップS207へ進む。
期待値チェック有効フラグ134が示す値が''1''である場合(ステップS208でYes)、実行部14は、リプライデータが示す値と疑似アクセス命令データ131が示す値を比較し、その値が一致しない場合は、期待値エラーフラグ135が示す値を''1''に設定し(ステップS210)、処理はステップS211へ進む。
本実施形態に係るアクセスリクエスト発行システム1は、複数の情報処理装置が通信可能に接続されたシステムにおいて、情報処理装置同士を接続するインタフェース部分に関する高品質な評価を効率的に行うことができる。その理由は、格納部13が情報処理装置間を跨るアクセスを行う疑似アクセス命令の命令情報を格納し、実行部14が係る疑似アクセス命令を実行するからである。
近年、分散共有メモリを備えたマルチノードシステム等においては、OSは、システム性能を高めるために高度なスケジューリングを行うようになってきている。すなわち、OSは、各プロセッサが、同一ノード内にあるメモリへアクセスする頻度が高くなるようにする一方、他のノードにあるメモリへアクセスする頻度が低くなるように、スケジューリングを行う。この結果、システムが通常動作を行う場合、ノード間を跨るアクセスが発生する頻度が減少するため、ノード同士を接続するインタフェース部分に負荷をかけることによって、係るインタフェース部分に関する高品質な評価を効率的に行うことが困難になる。
これに対して、本実施形態に係るアクセスリクエスト発行システム1では、格納部13が、外部から入力された情報処理装置間を跨るアクセスを行う疑似アクセス命令の命令情報を格納し、実行部14が、係る疑似アクセス命令を実行する。したがって、アクセスリクエスト発行システム1は、実際にはノードから発行されていない、ノード間を跨るアクセス命令を、疑似的に発生させることにより、ノード同士を接続するインタフェース部分に負荷をかけることができる。そして、例えばシステム管理者などが、係る疑似アクセス命令の命令情報として、多様なデータを設定することにより、アクセスリクエスト発行システム1は、係るインタフェース部分に関して、様々なアクセスパターンを包含する網羅性が高い評価を行うことができる。これにより、アクセスリクエスト発行システム1は、係るインタフェース部分に関する高品質な評価を効率的に行うことができる。
また、本実施形態に係るアクセスリクエスト発行部12は、疑似アクセス命令を実行した結果として期待される期待値を格納しておき、疑似アクセス命令を実際に実行した結果と係る期待値を比較することによって、エラーを検出する。これにより、本実施形態に係るアクセスリクエスト発行システム1は、係るインタフェース部分の評価において、システム管理者にかかる負担を軽減することができる。
さらに、本実施形態に係る疑似アクセス命令優先判定部148は、通常アクセス命令を疑似アクセス命令に優先させて実行する期間と、疑似アクセス命令を通常アクセス命令に優先させて実行する期間とを設定し、これらの期間を交互に切り替える。もし、このような期間が設定されていない場合、通常アクセス命令が、疑似アクセス命令に関する処理が連続して行われることによって、それらの処理が完了するまで長時間、処理を待たされた結果、タイムアウトとなる虞がある。したがって、本実施形態に係るアクセスリクエスト発行システム1は、係るタイムアウトが発生して評価が中断することを回避して、インタフェース部分を効率的に評価することができる。
また、本実施形態に係るアクセスリクエスト発行部12は、疑似アクセス命令を、通常アクセス命令と関連付けることによって、関連付けられた疑似アクセス命令を、通常アクセス命令を実行する際に確実に実行できる。 さらに、本実施形態に係るアクセスリクエスト発行部12は、実行待ちである複数の疑似アクセス命令に関して、何れかの疑似アクセス命令を先に実行するのかを調停する機能を備えている。したがって、アクセスリクエスト発行部12は、疑似アクセス命令が実行されずに滞留することを回避できる。
尚、本実施形態に係るアクセスリクエスト発行システム1では、アクセスリクエスト発行部12は、グローバルスイッチ11に備えられているが、この構成は一例に過ぎない。例えば、アクセスリクエスト発行部12は、単体の装置などでもよく、各ノードに疑似アクセス命令の命令情報を与えて、各ノードに疑似アクセス命令を発行することを指示してもよい。
<第2の実施形態>
図7は、第2の実施形態のアクセスリクエスト発行装置40の構成を概念的に示すブロック図である。
本実施形態に係るアクセスリクエスト発行装置40は、格納部41、及び、実行部42を備えている。
格納部41は、通信可能に接続された複数の情報処理装置のうちの、第1の情報処理装置50から第2の情報処理装置60に対するアクセス命令であって、第1の情報処理装置50が実際には発行していない係るアクセス命令を、疑似アクセス命令として、外部から入力された係る疑似アクセス命令に関する命令情報を、疑似アクセス命令情報410として格納している。
実行部42は、第1の情報処理装置50が実際に発行した係るアクセス命令である通常アクセス命令が発行される際に、格納部41から疑似アクセス命令情報410を読み出して、係る疑似アクセス命令を実行する。
本実施形態に係るアクセスリクエスト発行装置40は、複数の情報処理装置が通信可能に接続されたシステムにおいて、情報処理装置同士を接続するインタフェース部分に関する高品質な評価を効率的に行うことができる。その理由は、格納部41が情報処理装置間を跨るアクセスを行う疑似アクセス命令の命令情報を格納し、実行部42が係る疑似アクセス命令を実行するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図7に示した各部は、専用のHW(HawdWare)(電子回路)によって実現することができる。また、少なくとも、格納部13及び41、及び、実行部14及び42は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図8を参照して説明する。
図8は、本発明の模範的な実施形態に係る、アクセスリクエスト発行部12及びアクセスリクエスト発行装置40を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図8は、図1に示したアクセスリクエスト発行部12、及び、図7に示したアクセスリクエスト発行装置40を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図8に示した情報処理装置900は、CPU901、ROM(Read_Only_Memory)902、RAM(Random_Access_Memory)903、ハードディスク904(記憶装置)、外部装置との通信インタフェース905(Interface:以降、「I/F」と称する)、CD−ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体907に格納されたデータを読み書き可能なリーダライタ908、及び、入出力インタフェース909を備え、これらの構成がバス906(通信線)を介して接続された一般的なコンピュータである。
そして、上述した実施形態を例に説明した本発明は、図8に示した情報処理装置900に対して、その実施形態の説明において参照したブロック構成図(図1、及び、図7)における、格納部13及び41、及び、実行部14及び42、或いはフローチャート(図5A、図5B、及び、図6)の機能を実現可能なコンピュータプログラムを供給した後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ(RAM903)またはハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、CD−ROM等の各種記憶媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 アクセスリクエスト発行システム
10乃至30 ノード
11 グローバルスイッチ
12 アクセスリクエスト発行部
13 格納部
130 疑似アクセス命令テーブル
131 アクセス先フラグ
132 疑似アクセス命令種別
133 疑似アクセス命令データ
134 期待値チェック有効フラグ
135 期待値エラーフラグ
14 実行部
140 リクエストデコード部
141 リプライデコード部
142 制御レジスタ
1420 制御レジスタエントリ
1421 通常アクセス命令有効フラグ
1422 アクセス先フラグ
1423 命令処理中フラグ
1424 疑似アクセス命令有効フラグ
1425 疑似アクセス命令エントリ
1426 疑似アクセス命令識別フラグ
143 受信バッファ
144 調停部
145 リプライ発行部
146 調停部
147 リクエスト発行部
148 疑似アクセス命令優先判定部
1480 疑似アクセス命令優先フラグ
1481 疑似アクセス命令優先期間タイマー
1482 優先期間閾値
1483 通常アクセス命令優先期間タイマー
1484 優先期間閾値
150乃至151 プロセッサ
160乃至161 メモリ
170乃至171 IO制御部
180乃至181 IOカード
190 ディレクトリ
40 アクセスリクエスト発行装置
41 格納部
410 疑似アクセス命令情報
42 実行部
50 第1の情報処理装置
60 第2の情報処理装置
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク
905 通信インタフェース
906 バス
907 記憶媒体
908 リーダライタ
909 入出力インタフェース

Claims (9)

  1. 通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報が格納されている格納手段と、
    前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行する実行手段と、
    を備え
    前記実行手段は、前記通常アクセス命令、及び、前記疑似アクセス命令の両方が存在する場合、前記通常アクセス命令を前記疑似アクセス命令に優先して実行する期間と、前記疑似アクセス命令を前記通常アクセス命令に優先して実行する期間とを切り替えて、前記通常アクセス命令及び前記疑似アクセス命令を実行する、
    アクセスリクエスト発行装置。
  2. 前記格納手段は、前記実行手段が前記疑似アクセス命令を実行した際に、前記第二の情報処理装置から得られることが期待される値を表す期待値情報を格納し、
    前記実行手段は、前記疑似アクセス命令を実行した際に前記第二の情報処理装置から得られた実行結果が表す値と、前記期待値情報が表す値とを比較する、
    請求項1に記載のアクセスリクエスト発行装置。
  3. 前記実行手段は、前記通常アクセス命令を前記疑似アクセス命令に優先して実行する期間が開始してからの経過時間が第一の閾値に達したことを検出し、前記疑似アクセス命令を前記通常アクセス命令に優先して実行する期間が開始してからの経過時間が第二の閾値に達したことを検出する、
    請求項に記載のアクセスリクエスト発行装置。
  4. 前記実行手段は、前記通常アクセス命令に関する命令情報と、1以上の前記疑似アクセス命令に関する命令情報の何れかと、を関連付ける情報を記憶し、前記通常アクセス命令に関連付けられた前記疑似アクセス命令を実行する、
    請求項1乃至のいずれかに記載のアクセスリクエスト発行装置。
  5. 前記実行手段は、複数の前記疑似アクセス命令が実行待ちである場合に、複数の前記疑似アクセス命令のうちのいずれかを先に実行するかを、所定の基準に基づいて調停する、
    請求項1乃至のいずれかに記載のアクセスリクエスト発行装置。
  6. 請求項1乃至のいずれかに記載のアクセスリクエスト発行装置と、前記第一及び第二の情報処理装置を有する、アクセスリクエスト発行システム。
  7. 前記アクセスリクエスト発行装置は、前記第一の情報処理装置が備える、前記第二の情報処理装置と送受信する情報に関する入出力を処理するインタフェース部に包含される、
    請求項に記載のアクセスリクエスト発行システム。
  8. 情報処理装置によって、
    通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報を格納手段に格納しておき、
    前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行
    前記通常アクセス命令、及び、前記疑似アクセス命令の両方が存在する場合、前記通常アクセス命令を前記疑似アクセス命令に優先して実行する期間と、前記疑似アクセス命令を前記通常アクセス命令に優先して実行する期間とを切り替えて、前記通常アクセス命令及び前記疑似アクセス命令を実行する、
    アクセスリクエスト発行方法。
  9. 通信可能に接続された複数の情報処理装置のうちの、第一の情報処理装置から第二の情報処理装置に対するアクセス命令であって、前記第一の情報処理装置が実際には発行していない前記アクセス命令を、疑似アクセス命令として、外部から入力された前記疑似アクセス命令に関する命令情報を格納手段に格納する処理と、
    前記第一の情報処理装置が実際に発行した前記アクセス命令である通常アクセス命令が実行される際に、前記格納手段から前記命令情報を読み出して、前記疑似アクセス命令を実行する実行処理と、
    をコンピュータに実行させ、
    前記実行処理は、前記通常アクセス命令、及び、前記疑似アクセス命令の両方が存在する場合、前記通常アクセス命令を前記疑似アクセス命令に優先して実行する期間と、前記疑似アクセス命令を前記通常アクセス命令に優先して実行する期間とを切り替えて、前記通常アクセス命令及び前記疑似アクセス命令を実行する、
    アクセスリクエスト発行プログラム。
JP2014119935A 2014-06-10 2014-06-10 アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム Active JP6392556B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014119935A JP6392556B2 (ja) 2014-06-10 2014-06-10 アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014119935A JP6392556B2 (ja) 2014-06-10 2014-06-10 アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム

Publications (2)

Publication Number Publication Date
JP2015232841A JP2015232841A (ja) 2015-12-24
JP6392556B2 true JP6392556B2 (ja) 2018-09-19

Family

ID=54934229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014119935A Active JP6392556B2 (ja) 2014-06-10 2014-06-10 アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム

Country Status (1)

Country Link
JP (1) JP6392556B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2721430B2 (ja) * 1990-11-20 1998-03-04 株式会社日立製作所 リクエスト競合生成方式
JP2000010873A (ja) * 1998-04-20 2000-01-14 Mitsubishi Electric Corp メモリテスト装置及びメモリテスト方法
JP2003070026A (ja) * 2001-08-29 2003-03-07 Ando Electric Co Ltd 動画配信サーバ試験用アクセス発生装置及び動画配信サーバ試験方法
US20060179380A1 (en) * 2005-01-14 2006-08-10 Ivo Tousek On-chip electronic hardware debug support units having execution halting capabilities
JP2007104239A (ja) * 2005-10-04 2007-04-19 Nec Engineering Ltd 集中負荷疑似呼発生装置
JP2008243012A (ja) * 2007-03-28 2008-10-09 Kyocera Mita Corp 電子機器

Also Published As

Publication number Publication date
JP2015232841A (ja) 2015-12-24

Similar Documents

Publication Publication Date Title
US9824004B2 (en) Methods and apparatuses for requesting ready status information from a memory
US20120166685A1 (en) Selectively enabling a host transfer interrupt
JP5498505B2 (ja) データバースト間の競合の解決
US20060059489A1 (en) Parallel processing system, interconnection network, node and network control method, and program therefor
US9721104B2 (en) CPU-based measured boot
US10198365B2 (en) Information processing system, method and medium
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
CN110235106B (zh) 完成侧客户端节流
US20110246667A1 (en) Processing unit, chip, computing device and method for accelerating data transmission
US9086803B2 (en) Changing correspondence among control devices and memories based on memory access frequencies
CN110235105B (zh) 用于在受信任客户端组件中的服务器处理之后的客户端侧节流的系统和方法
US20160057068A1 (en) System and method for transmitting data embedded into control information
JP2001333137A (ja) 自主動作通信制御装置及び自主動作通信制御方法
US8909873B2 (en) Traffic control method and apparatus of multiprocessor system
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP6392556B2 (ja) アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム
US20140052879A1 (en) Processor, information processing apparatus, and interrupt control method
WO2021106608A1 (ja) 情報処理装置
US10635157B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
US8713205B2 (en) Data transfer device and data transfer method
CN112445587A (zh) 一种任务处理的方法以及任务处理装置
JP2010146117A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2015014962A (ja) 演算装置、演算方法、及びプログラム
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP6364827B2 (ja) 情報処理装置、及び、そのリソースアクセス方法、並びに、リソースアクセスプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180823

R150 Certificate of patent or registration of utility model

Ref document number: 6392556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150