JP5299681B2 - プログラム検査方法 - Google Patents
プログラム検査方法 Download PDFInfo
- Publication number
- JP5299681B2 JP5299681B2 JP2009032691A JP2009032691A JP5299681B2 JP 5299681 B2 JP5299681 B2 JP 5299681B2 JP 2009032691 A JP2009032691 A JP 2009032691A JP 2009032691 A JP2009032691 A JP 2009032691A JP 5299681 B2 JP5299681 B2 JP 5299681B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- executed
- operation test
- node
- test
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
複数のノードにおいて分散して実行される複数のプログラムからなる動作試験を、シス
テム内で複数並列に実行し、
あるノードで実行中のプログラムにデバイス競合が発生した場合に、このプログラムの実行を中断するとともに、このプログラムと同じ動作試験に属し他のノードで実行中のプログラムの実行も中断する、ことを特徴とする。
本実施形態に係るマルチコアシステムは、それぞれがマルチコアプロセッサを有する複数のノードから構成される。各ノードでは複数のプログラムが動作可能であり、ノード内またはノード間のプログラムが連携して1つの処理を実行する機能分散型のシステムを構成する。
ザ20に要求する。
このようなマルチコアシステムにおいては、一部のソフトウェアのみを更新した場合であっても、それまで動作していた他のノードとの連携が機能しなくなる可能性がある。したがって、想定されるあらゆる動作について試験を行うべきである。想定されるテストケースの数が多いので、複数のテストケースを並列に実行することでテスト処理を高速に行う。
このように動作試験プログラムを複数並列して実行する場合、複数のプログラムから同一のデバイスに対するアクセスが発生する可能性が高まる。その場合、アクセス競合が発生したプログラムはデバイスが利用可能になるまで処理を行うことができない。
グラムの実行を中断することで、動作試験プログラムが単独動作した場合と同じ環境でのテストを実現する。
まず、図4を参照して動作試験プログラムのいずれかがデバイスへのアクセスを必要とする場合の処理の流れを説明する。
次に、図5を参照して、競合していたデバイスが利用可能となった場合の処理について説明する。デバイスが解放されて利用可能になると(S301)、デバイス状態管理部23が起動する(S302)。そしてデバイス状態管理部23が、中断していたプログラムに対応するシステム制御部を動作させる(S303)とともに、他ノードの連携部に中断していたプログラムの実行再開を要求する(S304)。システム制御部は、対象プログラムの実行を再開させる(S305)。
システム制御部は対象プログラムの実行を再開する。
上記の処理による、具体的な動作試験プログラムの実行例を、図6A〜6Cを参照して説明する。ここでは、各動作試験プログラム(テストケース)が、図3に示すような連携プログラムによって構成されているものとして説明する。
テスト中にはプログラムが予期しない動作を行い処理が停止してしまうことがある。ここでいう処理の停止とはいわゆるフリーズ(ハングアップともいう)のことを指し、期待する結果と違う結果が得られたり、エラーコードを出力して終了する場合などは含まれない。プログラムがフリーズした場合はプロセッサ資源がこのプログラムに割り当てられたままとなり、他のプログラムに割り当てることができなくなってしまう。そのため、フリーズが発生した場合には、そのプログラムを停止させる必要がある。そこでスーパーバイザ20(システム状態監視部22)は、動作試験を監視し不具合発生時に、フリーズしたプログラムおよびこれと連携する他のプログラムの実行を停止させる。
する(S401)と、割り込みハンドラとしてシステム状態監視部22が起動する(S402)。起動したシステム状態監視部22は、自ノード上で実行されている全てのオペレーティングシステムの状態を調査し(S403)、状態が変化しないシステムが存在するか判断する(S404)。状態が変化しないシステムが存在しない場合は、次の割り込みが発生するまでシステム状態監視部を休眠させる(S408)。
このように本実施形態におけるプログラムテストでは、実際のシステム運用時には1つの処理(複数のノード間で連携して行う処理)しか行わないシングルスレッド型のシステムであっても、複数のテストケースを並列して実行することで短時間にプログラムテストを実行できる。
10 ハードウェア
11〜14 プロセッサコア
20 スーパーバイザ
21 連携部
22 システム状態監視部
23 デバイス状態管理部
31〜33 システム制御部
Claims (6)
- マルチコアプロセッサを有する複数のノードから構成されるシステムにおけるプログラム検査方法であって、
複数のノードにおいて分散して実行される複数のプログラムからなる動作試験を、当該システム内で複数並列に実行し、
あるノードで実行中のプログラムにデバイス競合が発生した場合に、当該プログラムの実行を中断するとともに、当該プログラムと同じ動作試験に属し他のノードで実行中のプログラムの実行も中断する
ことを特徴とするプログラム検査方法。 - ある動作試験の実行を中断した場合に、実行可能な他の動作試験が存在すれば、当該実行可能な動作試験を前記システム内で実行する
ことを特徴とする請求項1に記載のプログラム検査方法。 - 前記複数のプログラムが正常に動作しているかを監視し、
あるノードで実行中のプログラムが正常に動作していない場合に、当該プログラムを停止するとともに、当該プログラムと同じ動作試験に属し他のノードで実行中のプログラムも停止する
ことを特徴とする請求項1又は2に記載のプログラム検査方法。 - マルチコアプロセッサを有する複数のノードから構成され、当該複数のノードにおいて実行される複数のプログラムからなる動作試験を並列に実行するマルチコアシステムであって、
当該マルチコアシステムを構成する各ノードが、
ノードに接続されるデバイスへのアクセスを管理する管理部と、
動作試験を構成するプログラムにおいてデバイス競合が発生した場合に、当該プログラムの実行を中断するとともに、当該プログラムと同じ動作試験に属し他のノードで実行中のプログラムを中断させる要求を通知する連携部と、
を備えることを特徴とするマルチコアシステム。 - ある動作試験の実行を中断した場合に、実行可能な他の動作試験が存在すれば、当該実行可能な動作試験を実行する
ことを特徴とする請求項4に記載のマルチコアシステム。 - 前記複数のプログラムが正常に動作しているかを監視する監視部をさらに有し、
前記連携部は、自ノードで実行中のプログラムが正常に動作していない場合に、当該プログラムを停止するとともに、当該プログラムと同じ動作試験に属し他のノードで実行中のプログラムを停止させる要求を通知する
ことを特徴とする請求項4又は5に記載のマルチコアシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009032691A JP5299681B2 (ja) | 2009-02-16 | 2009-02-16 | プログラム検査方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009032691A JP5299681B2 (ja) | 2009-02-16 | 2009-02-16 | プログラム検査方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010191522A JP2010191522A (ja) | 2010-09-02 |
JP5299681B2 true JP5299681B2 (ja) | 2013-09-25 |
Family
ID=42817533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009032691A Expired - Fee Related JP5299681B2 (ja) | 2009-02-16 | 2009-02-16 | プログラム検査方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5299681B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2755138B1 (en) * | 2013-01-11 | 2018-11-28 | Fujitsu Limited | Testing implementation parameters of a computer program in a distributed environment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03204735A (ja) * | 1990-01-05 | 1991-09-06 | Hitachi Ltd | 競合動作試験方式 |
FR2809204B1 (fr) * | 2000-05-17 | 2003-09-19 | Bull Sa | Interface applicative multiprosseur, ne necessitant pas l'utilisation d'un systeme d'exploitation multiprocesseur |
JP2003099285A (ja) * | 2001-09-25 | 2003-04-04 | Toshiba Corp | 機能競合に関するテストケース生成方法とその装置、そのためのプログラム |
US7849362B2 (en) * | 2005-12-09 | 2010-12-07 | International Business Machines Corporation | Method and system of coherent design verification of inter-cluster interactions |
-
2009
- 2009-02-16 JP JP2009032691A patent/JP5299681B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010191522A (ja) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10230608B2 (en) | RPS support for NFV by system call bypass | |
US10585755B2 (en) | Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality | |
JP5726340B2 (ja) | プロセッサシステム | |
JP2014527249A5 (ja) | ||
US11099884B2 (en) | Dynamic control of halt polling based on receiving a monitoring instruction executed by a guest | |
WO2007080931A1 (ja) | デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム | |
US10459771B2 (en) | Lightweight thread synchronization using shared memory state | |
US9910717B2 (en) | Synchronization method | |
US9367349B2 (en) | Multi-core system and scheduling method | |
US10437308B2 (en) | Predictive virtual machine halt | |
US11061840B2 (en) | Managing network interface controller-generated interrupts | |
US11061730B2 (en) | Efficient scheduling for hyper-threaded CPUs using memory monitoring | |
US20130132708A1 (en) | Multi-core processor system, computer product, and control method | |
EP3036629B1 (en) | Handling time intensive instructions | |
JP5299681B2 (ja) | プログラム検査方法 | |
US20200081735A1 (en) | Efficient virtual machine memory monitoring with hyper-threading | |
CN115576734B (zh) | 一种多核异构日志存储方法和*** | |
JP5557612B2 (ja) | 計算機及び転送プログラム | |
KR20130039479A (ko) | 스레드 프로그레스 트래킹 방법 및 장치 | |
JP5676664B2 (ja) | リソース管理装置、リソースの管理方法、及びプログラム | |
WO2018003560A1 (ja) | 電子制御装置 | |
US20240231867A9 (en) | Paravirtual pause loops in guest user space | |
US20180060097A1 (en) | Hyper-threading based host-guest communication | |
US11947486B2 (en) | Electronic computing device having improved computing efficiency | |
WO2013057769A1 (ja) | 情報処理装置、情報処理装置の制御方法および制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130425 |
|
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: 20130507 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130603 |
|
LAPS | Cancellation because of no payment of annual fees |