JP2016057797A - 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム - Google Patents

診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム Download PDF

Info

Publication number
JP2016057797A
JP2016057797A JP2014182942A JP2014182942A JP2016057797A JP 2016057797 A JP2016057797 A JP 2016057797A JP 2014182942 A JP2014182942 A JP 2014182942A JP 2014182942 A JP2014182942 A JP 2014182942A JP 2016057797 A JP2016057797 A JP 2016057797A
Authority
JP
Japan
Prior art keywords
information processing
memory
diagnostic program
processing means
program execution
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.)
Pending
Application number
JP2014182942A
Other languages
English (en)
Inventor
結城 伊達
Yuki Date
結城 伊達
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2014182942A priority Critical patent/JP2016057797A/ja
Publication of JP2016057797A publication Critical patent/JP2016057797A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】メモリを共有する複数の情報処理手段が、並列に診断プログラムを実行するシステムにおいて、各情報処理手段に対して、アクセス可能なメモリ領域を柔軟に割り当てることを可能とする。【解決手段】本願発明の診断プログラム実行装置40は、アクセスするメモリ60を共有する複数の情報処理部51乃至54が個々に備える、メモリ60へのアクセスの際に使用するアドレス変換テーブル510乃至540に対して、情報処理部51乃至54の間で重複しない第一のページベースアドレスの値を設定する設定部41と、外部からの指示を受けて、メモリ60における第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する複数の情報処理部51乃至54に対して、並列に診断プログラムを実行することを指示する指示部42と、を備える。【選択図】 図7

Description

本願発明は、複数のプロセッサあるいはコア等の情報処理部がメモリを共有するシステムにおいて、係る複数の情報処理部に診断プログラムを並列に実行させる診断プログラム実行装置等に関する。
近年、プロセッサは、複数のコア(情報処理部)を備えることにより、性能を大幅に向上してきている。このようなマルチコアであるアーキテクチャを採用したプロセッサでは、複数のコアに関する信頼性を効率的に確保する必要がある。通常、プロセッサを診断する診断プログラムは、一般的なアプリケーションとは異なり、コア内部におけるレジスタ番号、メモリアドレス、及び、データパタン等を意識して命令列を組み立てているため、通常はアセンブラ言語等により記述されることが多い。
複数のコアに関する信頼性を効率的に確保する方法として、複数のコアに診断プログラムを並列に実行させることが考えられる。この際、もし複数のコアが実行する診断プログラムが同一のプログラムである場合、各コアがそれぞれのタイミングで、係る診断プログラムが指定する同じメモリアドレスに格納されたデータを更新するので、実行結果が不正になる問題がある。したがって、複数のコアに診断プログラムを並列に実行させるためには、複数のコアがアクセスするメモリアドレスが重複しないように、コアごとに個別の診断プログラムを準備する必要がある。しかしながら、難解なアセンブラ言語等により記述される診断プログラムを、コアごとに個別に準備することは、診断プログラムを開発して管理する工数が大幅に増加することから、現実的であるとは言えない。したがって、複数のコアが同一の診断プログラムを並列に実行した場合であっても、実行結果を保証することができる技術に対する期待が高まってきている。
このような技術の一例として、特許文献1には、複数のコアが共有するメモリを複数の区画(領域)に分割し、これら複数のコアの各々に対して、コア毎に異なる区画を割り当てることが可能な装置が開示されている。この装置は、コア同士でメモリアクセスが競合しないことを前提に実装された診断プログラムを各々の区画にロードした後、複数のコアに当該診断プログラムを並列に実行させる。
特開2014-109938号公報
特許文献1が開示した技術を備える診断プログラム実行装置が、複数のコアの各々に対して、コア毎に異なるメモリ領域を割り当てる場合、その割り当て方に柔軟性を持たせることにより、柔軟な診断処理を行うことができる。例えば、メモリ内に障害が発生した場合、係る診断プログラム実行装置は、障害が発生したアドレスを回避したメモリ領域を割り当てることにより、診断プログラムの実行を継続することができる。
また、複数のコアが診断プログラムを並列に実行しているときに、診断する内容によっては、コア同士が通信を行う場合がある。この場合、メモリの一部を、コア同士が共有するメモリ領域として確保する必要があるので、各コアが個別に専有するメモリ領域と、それらのコア同士が共有するメモリ領域とが混在することになる。したがって、各コアに対して、アクセス可能なメモリ領域を、より柔軟に割り当てる技術が必要となる。
特許文献1に記載された装置では、各コアにアクセス可能なメモリ領域を割り当てる際に、ベースアドレスレジスタを使用する。しかしながら、このベースアドレスレジスタを使用する方式では、上述のように、柔軟にメモリ領域を割り当てることは困難である。
本願発明の主たる目的は、この問題を解決した、診断プログラム実行装置等を提供することである。
本願発明の一態様に係る診断プログラム実行装置は、アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定する設定手段と、外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する指示手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係る診断プログラム実行方法は、情報処理装置によって、アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定し、外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係る診断プログラム実行プログラムは、アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定する設定処理と、外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する指示処理と、をコンピュータに実行させる。
更に、本発明は、係る診断プログラム実行プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
本願発明は、メモリを共有する複数の情報処理手段が、並列に診断プログラムを実行するシステムにおいて、各情報処理手段に対して、アクセス可能なメモリ領域を柔軟に割り当てることを可能とする。
本願発明の第1の実施形態に係る診断プログラム実行システムの構成を示すブロック図である。 本願発明の第1の実施形態に係るアドレス変換テーブルへのページベースアドレスに関する設定例(ケース1)である。 本願発明の第1の実施形態に係るコアのメモリ使用状況を示すメモリマップの例(ケース1)である。 本願発明の第1の実施形態に係るアドレス変換テーブルへのページベースアドレスに関する設定例(ケース2)である。 本願発明の第1の実施形態に係るコアのメモリ使用状況を示すメモリマップの例(ケース2)である。 本願発明の第1の実施形態に係る診断プログラム実行システムの動作を示すフローチャートである。 本願発明の第2の実施形態に係る診断プログラム実行装置の構成を示すブロック図である。 本願発明の各実施形態に係る診断プログラム実行装置を実行可能な情報処理装置の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、第1の実施形態に係る診断プログラム実行システム1の構成を概念的に示すブロック図である。本実施形態に係る診断プログラム実行システム1は、診断プログラム実行装置10、情報処理エンジン20、及び、記憶装置30を備えている。
情報処理エンジン20は、例えば、サーバ装置等の情報処理装置等におけるI(Input)/O(Output)ポートに実装可能なGPU(Graphics Processing Unit)のようなカード型の演算装置である。情報処理エンジン20は、あるいは、情報処理装置に実装可能なCPU(Central Processing Unit)であってもよいし、情報処理装置自体であってもよい。
情報処理エンジン20は、8個のコア21乃至28、及び、メモリ29を備えている。コア21乃至28は、情報処理エンジン20がGPUあるいはCPUである場合、LSI(Large Scale Integration)内部に構築された演算コア回路である。コア21乃至28は、情報処理エンジン20が情報処理装置である場合、CPUに相当する。情報処理エンジン20が備えるコアの数は8個でなくてもよい。
メモリ29は、コア21乃至28が共有してアクセス可能なメモリであり、コア21乃至28がアクセスするデータを格納する。
記憶装置30は、磁気ディスク装置あるいは電子ディスク装置等の記憶装置であり、診断プログラム31を格納している。診断プログラム31は、診断プログラム実行装置10が情報処理エンジン20を診断する際に、コア21乃至28が実行するプログラムである。
診断プログラム実行装置10は、情報処理エンジン20に関する診断処理を制御する装置である。診断プログラム実行装置10は、設定部11、及び、指示部12を備えている。設定部11、及び、指示部12は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。
(アドレス変換テーブルの設定)
設定部11は、診断プログラム実行システム1を管理する管理者が情報処理エンジン20を診断することを指示したときに、コア21乃至28が備えるアドレス変換テーブル210乃至280に、所定の基準に基づき値を設定する。アドレス変換テーブル210乃至280は、コア21乃至28がメモリ29へアクセスする際に使用する、アクセス先である論理ページベースアドレスを物理ページベースアドレスに変換するテーブルである。論理ページベースアドレスは、診断プログラムがメモリ29におけるアクセス先として指定する、論理ページに関するベースアドレスである。物理ページベースアドレスは、メモリ29に実際にアクセスする物理ページに関するベースアドレスである。
次に、上記のように、係る所定の基準に従って設定部11が行うアドレス変換テーブルの設定例と、設定されたアドレス変換テーブルを参照することによってコアが行うメモリ29へのアクセスについて、2つの例(ケース1、ケース2)を以下に説明する。
(設定ケース1)
設定部11による、アドレス変換テーブル210乃至280に対する物理ページベースアドレスの値に関する設定例(ケース1)を図2に示す。アドレス変換テーブル210乃至280に対して物理ページベースアドレスの値が図2のように設定された場合における、メモリ29に関する使用状況を示すメモリマップ290を図3に示す。
図3に示す通り、メモリ29は「0x00000000」(「0x」は16進数表記であることを示す)から「0xFFFFFFFF」までの物理アドレス空間を有している。すなわち、メモリ29は、例えば容量が4GB(ギガバイト)のメモリである。
図2に示す通り、設定部11は、コア21が備えるアドレス変換テーブル210における、1番目のエントリから256番目のエントリに、物理ページベースアドレスとして、「0x000」乃至「0x0FF」を設定する。設定部11は、アドレス変換テーブル210における、257番目のエントリから512番目のエントリに、物理ページベースアドレスとして、「0xF00」乃至「0xFFF」を設定する。この場合、コア21は、例えば論理アドレス「0x00012345」を物理アドレス「0x00012345」に変換し(この場合は同じ値に変換)、論理アドレス「0x10012345」を物理アドレス「0xF0012345」に変換したのち、メモリ29へアクセスする。
設定部11は、同様に、コア22が備えるアドレス変換テーブル220における、1番目のエントリから256番目のエントリに、物理ページベースアドレスとして、「0x200」乃至「0x2FF」を設定する。設定部11は、アドレス変換テーブル220における、257番目のエントリから512番目のエントリに、物理ページベースアドレスとして、「0xF00」乃至「0xFFF」を設定する。
設定部11は、コア23乃至28が備えるアドレス変換テーブル230乃至280についても、同様に物理ページベースアドレスの値を設定する。具体的には、設定部11は、アドレス変換テーブル230乃至280における1番目のエントリから256番目のエントリに、順に、「0x400」乃至「0x4FF」、「0x600」乃至「0x6FF」、「0x800」乃至「0x8FF」、「0xA00」乃至「0xAFF」、「0xC00」乃至「0xCFF」、「0xE00」乃至「0xEFF」を設定する。すなわち、設定部11は、アドレス変換テーブル210乃至280における1番目のエントリから256番目のエントリについては、コア21乃至28間に関して、値が重複しない物理ページベースアドレスの値を設定する。これにより、図2(a)〜(c)に例示するように、各コアに関するアドレス変換テーブルには、コア専有領域に関する物理ページベースアドレスの値が設定される。
設定部11は、アドレス変換テーブル230乃至280における257番目のエントリから512番目のエントリには、アドレス変換テーブル210及び220のときと同じ値である、「0xF00」乃至「0xFFF」を設定する。すなわち、設定部11は、アドレス変換テーブル210乃至280における257番目のエントリから512番目のエントリについては、コア21乃至28間に関して、値が重複する物理ページベースアドレスの値を設定する。これにより、図2(a)〜(c)に例示するように、各コアに関するアドレス変換テーブルには、コア間共有領域に関する物理ページベースアドレスの値が設定される。
設定部11が、アドレス変換テーブル210乃至280に対して、物理ページベースアドレスの値を図2に示すように設定した場合、コア21乃至28は、図3が示す、メモリ29における領域にアクセス可能である。例えば、コア21は、物理アドレスが「0x00000000」乃至「0x0FFFFFFF」である、メモリ29における領域に専有的にアクセスする。コア22乃至28も同様に、図3に示す、メモリ29におけるそれぞれの専有領域にアクセスする。コア21乃至28は、また、物理アドレスが「0xF0000000」乃至「0xFFFFFFFF」である、メモリ29における領域については、コア間共有領域としてアクセスする。
(設定ケース2)
設定部11による、アドレス変換テーブル210乃至280に対する物理ページベースアドレスの値に関する設定例(ケース2)を図4に示す。
図4に示す通り、設定部11は、コア21乃至28におけるアドレス変換テーブル210乃至280における1番目のエントリに、物理ページベースアドレスとして、「0x000」乃至「0x007」を設定する。設定部11は、同様に、アドレス変換テーブル210乃至280における2番目のエントリに、物理ページベースアドレスとして、「0x008」乃至「0x00F」を設定する。設定部11は、アドレス変換テーブル210乃至280における3番目以降のエントリについても、同様に物理ページベースアドレスの値を設定する。すなわち、図4に示す例の場合、設定部11は、アドレス変換テーブル210乃至280に対して、1番目のエントリから順番に物理ページベースアドレスの値をラウンドロビン形式で設定する。
そして、設定部11は、アドレス変換テーブル210乃至280における257番目のエントリから512番目のエントリについては、図2に示す例のときと同様に、コア21乃至28間に関して、値が重複する物理ページベースアドレスの値を設定する。
次にケース2における、メモリ29に関する使用状況を説明する。アドレス変換テーブル210乃至280に対して物理ページベースアドレスの値が図4のように設定された場合における、メモリ29に関する使用状況を示すメモリマップ290を図5に示す。この場合、図5に示す通り、コア21乃至28がアクセス可能なメモリ29におけるそれぞれの専有領域は、物理アドレス空間上、非連続な領域であり、メモリ29におけるページ(1MB(メガバイト))単位に区切られた領域を包含している。
(診断プログラムの格納及び実行)
設定部11は、アドレス変換テーブル210乃至280に対して、物理ページベースアドレスの値を設定したのち、記憶装置30から診断プログラム31を読み出す。設定部11は、読み出した診断プログラム31を、メモリ29における、コア21乃至28に関する各々の専有領域に格納する。
指示部12は、設定部11によって、コア21乃至28に関する各々の専有領域に診断プログラム31が格納されたのち、コア21乃至28に対して、診断プログラム31を並列に実行することを指示する。
コア21乃至28は、指示部12から受信した指示に従い、各々の専有領域に格納された診断プログラム31を一斉に実行する。
ここで、コア21乃至28が診断プログラム31を実行中に、メモリ29における論理アドレス「0x00030018」にアクセスする場合を、ケース1を例に考える。この場合、アドレス変換テーブル210乃至280は、図2に示す通り、物理ページベースアドレスが設定されている。コア21は、アドレス変換テーブル210によって、論理アドレス「0x00030018」を物理アドレス「0x00030018」に変換し(この場合は同じ値に変換)、メモリ29における物理アドレス「0x00030018」にアクセスする。コア22は、アドレス変換テーブル220によって、論理アドレス「0x00030018」を物理アドレス「0x20030018」に変換し、メモリ29における物理アドレス「0x20030018」にアクセスする。コア23乃至28も同様に、アドレス変換テーブル230乃至280によって、論理アドレス「0x00030018」を互いに異なる物理アドレスに変換し、メモリ29における当該物理アドレスにアクセスする。これにより、コア21乃至28は、互いに物理アドレスが異なる、メモリ29における専有領域にアクセスする。
コア21乃至28は、診断プログラム31を実行中に、互いに通信を行う場合がある。診断プログラム31は、コア21乃至28が互いに通信を行う際に送受信するデータが、メモリ29における、論理アドレスが「0x10000000」から「0x1FFFFFFF」であるコア間共有領域に格納されるように作成されている。図2に示す通り、アドレス変換テーブル210乃至280は、係るコア間共有領域に関して、特定の論理アドレスを同一の物理アドレスに変換する、これにより、コア21乃至28は、メモリ29における特定の論理アドレスに格納された送受信するデータを共有する。
以上、ケース1を例に説明したが、ケース2においても同様に、コア21乃至28は、メモリ29における専有領域及びコア間共有領域にアクセスする。 次に図6のフローチャートを参照して、本実施形態に係る診断プログラム実行システム1の動作(処理)について詳細に説明する。
設定部11は、アドレス変換テーブル210乃至280に、コア21乃至28間に関して重複しないページベースアドレスの値を、各コアが専有するメモリ領域である専有領域として設定する(ステップS101)。設定部11は、アドレス変換テーブル210乃至280に、コア21乃至28間に関して重複するページベースアドレスの値を、各コアが共有するメモリ領域である共有領域として設定する(ステップS102)。
設定部11は、メモリ29におけるコア21乃至28が各々専有する専有領域に、診断プログラム31を格納する(ステップS103)。指示部12は、コア21乃至28に対し、並列に、診断プログラム31を実行するように指示する(ステップS104)。コア21乃至28は、診断プログラム31を一斉に実行する(ステップS105)。
診断プログラム31に関してコア21乃至28が実行する処理が、コア間通信に関する処理でない場合(ステップS106でNo)、コア21乃至28は、メモリ29における各々の専有領域にアクセスする(ステップS107)。診断プログラム31に関してコア21乃至28が実行する処理が、コア間通信に関する処理である場合(ステップS106でYes)、コア21乃至28は、メモリ29における共有領域にアクセスする(ステップS108)。
コア21乃至28が、診断プログラム31の実行を完了していない場合(ステップS109でNo)、処理はステップS106に戻る。コア21乃至28が、診断プログラム31の実行を完了した場合(ステップS109でYes)、診断プログラム実行装置10は、情報処理エンジン20から、診断プログラム31に関する実行結果を収集したのち、その実行結果を期待値と比較することによって、情報処理エンジン20を診断し(ステップS110)、全体の処理は終了する。
本実施形態に係る診断プログラム実行システム1は、メモリを共有する複数の情報処理手段が、並列に診断プログラムを実行するシステムにおいて、各情報処理手段に対して、アクセス可能なメモリ領域を柔軟に割り当てることができる。その理由は、設定部11が、各情報処理手段が備えるアドレス変換テーブルに対して、情報処理手段同士に関して値が重複しないページベースアドレスの値を設定したのち、指示部12が、各情報処理手段に対して、並列に診断プログラムを実行することを指示するからである。
マルチコアであるアーキテクチャを採用したプロセッサ等を効率的に診断する方法として、複数のコアが診断プログラムを並列に実行する方法がある。しかしながら、複数のコアがアクセスするメモリを共有するシステムにおいては、診断プログラムを並列に実行する複数のコアが、メモリにおける同じアドレスに格納されたデータを互いに上書きすることによって、実行結果が不正になる虞がある。この問題を回避するため、複数のコアに対して、異なるメモリ領域を個々に割り当てて、各コアが割り当てられたメモリ領域において、診断プログラムを実行するようにした方法がある。この方法によれば、メモリ領域を共有することによる不正を回避することができるものの、例えば、あるコアが使用するメモリ領域に不具合が生じた場合等が問題となる。この場合、当該メモリにおいて障害が発生したアドレスを回避した領域を新たに割り当てるなど、メモリ領域をより柔軟に割り当てる技術が期待されている。
これに対して、本実施形態に係る診断プログラム実行システム1は、コア21乃至28が備えているアドレス変換テーブル210乃至280を有効活用することにより、各コアに対するメモリ領域に関する柔軟な割り当てを行う。すなわち、本実施形態に係る診断プログラム実行システム1では、設定部11が、各コアが備えるアドレス変換テーブルに対して、コア同士に関して値が重複しない物理ページベースアドレスの値を設定する。コアは、診断プログラムを実行する際に、診断プログラムが指定する論理アドレスを、アドレス変換テーブルを参照することによって物理アドレスに変換したのち、メモリ内の当該物理アドレスにアクセスする。したがって、複数のコアが診断プログラムを並列に実行した際に、各コアがアクセスするメモリ29における領域はコア毎に異なるので、診断プログラムに関する実行結果は保証される。そして、アドレス変換テーブルは、一般的に多数のエントリを備え、設定部11は、これらの多数のエントリに、物理ページベースアドレスの値を様々に設定することが可能である。これにより、本実施形態に係る診断プログラム実行システム1は、各コアに対して、メモリ領域を柔軟に割り当てることができる。
設定部11は、各コアに関するメモリ29における専有領域を、例えば図2に示すように、コア毎に連続した領域となるように設定することができる。設定部11は、あるいは、係る専有領域を、例えば図4に示すように、コア毎に不連続な領域となるように設定することもできる。診断プログラムがアクセスするデータに関する仕様、あるいは、メモリバンク等のメモリ構成に関する仕様などによって、係る専有領域が、連続した領域である方がよい場合もあれば、所定の間隔を有する不連続な領域である方がよい場合もある。したがって、設定部11は、診断プログラムを実行する実行環境に応じて、各コアに対してメモリ領域を柔軟に割り当てることができる。
また、コア21乃至28が診断プログラムを並列して実行する際に、コア同士が通信を行う場合がある。この場合、通信を行うコア同士は、メモリ29における同じ物理アドレスに格納されたデータにアクセスする必要がある。本実施形態に係る診断プログラム実行システム1は、メモリ29における一部の領域が、コア21乃至28が共有してアクセス可能なコア間共有領域になるように、アドレス変換テーブル210乃至280に、物理ページベースアドレスの値を柔軟に設定可能である。これにより、本実施形態に係る診断プログラム実行システム1は、コア21乃至28が診断プログラムを並列して実行する際に、コア同士が通信を行うことを実現できる。
<第2の実施形態>
図7は、第2の実施形態に係る診断プログラム実行装置40の構成を概念的に示すブロック図である。
本実施形態に係る診断プログラム実行装置40は、設定部41、及び、指示部42を備えている。
設定部41は、アクセスするメモリ60を共有する複数(例えば4つ)の情報処理部51乃至54が個々に備える、メモリ60へのアクセスの際に使用するアドレス変換テーブル510乃至540に対して、情報処理部51乃至54の間で重複しないページベースアドレスの値を設定する。
指示部42は、外部からの指示を受けて、メモリ60における係るページベースアドレスが示すメモリ領域に格納された診断プログラムを読み出して実行する情報処理部51乃至54に対して、並列に当該診断プログラムを実行することを指示する。
本実施形態に係る診断プログラム実行装置40は、メモリを共有する複数の情報処理手段が、並列に診断プログラムを実行するシステムにおいて、各情報処理手段に対して、アクセス可能なメモリ領域を柔軟に割り当てることができる。その理由は、設定部41が、各情報処理手段が備えるアドレス変換テーブルに対して、情報処理手段同士に関して値が重複しないページベースアドレスの値を設定したのち、指示部42が、各情報処理手段に対して、並列に診断プログラムを実行することを指示するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図7に示した各部は、専用のHW(HawdWare)(電子回路)によって実現することができる。また、少なくとも、設定部11及び41、及び、指示部12及び42は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図8を参照して説明する。
図8は、本発明の模範的な実施形態に係る診断プログラム実行装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図8は、図1、及び、図7に示した診断プログラム実行装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図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、
情報処理装置900は、これらの構成がバス906(通信線)を介して接続された一般的なコンピュータである。
そして、上述した実施形態を例に説明した本発明は、図8に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、及び、図7)における、設定部11及び41、及び、指示部12及び42、或いはフローチャート(図6)の機能である。本発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ(RAM903)またはハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記憶媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 診断プログラム実行システム
10 診断プログラム実行装置
11 設定部
12 指示部
20 情報処理エンジン
21乃至28 コア
210乃至280 アドレス変換テーブル
29 メモリ
290 メモリマップ
30 記憶装置
31 診断プログラム
40 診断プログラム実行装置
41 設定部
42 指示部
51乃至54 情報処理部
510乃至540 アドレス変換テーブル
60 メモリ
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク
905 通信インタフェース
906 バス
907 記憶媒体
908 リーダライタ
909 入出力インタフェース

Claims (10)

  1. アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定する設定手段と、
    外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する指示手段と、
    を備える、診断プログラム実行装置。
  2. 前記設定手段は、前記情報処理手段同士が前記診断プログラムを実行中に通信する場合に共通してアクセス可能な第二のメモリ領域を示す、前記複数の情報処理手段の間で重複する第二のページベースアドレスの値を、前記アドレス変換テーブルに対して設定する、
    請求項1に記載の診断プログラム実行装置。
  3. 前記設定手段は、特定の前記情報処理手段が備える前記アドレス変換テーブルに対して、連続する前記第一のページベースアドレスの値を設定する、
    請求項1または2に記載の診断プログラム実行装置。
  4. 前記設定手段は、特定の前記情報処理手段が備える前記アドレス変換テーブルに対して、不連続である前記第一のページベースアドレスの値を設定する、
    請求項1または2に記載の診断プログラム実行装置。
  5. 前記設定手段は、前記複数の情報処理手段に関してラウンドロビンとなるように、前記アドレス変換テーブルに対して、前記第一のページベースアドレスの値を設定する、
    請求項4に記載の診断プログラム実行装置。
  6. 請求項1乃至5のいずれかに記載の診断プログラム実行装置と、
    前記複数の情報処理手段と、
    前記メモリと、
    を備える診断プログラム実行システム。
  7. 情報処理装置によって、
    アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定し、
    外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する、
    診断プログラム実行方法。
  8. 前記情報処理手段同士が前記診断プログラムを実行中に通信する場合に共通してアクセス可能な第二のメモリ領域を示す、前記複数の情報処理手段の間で重複する第二のページベースアドレスの値を、前記アドレス変換テーブルに対して設定する、
    請求項7に記載の診断プログラム実行方法。
  9. アクセスするメモリを共有する複数の情報処理手段が個々に備える、前記メモリへのアクセスの際に使用するアドレス変換テーブルに対して、前記複数の情報処理手段の間で重複しない第一のページベースアドレスの値を設定する設定処理と、
    外部からの指示を受けて、前記メモリにおける前記第一のページベースアドレスが示す第一のメモリ領域に格納された診断プログラムを読み出して実行する前記複数の情報処理手段に対して、並列に前記診断プログラムを実行することを指示する指示処理と、
    をコンピュータに実行させる、診断プログラム実行プログラム。
  10. 前記情報処理手段同士が前記診断プログラムを実行中に通信する場合に共通してアクセス可能な第二のメモリ領域を示す、前記複数の情報処理手段の間で重複する第二のページベースアドレスの値を、前記アドレス変換テーブルに対して設定する前記設定処理
    をコンピュータに実行させる、請求項9に記載の診断プログラム実行プログラム。
JP2014182942A 2014-09-09 2014-09-09 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム Pending JP2016057797A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014182942A JP2016057797A (ja) 2014-09-09 2014-09-09 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014182942A JP2016057797A (ja) 2014-09-09 2014-09-09 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム

Publications (1)

Publication Number Publication Date
JP2016057797A true JP2016057797A (ja) 2016-04-21

Family

ID=55758443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014182942A Pending JP2016057797A (ja) 2014-09-09 2014-09-09 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム

Country Status (1)

Country Link
JP (1) JP2016057797A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957923A (zh) * 2016-10-14 2018-04-24 华为技术有限公司 一种内存诊断方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546462A (ja) * 1991-08-21 1993-02-26 Pfu Ltd マルチcpuのアドレス変換機構
JPH06195270A (ja) * 1992-12-22 1994-07-15 Hitachi Ltd 記憶パッケージ動作検証方式
JP2002140229A (ja) * 2000-08-17 2002-05-17 Internatl Business Mach Corp <Ibm> アプリケーションレベルのメモリ類似性制御
JP2008269352A (ja) * 2007-04-20 2008-11-06 Toshiba Corp アドレス変換装置及びプロセッサシステム
JP2014109938A (ja) * 2012-12-03 2014-06-12 Nec Computertechno Ltd プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546462A (ja) * 1991-08-21 1993-02-26 Pfu Ltd マルチcpuのアドレス変換機構
JPH06195270A (ja) * 1992-12-22 1994-07-15 Hitachi Ltd 記憶パッケージ動作検証方式
JP2002140229A (ja) * 2000-08-17 2002-05-17 Internatl Business Mach Corp <Ibm> アプリケーションレベルのメモリ類似性制御
JP2008269352A (ja) * 2007-04-20 2008-11-06 Toshiba Corp アドレス変換装置及びプロセッサシステム
JP2014109938A (ja) * 2012-12-03 2014-06-12 Nec Computertechno Ltd プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957923A (zh) * 2016-10-14 2018-04-24 华为技术有限公司 一种内存诊断方法和装置
CN107957923B (zh) * 2016-10-14 2020-06-02 华为技术有限公司 一种内存诊断方法和装置

Similar Documents

Publication Publication Date Title
JP6329318B2 (ja) 情報処理装置
US8041920B2 (en) Partitioning memory mapped device configuration space
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
JP5085180B2 (ja) 情報処理装置およびアクセス制御方法
US8392659B2 (en) Extending cache capacity on multiple-core processor systems
CN105830026A (zh) 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法
JP5947302B2 (ja) 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て
CN112074820B (zh) 用于多内核系统的存储器池分配
CN112955880B (zh) 用于处理片上系统中的地址解码的装置和方法
US8566479B2 (en) Method and system to allow logical partitions to access resources
JP5466768B2 (ja) メモリ・アクセスを制御する装置およびコンピュータ
JP2009296195A (ja) 複数のcpuコアを備えたfpgaを用いた暗号装置
CN115757260B (zh) 数据交互方法、图形处理器及图形处理系统
JP2016057797A (ja) 診断プログラム実行装置、診断プログラム実行システム、診断プログラム実行方法、及び、診断プログラム実行プログラム
JP7421480B2 (ja) 寿命平均化のためのブート時の物理コア割り当てに関する論理的な疑似ランダム
US10445240B2 (en) Bus-based cache architecture
CN108241508B (zh) 处理OpenCL内核的方法及用于该方法的计算设备
US10909044B2 (en) Access control device, access control method, and recording medium containing access control program
US10481951B2 (en) Multi-queue device assignment for application groups
JP2011204077A (ja) 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム
JP2014109938A (ja) プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム
CN110096355B (zh) 一种共享资源分配方法、装置和设备
JP6948039B2 (ja) コンピュータシステム
JP2018113075A (ja) 情報処理装置
CN117171065B (zh) 地址管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170711