JP2013120558A - 情報処理装置、試験方法、及びプログラム - Google Patents

情報処理装置、試験方法、及びプログラム Download PDF

Info

Publication number
JP2013120558A
JP2013120558A JP2011269306A JP2011269306A JP2013120558A JP 2013120558 A JP2013120558 A JP 2013120558A JP 2011269306 A JP2011269306 A JP 2011269306A JP 2011269306 A JP2011269306 A JP 2011269306A JP 2013120558 A JP2013120558 A JP 2013120558A
Authority
JP
Japan
Prior art keywords
information processing
seed
seed value
test
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011269306A
Other languages
English (en)
Inventor
Yoshikazu Inagaki
慶和 稲垣
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011269306A priority Critical patent/JP2013120558A/ja
Priority to US13/662,658 priority patent/US20130151896A1/en
Publication of JP2013120558A publication Critical patent/JP2013120558A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】複数の情報処理装置が試験命令列を生成して実行する試験において、試験網羅性を向上させる。
【解決手段】複数の情報処理装置のための管理装置が保持するシード値に基づいて、ある情報処理装置に含まれる1つ以上の処理部が行う試験の総回数と同じ数のシード値が、他の情報処理装置と重複しないように生成される。そして、1つ以上の処理部のうちの1つの処理部が、試験の総回数と同じ数のシード値のうち、その処理部が行う試験の回数と同じ数のシード値に基づいてその数の試験命令列を生成し、生成した試験命令列を実行する。
【選択図】図2

Description

本発明は、試験命令列を生成して実行する情報処理装置、試験方法、及びプログラムに関する。
それぞれが1つ以上のCentral Processing Unit (CPU)を含む複数の情報処理装置(コンピュータ)を有する情報処理システムの試験方法として、各情報処理装置に試験命令列を実行させる方法が知られている。
この試験方法では、乱数生成の初期値となるシード値を入力としてランダムデータを生成し、そのランダムデータに基づいて試験命令列を生成し、各情報処理装置の各CPUにその試験命令列を実行させる。シード値としては、例えば、Kバイト(Kは1以上の整数)の値が用いられる。そして、試験命令列の実行が終了した後、ランダムデータに基づいて新たに生成されたランダムな値、又はシード値に1を加算した値を新たなシード値として用いて、再度、試験命令列を生成して試験を繰り返す。これにより、複数回の試験の実行結果に基づいて障害の有無をチェックすることができる。
このとき、同じシード値を用いれば常に同じ試験命令列を生成することができるため、障害が発生した際に使用されていたシード値を用いて再度試験を行うことで、障害を容易に再現することができる。それぞれが1つ以上のCPUを含む複数のノードを有するマルチノードシステムにおいて、試験命令列の実行中にノード間の同期を取ることで、問題発生タイミングの再現性を確保する技術も知られている。
また、マルチプロセッサシステムにおいて、プロセッサ管理部がプロセッサ毎の初期値を設定し、それらの初期値から発生する乱数が一連の乱数列となるように、各プロセッサが乱数を発生させる方法も知られている。
特開平11−53209号公報 特開平8−339294号公報
上述した従来の情報処理システムの試験方法には、以下のような問題がある。
(1)CPU設計検証段階における試験では、論理検証の観点から、限られた検証期間の中でより多くのパターンの命令列をCPUに実行させ、正常性を確認することが重要となる。ところが、マルチノードシステムやマルチプロセッサシステムにおいて試験命令列による試験を実施した場合、各CPUがそれぞれ同じ試験命令列を実行するため、試験時間に無駄が生じてしまう。
(2)パーソナルコンピュータ、マルチノードシステム、及びマルチプロセッサシステムのような複数の情報処理装置の検証段階において、それぞれの検証者がそれぞれの情報処理装置に同様の試験プログラムを実行させる場合がある。この場合、特にシード値を指定せずに各情報処理装置が試験命令列を実行すると、各CPUが実行する試験命令列は同様なものとなり、試験網羅性が半減してしまう。
そこで、各情報処理装置において異なるシード値を使用することが望ましいが、情報処理装置の台数及び検証者の数が多くなると、あらかじめシード値を割り当てる作業が煩雑になる。
(3)シード値から生成されたランダムデータを次のシード値生成に使用する場合、試験を行う度に、所定の乱数生成アルゴリズムで次のシード値が生成される。このため、試験を繰り返すうちにすでに使用されたシード値が再度生成され、同じシード値を繰り返して使用する状態になる可能性がある。この場合、すでに使用されたシード値が生成された時点以後は命令列のパターンが増加しなくなり、長時間試験を実施しても試験網羅性が向上しなくなる。
(4)複数の情報処理装置の検証段階において、プロセッサ管理部がプロセッサ毎の初期値を設定し、各プロセッサが乱数を発生させる方法を採用し、生成された乱数から試験命令列を生成することが考えられる。この場合、マルチプロセッサシステム内のプロセッサ間で一連の乱数列を生成することはできるが、他の情報処理装置で生成される乱数と同じ乱数が生成される可能性がある。また、マルチプロセッサシステム内でも、システムリセット後や、一旦プログラムの実行を終了して再度システムを立ち上げた場合等、再度同じアルゴリズムで乱数が生成されるため、以前使用したのと同じ乱数が生成される可能性が高い。このように、試験命令列の元になる乱数の重複は避けることができず、試験網羅性を向上させることが難しい。
1つの側面では、本発明の課題は、複数の情報処理装置が試験命令列を生成して実行する試験において、試験網羅性を向上させることである。
1つ以上の処理部を含む情報処理装置によって実行されるプログラムは、下記(1)及び(2)の処理を上記1つ以上の処理部のうちの1つの処理部に実行させる。
(1)上記1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、その処理部が行う試験の回数と同じ数のシード値に基づいて、その試験の回数と同じ数の試験命令列を生成する処理。
上記試験の総回数と同じ数のシード値は、上記情報処理装置を含む複数の情報処理装置のための管理装置が保持するシード値に基づき、他の情報処理装置と重複しないように生成されたシード値である。
(2)試験命令列を実行する処理。
上述した情報処理装置によって実行されるプログラムによれば、複数の情報処理装置が試験命令列を生成して実行する試験において、試験網羅性を向上させることができる。
情報処理システムの構成図である。 第1の試験のフローチャートである。 管理装置の機能的構成図である。 情報処理装置の機能的構成図である。 第2の試験のフローチャートである。 シード値生成処理を示す図(その1)である。 シード値生成処理を示す図(その2)である。 シード値生成処理を示す図(その3)である。 シード値生成処理を示す図(その4)である。 シード値生成処理を示す図(その5)である。 シード値生成処理を示す図(その6)である。 シード値生成処理を示す図(その7)である。 第2の試験のフローチャートである。 第1のシード値生成処理のフローチャートである。 第2のシード値生成処理のフローチャートである。 第1の配列を示す図である。 第2の配列を示す図である。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、複数の情報処理装置を含む情報処理システムの構成例を示している。図1の情報処理システムは、管理装置101、マルチプロセッサシステム102、103、パーソナルコンピュータ(PC)104、及びマルチノードシステム105を含む。管理装置101、マルチプロセッサシステム102、103、PC104、及びマルチノードシステム105は、通信ネットワーク106により互いに接続されている。
マルチプロセッサシステム102は、CPU111及び112を含む情報処理装置であり、マルチプロセッサシステム103は、CPU121及び122を含む情報処理装置である。PC104は、CPU131を含む情報処理装置であり、マルチノードシステム105は、ノード141、142、及び143を含む情報処理装置である。ノード141は、CPU151及び152を含み、ノード142は、CPU161及び162を含み、ノード143は、CPU171及び172を含む。管理装置101は、これらの情報処理装置のためのシード値を保持する情報処理装置である。
図2は、図1の各情報処理装置が行う試験の例を示すフローチャートである。まず、情報処理装置に含まれる1つ以上のCPUのうちあるCPUが、1つ以上のCPUが行う試験の総回数と同じ数のシード値のうち、そのCPUが行う試験の回数と同じ数のシード値に基づいて、その試験の回数と同じ数の試験命令列を生成する(ステップ201)。試験の総回数と同じ数のシード値は、管理装置101が保持するシード値に基づき、他の情報処理装置と重複しないように生成されたシード値である。次に、そのCPUは、生成した試験命令列を実行する(ステップ202)。
各情報処理装置がアクセス可能な通信ネットワーク106上に、複数の情報処理装置のためのシード値を保持する管理装置101を設けることで、各情報処理装置は、試験命令列を生成する際に、他の情報処理装置と重複しないシード値を用いることができる。さらに、各情報処理装置に含まれる全CPUが行う試験の総回数と同じ数のシード値を、他の情報処理装置と重複しないように生成することで、全情報処理装置の全CPUの間で同じ試験命令列が生成されることが抑止される。したがって、情報処理システム全体における試験網羅性を向上させることができる。
図1の情報処理システムには、管理装置101以外に4台の情報処理装置が含まれているが、情報処理装置の数は3台以下でもよく5台以上でもよい。また、情報処理装置の種類はマルチプロセッサシステム、PC、及びマルチノードシステムに限られるものではなく、1つ以上のCPUを含む他の種類の情報処理装置を用いてもよい。各情報処理装置又は各ノードに含まれるCPUの数は1つ又は2つに限られるものではなく、3つ以上であってもよい。
図3は、図1の管理装置101が保持する情報の例を示している。図3の管理装置101は、ロック情報301及びシード値302を保持する。シード値302は、いずれかの情報処理装置に割り当て済みのシード値であり、ロック情報301は、シード値302に対するアクセスの可否を示す排他制御用の情報である。ロック情報301は、アクセス許可を表すアンロック状態又はアクセス禁止を表すロック状態のいずれかの状態を示す。
図4は、図1の各情報処理装置の機能的構成例を示している。図4の情報処理装置401は制御部411を含み、制御部411は、シード値数管理部421、シード値生成部422、及び実行制御部423を含む。なお、制御部411を処理部ともいう。
シード値数管理部421は、情報処理装置401に含まれる全CPUが行う試験の総回数を計算し、シード値生成部422は、管理装置101からシード値302を取得して試験の総回数と同じ数のシード値を生成する。実行制御部423は、生成されたシード値を各CPUへ配布する。
制御部411の処理は、例えば、情報処理装置401内のいずれかのCPUにより行われる。したがって、情報処理装置401に複数の制御部411を設けることも可能である。例えば、図1のマルチプロセッサシステム102では、CPU111又はCPU112のいずれか一方に制御部411を設け、マルチプロセッサシステム103では、CPU121及びCPU122のそれぞれに制御部411を設けてもよい。
図5は、図4の情報処理装置401が行う試験の例を示すフローチャートである。まず、シード値数管理部421は、オペレータから指定された試験条件を読み込み(ステップ501)、その試験条件に基づいて、情報処理装置401に含まれる全CPUが行う試験の総回数Nを計算する(ステップ502)。
試験条件としては、例えば、情報処理装置401内のCPU毎の試験回数、情報処理装置401の総試験時間等が指定される。CPU毎の試験回数が指定された場合、それらの試験回数を加算することで総回数Nが求められる。また、総試験時間が指定された場合、その試験時間を1回当たりの試験時間で割り算して試験回数を求め、得られた試験回数に試験命令列を実行するCPUの数を乗算することで、総回数Nが求められる。1回当たりの試験時間と試験命令列を実行するCPUの数は、あらかじめパラメータとして指定されている。
次に、シード値生成部422は、通信ネットワーク106を介して管理装置101にリモートアクセスし(ステップ503)、ロック情報301をチェックする(ステップ504)。ロック情報301がロック状態を示している場合(ステップ504,NO)、アンロック状態になるまで待機する。一方、ロック情報301がアンロック状態を示している場合(ステップ504,YES)、ロック情報301をロック状態に設定して、排他的アクセス権を獲得する(ステップ505)。
次に、シード値生成部422は、管理装置101からシード値302を読み出し(ステップ506)、シード値302に基づいてN個のシード値を生成する(ステップ507)。ステップ506では、シード値生成部422は、管理装置101へシード値要求を送信し、管理装置101からシード値302を受信する。ステップ507では、例えば、シード値302がMである場合、Mを1ずつインクリメントすることで、MからM+N−1までのN個のシード値が生成される。
次に、シード値生成部422は、MにNを加算した値M+Nを、管理装置101のシード値302に上書きすることで、シード値302を更新する(ステップ508)。そして、ロック情報301をアンロック状態に設定して排他的アクセス権を開放し(ステップ509)、管理装置101へのアクセスを解除する(ステップ510)。
次に、実行制御部423は、生成されたN個のシード値のうち、各CPUが行う試験の回数と同じ数のシード値をそのCPUへ配布し、試験開始を指示する(ステップ511)。このとき、CPU間でシード値が重複しないように、それぞれのCPUへ異なるシード値が配布される。
次に、各CPUは、配布された1つ以上のシード値を用いて、シード値の数と同じ数の試験命令列を生成し(ステップ512)、それらの試験命令列を実行する(ステップ513)。配布されたシード値の数がS個であれば、S個の異なる試験命令列が生成される。ステップ512及び513の処理は、CPU間で並列に行われる。
ステップ512では、乱数生成アルゴリズムに基づいて各シード値からランダムデータを生成し、ランダムデータを用いて試験命令列を生成する。例えば、命令毎に用意されたANDデータ及びORデータを用いて、ランダムデータとANDデータの論理積を求め、その論理積とORデータの論理和を求めることで、1つの命令を生成することができる。乱数生成アルゴリズムとしては、メルセンヌ・ツイスタ、平方採中法、線形合同法等を用いることができる。
次に、図6から図12までを参照しながら、シード値生成処理の具体例を説明する。この具体例では、各CPUが行う試験の回数は1回であり、試験の総回数Nは、各情報処理装置に含まれるCPUの数に一致するものと仮定する。
図6は、図1の情報処理システムにおいて、通信ネットワーク106に別の情報処理装置が接続された構成を示している。図6のマルチプロセッサシステム601は、CPU#0〜CPU#3の4つのCPUを含む。管理装置101のロック情報301は、その値が“1”のときロック状態を示し、“0”のときアンロック状態を示す。
マルチプロセッサシステム601は、まず、管理装置101にアクセスしてロック情報301をチェックする。ここでは、ロック情報301の値が“0”であるため、図7に示すように、ロック情報301に“1”を書き込んでロック状態に設定する。
次に、通信ネットワーク106に接続されたマルチノードシステム701は、管理装置101にアクセスしてロック情報301をチェックする。このとき、ロック情報301の値が“1”であるため、アンロック状態になるまで待機する。マルチノードシステム701は、ノード711、712、及び713を含み、各ノードは、CPU#0及びCPU#1を含む。
次に、マルチプロセッサシステム601は、図8に示すように、管理装置101からシード値302を読み出し、シード値302に基づいて4個のシード値を生成する。ここでは、シード値302が“0x00000010”(16進数)であるので、“0x00000010”〜“0x00000013”の4個のシード値が生成される。
次に、マルチプロセッサシステム601は、図9に示すように、“0x00000010”に4を加算した値“0x00000014”を、管理装置101のシード値302に上書きすることで、シード値302を更新する。そして、図10に示すように、ロック情報301に“0”を書き込んでアンロック状態に設定する。
その後、待機していたマルチノードシステム701は、図11に示すように、ロック情報301に“1”を書き込んでロック状態に設定し、管理装置101からシード値302を読み出して6個のシード値を生成する。ここでは、シード値302が“0x00000014”であるので、“0x00000014”〜“0x00000019”の6個のシード値が生成される。
一方、マルチプロセッサシステム601は、生成された4個のシード値を各CPUへ配布し、各CPUは、配布されたシード値を用いて試験命令列を生成し、その試験命令列を実行する。
次に、マルチノードシステム701は、図12に示すように、“0x00000014”に6を加算した値“0x0000001A”を、管理装置101のシード値302に上書きすることで、シード値302を更新する。そして、ロック情報301に“0”を書き込み、生成された6個のシード値を各CPUへ配布する。各CPUは、配布されたシード値を用いて試験命令列を生成し、その試験命令列を実行する。
図5の試験では、情報処理装置401が管理装置101から取得したシード値302に基づいてN個のシード値を生成しているが、管理装置101がシード値を生成して情報処理装置401へ送信してもよい。
図13は、このような試験の例を示すフローチャートである。図13のステップ1301〜1305及び1308〜1312の処理は、図5のステップ501〜505及び509〜513の処理と同様である。
情報処理装置401のシード値生成部422は、ステップ505でロック情報301をロック状態に設定した後、試験の総回数Nを管理装置101へ通知する(ステップ1306)。
管理装置101は、シード値302に基づいてN個のシード値を生成し、情報処理装置401へ送信する。例えば、シード値302がMである場合、Mを1ずつインクリメントすることで、MからM+N−1までのN個のシード値が生成される。そして、管理装置101は、MにNを加算した値M+Nをシード値302に上書きすることで、シード値302を更新する。
情報処理装置401のシード値生成部422は、管理装置101からN個のシード値を受信し(ステップ1307)、ステップ1308以降の処理を行う。
このような情報処理システムによれば、管理装置101がシード値を生成して情報処理装置401へ配布するため、各情報処理装置401にシード値生成アルゴリズムを実装する必要がなくなる。
ところで、管理装置101におけるシード値生成方法としては、Mを1ずつインクリメントする方法以外にも様々な方法が考えられる。例えば、2以上の整数Yを用いてMをYずつインクリメントすることで、N個のシード値を生成してもよい。
図14は、このようなシード値生成処理の例を示すフローチャートである。シード値Mの取り得る値の範囲は最小値MINから最大値MAXまでであり、Mの初期値はMINである。管理装置101は、M以外に基本シード値Bを保持している。Bの取り得る値の範囲はMINからMIN+Y−1までであり、Bの初期値はMINである。
まず、管理装置101は、生成済みシード値の数を示す変数Cを0に設定し(ステップ1401)、Mをシード値として生成する(ステップ1402)。次に、Cを1だけインクリメントし(ステップ1403)、MをYだけインクリメントして(ステップ1404)、MをMAXと比較する(ステップ1405)。
MがMAX以下であれば(ステップ1405,NO)、CをNと比較する(ステップ1410)。そして、CがNに達していなければ(ステップ1410,NO)、ステップ1402以降の処理を繰り返す。
一方、MがMAXを超えた場合は(ステップ1405,YES)、B+1とMIN+Yとを比較する(ステップ1406)。B+1がMIN+Yに達していなければ(ステップ1406,YES)、Bを1だけインクリメントする(ステップ1407)。そして、M=Bと設定して(ステップ1409)、ステップ1410以降の処理を行う。一方、B+1がMIN+Yに達した場合は(ステップ1406,NO)、B=MINと設定して(ステップ1408)、ステップ1409以降の処理を行う。
このように、MがMAXを超えるまでは、MINから順にYずつインクリメントすることでシード値が生成され、MがMAXを超えると、MIN+1から順にYずつインクリメントすることでシード値が生成される。そして、MがMAXを超える度にMの初期値Bがインクリメントされ、B+1がMIN+Yに達すると、Bが初期値MINに再設定される。したがって、MがMAXを超えなければ、M、M+Y、M+2Y、M+3Y、・・・、M+(N−1)YのN個のシード値が生成され、シード値302はM+NYとなる。
管理装置101は、現在時刻に基づいてN個のシード値を生成することも可能である。この場合、シード値302として現在時刻Tが用いられる。
図15は、このようなシード値生成処理の例を示すフローチャートである。まず、管理装置101は、装置の内部又は外部から現在時刻Tの情報を取得し(ステップ1501)、現在時刻がT+Nになるまで待機する(ステップ1502)。そして、現在時刻がT+Nになると、Tを1ずつインクリメントすることで、TからT+N−1までのN個のシード値を生成する(ステップ1503)。
現在時刻がT+Nになるまで待ってからシード値を情報処理装置401へ送信することで、他の情報処理装置へ送信するシード値との重複が防止される。
現在時刻Tは、管理装置101のシステム時刻、システムクロック等から取得した値であり、その最小単位としては、分、秒、ミリ秒、マイクロ秒、Central Processing Unit (CPU)の1クロック等を用いることができる。ステップ1502の待機時間は、最小単位に基づいて設定される。現在時刻Tとしては、例えば、以下のような値を用いることが可能である。
(a)協定世界時(UTC)1970年1月1日0時0分0秒からの経過時間を最小単位で表した値
(b)CPUクロック毎に加算される所定ビット数のタイムスタンプカウンタの値
(c)CPUのTICKレジスタの値
また、管理装置101は、シード値の配列をシャッフルすることでN個のシード値を生成することも可能である。この場合、管理装置101は、所定範囲(最小値MIN〜最大値MAX)の値が格納された配列をシャッフルし、シャッフル後の配列の先頭から順番にN個の値をシード値として用いる。
例えば、MIN=0、MAX=15の場合、図16に示すように、データ位置を示すindex0〜15に対応してシード値の候補となるdata0〜15が格納された配列が生成される。そして、以下の手順でN個のシード値が生成される。
(1)乱数生成アルゴリズムに基づいて、MIN〜MAXまでの範囲に含まれる2つの乱数を生成する。
(2)生成された2つの乱数をindexとする2つのdataを入れ替える。
(3)(1)及び(2)の処理を所定回数繰り返す。
(4)配列の先頭から順番にN個のdataをシード値として選択する。
例えば、N=4の場合、図17に示すようなシャッフル後の配列の先頭から順番に4個のdata“6”、“13”、“7”、及び“5”がシード値として選択される。
以上説明した実施形態によれば、管理装置を設けて複数の情報処理装置のためのシード値を管理することで、全情報処理装置の全CPUの間で同じ試験命令列が生成されることが抑止され、情報処理システム全体における試験網羅性が向上する。
このため、限られた試験期間の中で可能な限り多数の試験命令列を実行して、障害の有無をチェックすることが可能になり、ランダム性を高めるために、オペレータが情報処理装置毎に使用するシード値を設定する必要がなくなる。さらに、長時間又は複数回の試験実施に起因するシード値の重複が抑止され、試験網羅性の頭打ち状態が回避される。
図5のフローチャートにおいて、必ずしもすべてのステップを実行する必要はなく、情報処理システムの構成や条件に応じて一部のステップを省略又は変更することも可能である。例えば、試験の総回数Nがあらかじめ決められている場合は、ステップ501及び502の処理を省略してもよい。また、ステップ507のシード値生成処理をステップ508、509、又は510の後へ移動してもよい。図13〜図15のフローチャートにおいても、同様に、情報処理システムの構成や条件に応じて一部のステップを省略又は変更することが可能である。
図4の情報処理装置401は、例えば、図18に示すような構成を用いて実現可能である。図18の情報処理装置は、P個(Pは1以上の整数)のCPU1801−1〜1801−P、メモリ1802、入力装置1803、出力装置1804、外部記憶装置1805、媒体駆動装置1806、及びネットワーク接続装置1807を含む。これらはバス1808により互いに接続されている。
メモリ1802は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、CPU1801は、メモリ1802を利用してプログラムを実行することにより、制御部411の処理を行う。
入力装置1803は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置1804は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
外部記憶装置1805は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置1805には、ハードディスクドライブも含まれる。情報処理装置は、外部記憶装置1805にプログラム及びデータを格納しておき、それらをメモリ1802にロードして使用することができる。
媒体駆動装置1806は、可搬型記録媒体1809を駆動し、その記録内容にアクセスする。可搬型記録媒体1809は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体1809には、Compact Disk Read Only Memory (CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体1809にプログラム及びデータを格納しておき、それらをメモリ1802にロードして使用することができる。
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ1802、外部記憶装置1805、及び可搬型記録媒体1809のような、物理的な(非一時的な)記録媒体が含まれる。
ネットワーク接続装置1807は、通信ネットワーク106に接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1807を介して受け取り、それらをメモリ1802にロードして使用することもできる。
なお、各情報処理装置が図18のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略又は変更することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要な場合は、入力装置1803及び出力装置1804を省略してもよい。
図3の管理装置101も、図18と同様の構成を用いて実現可能である。この場合、CPU1801の数は1個でもよい。図3のロック情報301及びシード値302は、例えば、メモリ1802に保持され、CPU1801は、メモリ1802を利用してプログラムを実行することにより、管理装置101の処理を行う。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
(付記1)1つ以上の処理部を含む情報処理装置によって実行されるプログラムであって、
前記1つ以上の処理部のうちの1つの処理部に、前記情報処理装置を含む複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、前記1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成させ、
前記1つの処理部に前記生成させた試験命令列を実行させることを特徴とするプログラム。
(付記2)前記管理装置が保持するシード値を該管理装置から受信し、受信したシード値に基づいて前記試験の総回数と同じ数のシード値を生成し、受信したシード値とは異なるシード値により前記管理装置が保持するシード値を更新する処理を、前記処理部にさらに実行させる付記1記載のプログラム。
(付記3)前記複数の情報処理装置の間の排他制御用に前記管理装置が保持するロック情報をチェックし、該ロック情報がアンロック状態を示している場合、該ロック情報をロック状態に変更し、前記管理装置が保持するシード値を該管理装置から受信し、受信したシード値に基づいて前記試験の総回数と同じ数のシード値を生成し、受信したシード値とは異なるシード値により前記管理装置が保持するシード値を更新し、該ロック情報をアンロック状態に戻す処理を、前記処理部にさらに実行させる付記1記載のプログラム。
(付記4)前記試験の総回数を前記管理装置に通知し、前記試験の総回数と同じ数のシード値を前記管理装置から受信する処理を、前記処理部にさらに実行させる付記1記載のプログラム。
(付記5)前記複数の情報処理装置の間の排他制御用に前記管理装置が保持するロック情報をチェックし、該ロック情報がアンロック状態を示している場合、該ロック情報をロック状態に変更し、前記試験の総回数を前記管理装置に通知し、前記試験の総回数と同じ数のシード値を前記管理装置から受信し、該ロック情報をアンロック状態に戻す処理を、前記処理部にさらに実行させる付記1記載のプログラム。
(付記6)1つ以上の処理部を含む情報処理装置であって、
前記1つ以上の処理部のうちの1つの処理部が、前記情報処理装置を含む複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、該1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成し、該試験命令列を実行する
ことを特徴とする情報処理装置。
(付記7)複数の情報処理装置のうちのある情報処理装置に含まれる1つ以上の処理部のうちの1つの処理部が、該複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、該1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成し、
前記1つの処理部が前記試験命令列を実行する
ことを特徴とする試験方法。
101 管理装置
102、103、601 マルチプロセッサシステム
104 PC
105、701 マルチノードシステム
106 通信ネットワーク
111、112、121、122、131、151、152、161、162、171、172 CPU
141、142、143、171、172、173 ノード
301 ロック情報
302 シード値
401 情報処理装置
411 制御部
421 シード値数管理部
422 シード値生成部
423 実行制御部
202 設定部
203 生成部
204 動作パラメータ格納部
901、1201、1901、2101 出発地
902、1202、1902、2102 目的地
911〜914、931、1001〜1004、1021、1211〜1215、1231、1301〜1304、1321 道路
921、922、1011、1012、1221、1311 部分経路
1101、1401、1911、2111 経路
1241、1331 インターチェンジ
1701 矢印
2001、2201、2311、2401、2511、2512、2601、2602、2701、2801 領域
2301 直線
2501 メッシュ
1801−1〜1801−P CPU
1802 メモリ
1803 入力装置
1804 出力装置
1805 外部記憶装置
1806 媒体駆動装置
1807 ネットワーク接続装置
1808 バス
1809 可搬型記録媒体

Claims (5)

  1. 1つ以上の処理部を含む情報処理装置によって実行されるプログラムであって、
    前記1つ以上の処理部のうちの1つの処理部に、前記情報処理装置を含む複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、前記1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成させ、
    前記1つの処理部に前記生成させた試験命令列を実行させることを特徴とするプログラム。
  2. 前記管理装置が保持するシード値を該管理装置から受信し、受信したシード値に基づいて前記試験の総回数と同じ数のシード値を生成し、受信したシード値とは異なるシード値により前記管理装置が保持するシード値を更新する処理を、前記処理部にさらに実行させる請求項1記載のプログラム。
  3. 前記試験の総回数を前記管理装置に通知し、前記試験の総回数と同じ数のシード値を前記管理装置から受信する処理を、前記処理部にさらに実行させる請求項1記載のプログラム。
  4. 1つ以上の処理部を含む情報処理装置であって、
    前記1つ以上の処理部のうちの1つの処理部が、前記情報処理装置を含む複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、該1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成し、該試験命令列を実行する
    ことを特徴とする情報処理装置。
  5. 複数の情報処理装置のうちのある情報処理装置に含まれる1つ以上の処理部のうちの1つの処理部が、該複数の情報処理装置のための管理装置が保持するシード値に基づき他の情報処理装置と重複しないように生成された、該1つ以上の処理部が行う試験の総回数と同じ数のシード値のうち、該1つの処理部が行う試験の回数と同じ数のシード値に基づいて、該1つの処理部が行う試験の回数と同じ数の試験命令列を生成し、
    前記1つの処理部が前記試験命令列を実行する
    ことを特徴とする試験方法。
JP2011269306A 2011-12-08 2011-12-08 情報処理装置、試験方法、及びプログラム Withdrawn JP2013120558A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011269306A JP2013120558A (ja) 2011-12-08 2011-12-08 情報処理装置、試験方法、及びプログラム
US13/662,658 US20130151896A1 (en) 2011-12-08 2012-10-29 Information processing apparatus and test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011269306A JP2013120558A (ja) 2011-12-08 2011-12-08 情報処理装置、試験方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013120558A true JP2013120558A (ja) 2013-06-17

Family

ID=48573182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011269306A Withdrawn JP2013120558A (ja) 2011-12-08 2011-12-08 情報処理装置、試験方法、及びプログラム

Country Status (2)

Country Link
US (1) US20130151896A1 (ja)
JP (1) JP2013120558A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983362B2 (ja) * 2012-11-29 2016-08-31 富士通株式会社 試験方法、試験プログラム、および、試験制御装置
US9740589B2 (en) * 2015-07-07 2017-08-22 International Business Machines Corporation Lifting of bounded liveness counterexamples to concrete liveness counterexamples

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548718A (en) * 1994-01-07 1996-08-20 Microsoft Corporation Method and system for determining software reliability
US5793657A (en) * 1995-04-11 1998-08-11 Nec Corporation Random number generating apparatus and random number generating method in a multiprocessor system
US6067639A (en) * 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
US5867397A (en) * 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
US7181641B2 (en) * 2003-09-24 2007-02-20 Hitachi Global Storage Technologies Netherlands, B.V. Data storage verification techniques for disk drivers
US7346823B1 (en) * 2004-06-24 2008-03-18 Cypress Semiconductor Corporation Automatic built-in self-test of logic with seeding from on-chip memory
US7389453B2 (en) * 2005-10-20 2008-06-17 Jon Udell Queuing methods for distributing programs for producing test data
US7730373B2 (en) * 2006-09-12 2010-06-01 Nec Laboratories America, Inc. Test data compression method for system-on-chip using linear-feedback shift register reseeding
US7584394B2 (en) * 2007-07-18 2009-09-01 International Business Machines Corporation System and method for pseudo-random test pattern memory allocation for processor design verification and validation
US7647539B2 (en) * 2007-07-18 2010-01-12 International Business Machines Corporation System and method of testing using test pattern re-execution in varying timing scenarios for processor design verification and validation
US7739570B2 (en) * 2007-07-18 2010-06-15 International Business Machines Corporation System and method for increasing error checking performance by calculating CRC calculations after multiple test patterns for processor design verification and validation
US20100269002A1 (en) * 2009-04-21 2010-10-21 Texas Instruments Incorporated Pseudo-Random Balanced Scan Burnin

Also Published As

Publication number Publication date
US20130151896A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
US7240268B2 (en) Test component and method of operation thereof
US9735953B2 (en) Side channel analysis resistant architecture
WO2017020590A1 (zh) 一种芯片验证方法和装置、设备、存储介质
CN107408192A (zh) 保护存储器
CN106201481A (zh) 应用程序开发系统中的组件管理方法和装置
KR20140126194A (ko) 프로세서 검증을 위한 테스트 케이스 생성 장치 및 방법과, 검증장치
WO2013100976A1 (en) Data transfer between asynchronous clock domains
US9563719B2 (en) Self-monitoring object-oriented applications
Chen et al. Schedule-based side-channel attack in fixed-priority real-time systems
US9037910B2 (en) SAS self-test operations
US8650546B2 (en) Static analysis based on observed string values during execution of a computer-based software application
US10540193B2 (en) Software-defined microservices
US11163579B2 (en) Instruction generation based on selection or non-selection of a special command
JP2013120558A (ja) 情報処理装置、試験方法、及びプログラム
US10295596B1 (en) Method and system for generating validation tests
US11334349B2 (en) Removing feature flag-related codebase from applications
CN113177388B (zh) 用于ip核测试与验证的装置、系统及方法
KR101981628B1 (ko) 버스 통신 기반의 프레임 스케줄링 방법 및 그를 위한 장치
Wang et al. BlockLite: a lightweight emulator for public blockchains
US20180357053A1 (en) Recording medium having compiling program recorded therein, information processing apparatus, and compiling method
JP2016045676A (ja) デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法
JP6217386B2 (ja) マルチプロセッサ用プログラム生成方法
US9477800B1 (en) System, method, and computer program product for automatically selecting a constraint solver algorithm in a design verification environment
WO2019071929A1 (zh) 单元测试覆盖率生成方法、装置、可读存储介质及设备
WO2017193287A1 (zh) 多核处理器的调试方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20141201