JP4595512B2 - マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ - Google Patents

マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ Download PDF

Info

Publication number
JP4595512B2
JP4595512B2 JP2004344220A JP2004344220A JP4595512B2 JP 4595512 B2 JP4595512 B2 JP 4595512B2 JP 2004344220 A JP2004344220 A JP 2004344220A JP 2004344220 A JP2004344220 A JP 2004344220A JP 4595512 B2 JP4595512 B2 JP 4595512B2
Authority
JP
Japan
Prior art keywords
processor
notification
state
processors
issued
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
Application number
JP2004344220A
Other languages
English (en)
Other versions
JP2006155193A (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 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 JP2004344220A priority Critical patent/JP4595512B2/ja
Publication of JP2006155193A publication Critical patent/JP2006155193A/ja
Application granted granted Critical
Publication of JP4595512B2 publication Critical patent/JP4595512B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、複数のプロセッサ(制御装置)を備えるマルチシステム、マルチプロセッサシステムにおける複数の制御装置(マルチプロセッサ)の監視方法、及び、マルチプロセッサシステムに備えられるプロセッサ、そのプロセッサに備えられるプログラム、及び、そのプログラムを格納した記録媒体に関する。
従来、複数の制御装置を監視する方法としては、例えば、複数の制御装置と、これら複数の制御装置の状態監視を行うマスター制御装置とを備え、該マスター制御装置に対し各制御装置の状態を通知する方法がある。
また、特許文献1では、複数のプロセッサにより共有メモリが一定周期で更新される場合には、これら複数のプロセッサが正常状態であると判定する技術が開示されている。
特開平10−228456号公報
しかしながら、各制御装置の状態監視を行うマスター制御装置に対し状態を通知する場合、マスター制御装置が障害になった場合には監視ができなくなってしまうという問題がある。
また、特許文献1の技術では、あるプロセッサが他のプロセッサに関連なく(非同期で)休止(sleep)状態や省電力状態に勝手に遷移した場合、共有メモリが更新されない状態になり、システムが異常でないにもかかわらず、異常扱いになってしまう。
本発明は、上記のような問題点を解決するためになされたもので、ある制御装置に障害が発生したり(異常状態となったり)、ある制御装置が他の制御装置とは非同期で休止状態や省電力状態に遷移したりしても、それらの状態を適切に監視(認識)することができるマルチプロセッサシステム、そのマルチプロセッサシステムにおける複数の制御装置(マルチプロセッサ)の監視方法、そのマルチプロセッサシステムにおけるプロセッサ、そのプロセッサに備えられるプログラム、及び、そのプログラムを格納した記録媒体を提供することを目的とする。
上記課題を解決するため、本発明のマルチプロセッサシステムは、複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサは、ループ状に直列に接続され、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、各プロセッサは、前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、各プロセッサは、自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、更に、各プロセッサは、両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の処理を行うことを特徴としている。
また、本発明のマルチプロセッサシステムは、複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサは、ループ状に直列に接続され、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、各プロセッサは、前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、
前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、
前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、更に、各プロセッサは、両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように予め設定され、自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の処理を行うことを特徴としている。
本発明のマルチプロセッサシステムにおいては、前記非正常稼働状態は、省電力状態であることを好ましい一例としている。
本発明のマルチプロセッサシステムにおいては、各プロセッサは、隣のプロセッサが異常状態である旨を認識した場合には、両隣のプロセッサのうち、該異常と認識したプロセッサとは反対側のプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始することが好ましい。
本発明のマルチプロセッサシステムにおいては、各プロセッサは、前記第3の処理の結果に基づき、両隣のプロセッサの何れもが正常稼働状態でないと判定した場合には、前記第2の処理以降の動作を行うことが好ましい。
本発明のマルチプロセッサシステムにおいては、前記共有メモリは、前記ループにおいての各プロセッサの並び順を示す情報を格納する並び情報格納領域を備え、各プロセッサは、前記並び情報格納領域を参照することにより、両隣のプロセッサを認識することが好ましい。
本発明のマルチプロセッサシステムにおいては、当該マルチプロセッサシステムの初期化動作には、各プロセッサが、前記並び情報格納領域を参照することにより、両隣のプロセッサを認識する処理が含まれていることが好ましい。
本発明のマルチプロセッサシステムにおいては、前記初期化動作には、各プロセッサが、前記状態書込領域に自身の状態を書き込む動作と、前記並び情報格納領域に自身の並び順を示す情報を格納する動作と、が含まれていることが好ましい。
本発明のマルチプロセッサシステムにおいては、前記状態書込領域は、各プロセッサが自身の識別情報を自身の状態情報と対応付けて書き込むのに使用する領域を備えていることが好ましい。
本発明のマルチプロセッサシステムにおいては、各プロセッサは、自身が前記非正常稼働状態である場合に、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受けると、前記非正常稼働状態から前記正常稼働状態に遷移することが好ましい。
この場合、各プロセッサは、隣のプロセッサを前記非正常稼働状態から前記正常稼働状態に遷移させるために、該隣のプロセッサに対して自身の通知手段による通知を発行することが可能であることが好ましい。
本発明のマルチプロセッサシステムにおいては、各プロセッサは、自身が前記非正常稼働状態である場合に、自身が通知を待っている側のプロセッサからの通知を受けると、前記非正常稼働状態から前記正常稼働状態に遷移することが好ましい。
この場合、各プロセッサは、自身からの通知を待っている隣のプロセッサを前記非正常稼働状態から前記正常稼働状態に遷移させるために、該隣のプロセッサに対して自身の通知手段による通知を発行することが可能であることが好ましい。
本発明の電子機器は、マルチプロセッサシステムを備えることを特徴としている。
本発明の電子機器は、例えば、携帯電話機或いはその他の携帯情報端末装置であることを好ましい一例としている。
或いは、本発明の電子機器は、パーソナルコンピュータであることも好ましい一例としている。この場合、携帯型のパーソナルコンピュータであることも好ましく、或いは、デスクトップ型のパーソナルコンピュータであることも好ましい。
また、本発明のマルチプロセッサシステムにおける監視方法は、ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサを監視する方法であって、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、当該監視方法は、前記通知を受けたプロセッサが自身のタイマを停止させる第1の工程と、前記第1の工程を行うプロセッサが、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の工程と、前記第2の工程を行うプロセッサが、前記状態書込領域を参照する第3の工程と、前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の工程を行う一方で、前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の工程を行い、更に、当該監視方法は、正常稼働状態から前記非正常稼働状態へと遷移するプロセッサが、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の工程と、前記第6の工程を行うプロセッサが、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の工程と、両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けたプロセッサが、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の工程と、両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了したプロセッサが、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の工程と、を備えることを備えることを特徴としている。
また、本発明のマルチプロセッサシステムにおける監視方法は、ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサを監視する方法であって、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、当該監視方法は、前記通知を受けたプロセッサが自身のタイマを停止させる第1の工程と、前記第1の工程を行うプロセッサが、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の工程と、前記第2の工程を行うプロセッサが、前記状態書込領域を参照する第3の工程と、前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の工程を行う一方で、前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の工程を行い、更に、当該監視方法は、各プロセッサに対して、両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように設定する第6の工程と、正常稼働状態から前記非正常稼働状態へと遷移するプロセッサが、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第7の工程と、前記第7の工程を行うプロセッサが、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第8の工程と、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けたプロセッサが、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第9の工程と、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了したプロセッサが、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第10の工程と、を備えることを特徴としている。
本発明のプロセッサは、ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備え、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備えるマルチプロセッサシステムにおけるプロセッサであって、前記マルチプロセッサシステムを構成する全てのプロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、
自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、更に、両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生によりが異常状態である旨を認識する第9の処理を行うことを特徴としている。
本発明のプロセッサは、ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備え、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備えるマルチプロセッサシステムにおけるプロセッサであって、前記マルチプロセッサシステムを構成する全てのプロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、更に、両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように予め設定され、自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生によりが異常状態である旨を認識する第9の処理を行うことを特徴としている。
本発明のプログラムは、コンピュータが実行可能なプログラムにおいて、本発明のプロセッサによる前記第1乃至第9の処理を実行することを特徴としている。
本発明の記録媒体は、コンピュータ読み取り可能な記録媒体において、本発明のプログラムを格納したことを特徴としている。
本発明によれば、あるプロセッサ(制御装置)が障害の発生により異常状態となったり、あるプロセッサが他のプロセッサとは非同期で休止状態や省電力状態などの非正常稼働状態に遷移したりしても、それらの状態を、他のプロセッサが適切に監視(認識)することができる。
以下、本発明の効果について、状況別に詳細に説明する。
(1)全てのプロセッサが正常稼働状態である場合
この場合、各プロセッサは、順次、第4の処理を行うことにより、受けた通知を発行したのとは反対側のプロセッサに対して通知を発行することとなる(一方向にのみ通知のリレーが行われる)。つまり、各プロセッサは、常に、両隣のうち片側のプロセッサからの通知を受けることとなり、該通知を受ける度に、第1〜第4の処理を行う。
また、各プロセッサでは、タイマによる計時動作が満了せず、且つ、両隣のうち反対側のプロセッサからは通知を受けないため、隣のプロセッサが正常である(異常ではない)ことを認識できるとともに、自身以外のプロセッサが省電力状態や休止状態などの非正常稼働状態ではないことを認識できる。
(2)ある1つのプロセッサが非正常稼働状態となり、残りのプロセッサは全て正常稼働状態である場合
この場合、非正常稼働状態に遷移するプロセッサは、第7の処理により、それまでとは反対側のプロセッサに対して通知を発行する。
よって、この通知を受けたプロセッサは、自身以外の何れかのプロセッサが非正常稼働状態である旨を認識することができる(第8の処理)。
更に、この通知を受けたプロセッサは、第1〜第3の処理を経て、第4の処理ではなく第5の処理を行う。これにより、通知のリレーの方向が反転する。
以後は、その反転したままの方向で、順次、通知のリレーがなされるので、非正常稼働状態へと遷移したプロセッサ以外の各プロセッサは、自身以外の何れかのプロセッサが非正常稼働状態である旨を認識できる。
更に、このような反転した状態での通知のリレーが、非正常稼働状態へと遷移したプロセッサの手前のプロセッサまで達すると、該プロセッサは、第3の処理の結果に基づき、第4の処理ではなく第5の処理を行うこととなるので、再び、通知のリレーの方向が反転する。
更に、この通知のリレーが、非正常稼働状態へと遷移したプロセッサの手前のプロセッサまで達すると、該プロセッサは、第3の処理の結果に基づき、第4の処理ではなく第5の処理を行うこととなるので、再び、通知のリレーの方向が反転する。
こうして、非正常稼働状態へと遷移したプロセッサ以外の各プロセッサにより、通知のリレーが、繰り返し向きを変えながら、反復的に行われる。
また、このように通知のリレーを行う間、各プロセッサでは、タイマによる計時動作が満了しないので、それぞれ、隣のプロセッサが正常である(異常ではない)ことを認識できる。
ここで、非正常稼働状態の両隣のプロセッサだけは、第3の処理にて共有メモリの状態書込領域を参照することにより、非正常稼働状態のプロセッサが非正常稼働状態である旨を認識することができる。
なお、例えば、通知のリレーの方向が変わった際などにおける第3の処理では、自身以外の全てのプロセッサの状態を認識するようにしても良く、この場合、非正常稼働状態のプロセッサの隣のプロセッサでなくとも、非正常稼働状態のプロセッサがどのプロセッサであるのかを特定することができる。
(3)複数のプロセッサが非正常稼働状態となり、残りのプロセッサは全て正常稼働状態である場合
この場合は、ループにおいて通知のリレーがなされる範囲が、非正常稼働状態の各プロセッサによって分断された状態となる点の他は、上記(2)の場合と同様である。
(4)プロセッサが異常状態となった場合
この場合、異常状態のプロセッサからは通知が発行されなくなるので、該プロセッサからの通知を待っているプロセッサでは、該通知を受ける以前にタイマによる計時動作が満了してしまう。よって、通知を待っているプロセッサでは、本来(正常であれば)通知を発行すべきプロセッサが異常状態となった旨を認識することができる(第9の処理)。
以下、図面を参照して、本発明に係る実施形態について説明する。
〔第1の実施形態〕
図1は第1の実施形態に係るマルチプロセッサシステム100を示すブロック図である。
図1に示すように、本実施形態に係るマルチプロセッサシステム100は、例えば、第1乃至第3の3つの制御装置(プロセッサ)1、2、3と、これら第1乃至第3の制御装置1〜3により共通に使用される共有記憶領域(共有メモリ)4と、を備えている。
各制御装置1〜3及び共有記憶領域4は、共通のバス14を介して相互に接続されている。
図2は共有記憶領域4の記憶内容を示す図である。
図2に示すように、共有記憶領域4は、各制御装置1〜3が自身の状態を示す状態情報を書き込むのに使用する状態書込領域41と、各制御装置1〜3の並びを定義する制御装置並びテーブル(並び情報格納領域)18と、を備えている。
このうち、状態書込領域41は、第1の制御装置1が自身の状態を書き込むのに使用する第1制御装置状態記憶領域15と、第2の制御装置2が自身の状態を書き込むのに使用する第2制御装置状態記憶領域16と、第3の制御装置3が自身の状態を書き込むのに使用する第3制御装置状態記憶領域17と、を備えている。
図3は各制御装置状態記憶領域15〜17の記憶内容を示す図である。
図3に示すように、各制御装置状態記憶領域15〜17は、対応する制御装置1〜3のシリアル番号(識別情報)を記憶する制御装置シリアル番号記憶領域19と、対応する制御装置1〜3の状態(正常稼働状態であるか省電力状態であるか)を示す稼働状態/省電力状態識別フラグを記憶する稼働状態/省電力状態識別フラグ記憶領域20と、を備えている。
図4は制御装置並びテーブル18の記憶内容を示す図である。
図4に示すように、制御装置並びテーブル18には、各制御装置1〜3の並びが記憶される。なお、図4に示す例では、第1の制御装置1の隣に第2の制御装置2と第3の制御装置3とが存在し、第2の制御装置2の隣に第3の制御装置3と第1の制御装置1とが存在し、第3の制御装置3の隣に第1の制御装置1と第2の制御装置2とが存在することを意味する。
また、図1に示すように、各制御装置1〜3は、隣の制御装置1〜3に対して割り込み信号などの通知5〜10を発行する通知手段21〜23を備えている。
つまり、各制御装置1〜3は、通知5〜10の伝達経路により、ループ状に直列に接続され、各制御装置1〜3によりループが構成されている。
更に、図1に示すように、各制御装置1〜3は、隣の制御装置1〜3に通知を発行してから通知が戻ってくるまでの間、計時動作を行うタイマ11、12、13を備えている。
タイマ11は、制御装置1の通知手段21が隣の制御装置2,3のうちの何れか一方に通知5,8を発行したタイミングで計時を開始し、隣の制御装置2、3のうちの何れか一方からの通知10、7を受けたタイミングで計時を終了する。同様に、タイマ12は、制御装置2の通知手段22が隣の制御装置1,3への通知10,6を発行したタイミングで計時を開始する一方、隣の制御装置1,3からの通知5,9を受けたタイミングで計時を終了し、タイマ13は、制御装置3の通知手段23が隣の制御装置1,2への通知7、9を発行したタイミングで計時を開始する一方、隣の制御装置1,2からの通知8,6を受けたタイミングで計時を終了する。
各制御装置1〜3は、自身のタイマ11〜13が所定時間の計時動作を満了する迄の間に、自身が通知を行った側の制御装置とは反対側の隣の制御装置からの通知を受けない場合は、該制御装置を異常と判断する。
次に、動作を説明する。
図5及び図6は、図1のマルチプロセッサシステム100における初期化処理を示すフローチャートである。
先ず、図5を参照して、この初期化処理の前半部分について説明する。
例えばマルチプロセッサシステム100に対する電源投入などのトリガが発生すると、図5に示すように、先ず、第1の制御装置1が内部初期化を行う(ステップS1)。
次に、第1の制御装置1は、共有記憶領域4内の第1制御装置状態記憶領域15の制御装置シリアル番号記憶領域19(図3)には第1の制御装置1のシリアル番号を書き込む一方で(ステップS2)、第1制御装置状態記憶領域15の稼働状態/省電力状態識別フラグ記憶領域20(図3)には第1の制御装置1が正常稼動状態である旨を示す情報を書き込む(ステップS3)。
更に、第1の制御装置1は、制御装置並びテーブル18(図4)内の第1の制御装置1に対応する記憶領域に、第1の制御装置1のシリアル番号を書き込み、更に、該第1の制御装置1の通知手段21から、第2の制御装置2に対して通知5を発行するとともに、タイマ11による計時を開始する(ステップS4)。
第2の制御装置2は、第1の制御装置1からの通知5を受けると、第1の制御装置1がステップS1〜S4にて行ったのと同様の処理を行う。
すなわち、第2の制御装置2は、内部初期化(ステップS5)を行った後、共有記憶領域4内の第2制御装置状態記憶領域16の制御装置シリアル番号記憶領域19には第2の制御装置2のシリアル番号を書き込む一方で(ステップS6)、第2制御装置状態記憶領域16の稼働状態/省電力状態識別フラグ記憶領域20には第2の制御装置2が正常稼動状態である旨を示す情報を書き込み(ステップS7)、制御装置並びテーブル18内の第2の制御装置2に対応する記憶領域に第2の制御装置2のシリアル番号を書き込み、更に、両隣の制御装置のうち、今回受けた通知(通知5)を発行したのとは反対側の制御装置、すなわち、第3の制御装置3に対して、通知手段22から通知6を発行するとともに、タイマ12による計時を開始する(ステップS8)。
第3の制御装置3は、第2の制御装置2からの通知6を受けると、第2の制御装置2がステップS5〜S8にて行ったのと同様の処理を行う。
すなわち、第3の制御装置3は、内部初期化(ステップS9)を行った後、共有記憶領域4内の第3制御装置状態記憶領域17の制御装置シリアル番号記憶領域19には第3の制御装置3のシリアル番号を書き込む一方で(ステップS10)、第3制御装置状態記憶領域17の稼働状態/省電力状態識別フラグ記憶領域20には第3の制御装置3が正常稼動状態である旨を示す情報を書き込み(ステップS11)、制御装置並びテーブル18内の第3の制御装置3に対応する記憶領域に第3の制御装置3のシリアル番号を書き込み、更に、両隣の制御装置のうち、今回受けた通知(通知6)を発行したのとは反対側の制御装置、すなわち第1の制御装置1に対して、通知手段23から通知7を発行するとともに、タイマ13による計時を開始する(ステップS12)。
この時点をタイミングAとする。
次に、図6を参照して、初期化処理の後半部分について説明する。
第3の制御装置3からの通知7を受けた第1の制御装置1は、タイマ11を停止させるとともに、制御装置並びテーブル18を読み込む(ステップS13)。
ここで、タイマ11〜13が計時する所定時間は、初期化処理(図5の処理)に要する時間の長さよりも十分に長い時間に設定されている。このため、各制御装置1〜3が正常であれば、先のステップS4でタイマ11による計時を開始してから、ステップS13でタイマ11を停止させるまでの間に、タイマ11が所定時間の計時動作を満了することはない。
次に、第1の制御装置1は、先のステップS13で制御装置並びテーブル18を読み込んだ結果に基づいて、両隣の制御装置2,3のうち、今回の通知(通知7)を発行したのとは反対側の制御装置である第2の制御装置2の状態領域(第2制御装置状態領域16)の内容を確認する(ステップS14)。
初期化によって第2の制御装置2が正常稼動状態で起動されている場合には、第1の制御装置1は、ステップS14での確認の結果として、第2の制御装置2が正常稼働状態である旨を認識する。第2の制御装置2が正常稼働状態である旨を認識すると、第1の制御装置1の通知手段21は、両隣の制御装置2,3のうち、先のステップS13にて受けた通知(通知7)を発行したのとは反対側の制御装置である第2の制御装置2に対し通知5を発行するとともに、タイマ11による計時を開始する(ステップS15)。
第2の制御装置2は、第1の制御装置1からの通知5を受けると、タイマ12を停止させるとともに、制御装置並びテーブル18を読み込む(ステップS16)。
次に、第2の制御装置2は、先のステップS16で制御装置並びテーブル18を読み込んだ結果に基づいて、両隣の制御装置1,3のうち、今回の通知(通知5)を発行したのとは反対側の制御装置である第3の制御装置3の状態領域(第3制御装置状態領域17)の内容を確認する(ステップS17)。
初期化によって第3の制御装置3が正常稼動状態で起動されている場合には、第2の制御装置2は、ステップS17での確認の結果として、第3の制御装置3が正常稼働状態である旨を認識する。第3の制御装置3が正常稼働状態である旨を認識すると、第2の制御装置2の通知手段22は、両隣の制御装置1,3のうち、先のステップS16にて受けた通知(通知5)を発行したのとは反対側の制御装置である第3の制御装置2に対し通知6を発行するとともに、タイマ12による計時を開始する(ステップS18)。
第3の制御装置3は、第2の制御装置2からの通知6を受けると、タイマ13を停止させるとともに、制御装置並びテーブル18を読み込む(ステップS19)。
次に、第3の制御装置3は、先のステップS19で制御装置並びテーブル18を読み込んだ結果に基づいて、両隣の制御装置1,2のうち、今回の通知(通知6)を発行したのとは反対側の制御装置である第1の制御装置1の状態領域(第1制御装置状態領域15)の内容を確認する(ステップS20)。
初期化によって第1の制御装置1が正常稼動状態で起動されている場合には、第3の制御装置3は、ステップS20での確認の結果として、第1の制御装置1が正常稼働状態である旨を認識する。第1の制御装置1が正常稼働状態である旨を認識すると、第3の制御装置3の通知手段23は、両隣の制御装置1,2のうち、先のステップS19にて受けた通知(通知6)を発行したのとは反対側の制御装置である第1の制御装置1に対し通知7を発行するとともに、タイマ13による計時を開始する(ステップS21)。
これにて、マルチプロセッサシステム100全体の初期化が完了する。
この段階で、第1の制御装置1は、両隣の制御装置2,3のうち、先のステップS15にて自身が通知5を発行した方とは反対側の制御装置である第3の制御装置3からの通知7を待つ状態となっている(第3の制御装置3からの通知を待つ状態に設定されている)。同様に、第2の制御装置2は、両隣の制御装置3、1のうち、先のステップS18にて自身が通知6を発行した方とは反対側の制御装置である第1の制御装置1からの通知5を待つ状態となっている(第1の制御装置1からの通知を待つ状態に設定されている)。同様に、第3の制御装置3は、両隣の制御装置1,2のうち、先のステップS21にて自身が通知7を発行した方とは反対側の制御装置である第2の制御装置2からの通知6を待つ状態となっている(第2の制御装置2からの通知を待つ状態に設定されている)。
次に、図11を参照して、各制御装置1〜3における基本的な監視動作について説明する。
図11は、各制御装置1〜3が所定周期毎に繰り返し行う動作を簡略化して示すフローチャートである。
図11に示すように、各制御装置1〜3では、両隣の何れかの制御装置からの通知5〜10を受けた場合には(ステップS101のYes)、自身のタイマ11〜13を停止する(ステップS102)とともに、自身の状態領域15〜17を更新し(正常稼働状態である旨を書き込み:ステップS103)、両隣の制御装置の状態を確認する(ステップS104)。
そして、各制御装置1〜3は、ステップS104での確認の結果、両隣の制御装置のうち、今回受けた通知を発行したのとは反対側の制御装置が正常稼働状態である旨を認識した場合には(ステップS105のYes)、該制御装置(今回受けた通知を発行したのとは反対側の制御装置)に対して、自身の通知手段21〜23による通知5〜10を発行するとともに、自身のタイマ11〜13による計時を開始し(ステップS106)、図11の処理を終了する。
また、両隣の制御装置のうち、今回受けた通知を発行したのとは反対側の制御装置が正常稼働状態でない旨を認識した場合には(ステップS105のNo)、ステップS104での確認の結果、今回受けた通知を発行した側の制御装置が正常稼働状態である旨を認識した場合には(ステップS107のYes)、該制御装置(今回受けた通知を発行した側の制御装置)に対して、自身の通知手段21〜23による通知5〜10を発行するとともに、自身のタイマ11〜13による計時を開始し(ステップS108)、図11の処理を終了する。
また、両側の制御装置の何れもが正常稼働状態でない旨を認識した場合(ステップS107のNo)、ステップS103以降の処理を行う。
また、両隣の何れの制御装置からも通知5〜10を受けない場合には(ステップS101のNo)、自身のタイマ11〜13が所定時間の計時を満了したか否かを判定し、満了していないと判定した場合には(ステップS109のNo)、図11の処理を終了する。
また、自身のタイマ11〜13が満了したと判定した場合には(ステップS109のYes)、通知待ち側の制御装置に異常が発生した旨を認識し(ステップS110)、図11の処理を終了する。
次に、図7を参照して、各制御装置1〜3が正常稼働状態である場合の動作を説明する。
図7は、各制御装置1〜3が正常稼働状態である場合の、図1のマルチプロセッサシステム100における監視動作を示すフローチャートである。
なお、図7の動作は、初期化処理に続いて行われる。
第1の制御装置1は、通知待ち側の制御装置である第3の制御装置3より発行された通知7を受けると、タイマ11を停止させる(ステップS31)とともに、共有記憶領域4内の第1制御装置状態領域15の記憶内容を更新する。すなわち、第1の制御装置1は、第1制御装置状態領域15に正常稼動状態である旨を示す情報を書き込む(ステップS32)。
更に、第1の制御装置1は、両隣の制御装置2,3の状態領域、すなわち第2及び第3制御装置状態領域16、17を読み込み、その読み込み結果に基づいて、第2及び第3の制御装置2,3の状態を確認する(ステップS33)。
ステップS33での確認の結果、第1の制御装置1は、両隣の制御装置2,3のうち、今回の通知(通知7)を発行したのとは反対側の制御装置である第2の制御装置2が正常稼働状態であると認識するので(図11のステップS105のYesに相当)、該第2の制御装置2に対して通知5を発行するとともに、タイマ11による計時を開始する(ステップS35:図11のステップS106に相当)。
次に、第2の制御装置2は、通知待ち側の制御装置である第1の制御装置1から先のステップS35にて発行された通知5を受けると、タイマ12を停止させる(ステップS36)とともに、共有記憶領域4内の第2制御装置状態領域16の記憶内容を更新する。すなわち、第2の制御装置2は、第2制御装置状態領域16に正常稼動状態である旨を示す情報を書き込む(ステップS37)。
更に、第2の制御装置2は、両隣の制御装置1,3の状態領域、すなわち第1及び第3制御装置状態領域15、17を読み込み、その読み込み結果に基づいて、第1及び第3の制御装置1,3の状態を確認する(ステップS38)。
ステップS38での確認の結果、第2の制御装置2は、両隣の制御装置1,3のうち、今回の通知(通知5)を発行したのとは反対側の制御装置である第3の制御装置3が正常稼働状態であると認識するので(図11のステップS105のYesに相当)、該第3の制御装置3に対して通知6を発行するとともに、タイマ12による計時を開始する(ステップS40:図11のステップS106に相当)。
次に、第3の制御装置3は、通知待ち側の制御装置である第2の制御装置2から先のステップS40にて発行された通知6を受けると、タイマ13を停止させる(ステップS41)とともに、共有記憶領域4内の第3制御装置状態領域17の記憶内容を更新する。すなわち、第3の制御装置3は、第3制御装置状態領域17に正常稼動状態である旨を示す情報を書き込む(ステップS42)。
更に、第3の制御装置3は、両隣の制御装置1,2の状態領域、すなわち第1及び第2制御装置状態領域15、16を読み込み、その読み込み結果に基づいて、第1及び第2の制御装置1,2の状態を確認する(ステップS43)。
ステップS43での確認の結果、第3の制御装置3は、両隣の制御装置1,2のうち、今回の通知(通知6)を発行したのとは反対側の制御装置である第1の制御装置1が正常稼働状態であると認識するので(図11のステップS105のYesに相当)、該第1の制御装置1に対して通知7を発行するとともに、タイマ13による計時を開始する(ステップS45)。
以後、各制御装置1〜3が正常稼働状態である限りは、ステップS31〜S45の処理が繰り返される。
ここで、タイマ11〜13が計時する所定時間は、図7に示す一連の監視動作(ステップS31〜S45)の1サイクルに要する時間の長さよりも十分に長い時間に設定されている。このため、各制御装置1〜3が正常稼働状態であれば、図7のステップS35にてタイマ11による計時を開始してから次のサイクルでの図7のステップS31にてタイマ11を停止させるまでの間にタイマ11が所定時間の計時動作を満了することはなく、同様に、図7のステップS40にてタイマ12による計時を開始してから次のサイクルでの図7のステップS36にてタイマ12を停止させるまでの間にタイマ12が所定時間の計時動作を満了することはなく、図7のステップS45にてタイマ13による計時を開始してから次のサイクルでの図7のステップS31にてタイマ13を停止させるまでの間にタイマ13が所定時間の計時動作を満了することはなく、各制御装置1〜3は、隣の制御装置の異常を認識することがない(図11のステップS109のNoに相当)。
また、各制御装置1〜3が正常稼働状態である限りは、図7に示す一連の監視動作(ステップS31〜S45)により、各制御装置1〜3は、常に、通知待ち側の制御装置からのみ通知5〜7を受けることとなる(通知待ち側とは反対側の制御装置からの通知8〜10は受けない)。よって、各制御装置1〜3は、他の何れかの制御装置が省電力状態(非正常稼働状態)となったと認識することもない。
よって、各制御装置1〜3により、他の制御装置が正常稼働状態である旨の監視を実行できているといえる。
なお、各制御装置が担うその他の処理(監視動作以外の処理:例えば、演算処理、表示制御処理、音声制御処理など)についての説明は省略するが、該その他の処理は、図7及び図11に示す処理、並びに、図8乃至図10に示す処理(後述)とは別に、各制御装置の協働により或いは各制御装置が独立で、行うようになっている。
図8は、第1の制御装置1が正常稼働状態から省電力状態へ遷移する場合の監視動作を示すフローチャートである。
第1の制御装置1が省電力状態への遷移を開始する(ステップS51)に際しては、該第1の制御装置1が自身の状態領域を更新する。すなわち、第1の制御装置1は、第1制御装置状態領域15に省電力状態である旨を示す情報を書き込む(ステップS52)。
更に、第1の制御装置1の通知手段21は、両隣の制御装置2,3のうち、自身にとってそれまで通知待ち側となっていた第3の制御装置3に対して、通知8を発行する(ステップS53)。
その後、第1の制御装置1は省電力状態へ遷移する(ステップS54)。
一方、第3の制御装置3は、ステップS53の後、第1の制御装置1からの通知8を受けると、タイマ13を停止させ(ステップS55)、該第3の制御装置3の状態領域を更新する。すなわち、第3の制御装置3は、第3制御装置状態領域17に正常稼働状態である旨の情報を書き込む(ステップS56)。
更に、第3の制御装置3は、両隣の制御装置1,2の状態領域、すなわち第1及び第2制御装置状態領域15、16を読み込み、その読み込み結果に基づいて、第1及び第2の制御装置1,2の状態を確認する(ステップS57)。
ステップS57での確認の結果、第3の制御装置3は、両隣の制御装置1,2のうち、今回の通知(通知8)を発行したのとは反対側の制御装置である第2の制御装置2が正常稼働状態であると認識するので(図11のステップS105のYesに相当)、該第2の制御装置2に対して通知9を発行するとともに、タイマ13による計時を開始する(ステップS59:図11のステップS106に相当)。
なお、仮に、第1の制御装置1に加えて第2の制御装置2も省電力状態となっている場合には、第3の制御装置3は、自身の両隣の制御装置1,2が何れも正常稼働状態でないと判定し(図11のステップS107のNoに相当)、以後は、両隣の何れかの制御装置が省電力状態から正常稼働状態に復帰するまで、ステップS56以降の処理(図11のステップS104以降の処理に相当)を繰り返す。
ここで、第3の制御装置3は、ステップS53の後のステップS55では、自身にとってそれまで通知待ち側となっていた第2の制御装置2からではなく、第1の制御装置1からの通知8を受けたことから、自身以外の何れかの制御装置(第1の制御装置1又は第2の制御装置2)が正常稼働状態でない(非正常稼働状態である)ことを認識する。
更に、第3の制御装置3は、ステップ57での確認の結果により、第1の制御装置1が省電力状態(非正常稼働状態)である旨を認識することができる。
次に、第2の制御装置2は、第3の制御装置3からの通知9を受けると、タイマ12を停止させ(ステップS61)、該第2の制御装置2の状態領域を更新する。すなわち、第2の制御装置2は、第2制御装置状態領域16に正常稼働状態である旨の情報を書き込む(ステップS62)。
更に、第2の制御装置2は、両隣の制御装置1,3の状態領域、すなわち第1及び第3制御装置状態領域15、17を読み込み、その読み込み結果に基づいて、第1及び第3の制御装置1,3の状態を確認する(ステップS63)。
ステップS57での確認の結果、第2の制御装置2は、両隣の制御装置1,3のうち、今回の通知(通知9)を発行したのとは反対側の制御装置である第1の制御装置1が正常稼働状態でないと(省電力状態である)認識し(図11のステップS105のNoに相当)、更に、今回の通知(通知9)を発行した方の第3の制御装置3は正常稼働状態であると認識する(図11のステップS107のYesに相当)。
よって、第2の制御装置2は、第1の制御装置1ではなく、第3の制御装置3に対して、通知6を発行するとともに、タイマ12による計時を開始する(ステップS65:図11のステップS108に相当)。
なお、仮に、第1の制御装置1に加えて第3の制御装置3も省電力状態となっている場合には、第2の制御装置2は、自身の両隣の制御装置1,3が何れも正常稼働状態でないと判定し(図11のステップS107のNoに相当)、以後は、両隣の何れかの制御装置が省電力状態から正常稼働状態に復帰するまで、ステップS62以降の処理(図11のステップS104以降の処理に相当)を繰り返す。
ここで、第2の制御装置2も、ステップS61では、自身にとってそれまで通知待ち側となっていた第1の制御装置1からではなく、第3の制御装置3からの通知9を受けたことから、自身以外の何れかの制御装置(第1の制御装置1又は第3の制御装置3)が正常稼働状態でない(非正常稼働状態である)ことを認識する。
更に、第2の制御装置2は、ステップ63での確認の結果により、第1の制御装置1が省電力状態(非正常稼働状態)である旨を認識することができる。
以後は、第1の制御装置1が省電力状態である一方で第2及び第3の制御装置2,3が正常稼働状態である限りは、ステップS55〜S65の処理が繰り返される。
ここで、タイマ11〜13が計時する所定時間は、図8に示すステップS55〜S65の処理に要する時間の長さよりも十分に長い時間に設定されている。このため、第2及び第3の制御装置2,3が正常稼働状態であれば、図8のステップS59にてタイマ13による計時を開始してから次のサイクルでの図8のステップS55にてタイマ13を停止させるまでの間にタイマ13が所定時間の計時動作を満了することはなく、同様に、図8のステップS65にてタイマ12による計時を開始してから次のサイクルでの図8のステップS61にてタイマ12を停止させるまでの間にタイマ12が所定時間の計時動作を満了することはなく、各制御装置1〜3は、隣の制御装置の異常を認識することがない(図11のステップS109のNoに相当)。
図9は、第1の制御装置1が省電力状態から抜けて正常稼動状態へ遷移するときの動作を示すフローチャートである。
第1の制御装置1は、通知待ち側の制御装置である第3の制御装置3からの通知7を受けた場合に、省電力状態から正常稼動状態へ遷移する。
すなわち、第1の制御装置1を省電力状態から正常稼動状態へ遷移させるには、第3の制御装置3から通知7を発行させる(ステップS66)。
この通知7を受けた第1の制御装置1は、正常稼動状態へ遷移し、以後は、図7のステップS31(タイミングB)以降の処理が行われる。
図10は、第1の制御装置1が暴走した場合(第1の制御装置1に異常が発生した場合)の監視動作を示すフローチャートである。
例えば図7の監視動作を行ううちに、第1の制御装置1が異常状態となると(ステップS67)、第1の制御装置1の通知手段21からの通知5が第2の制御装置2に対して発行されなくなるので、やがて、第2の制御装置2のタイマ12による計時動作が満了する(ステップS68)。
タイマ12による計時動作が満了すると、第2の制御装置2は、第1の制御装置1が異常状態であると認識する。
更に、第2の制御装置2は、通知待ち側とは反対側の制御装置である第3の制御装置3に対して通知6を発行するとともに、タイマ12による計時を開始する(図8のステップS69)。
以後は、図8のステップS55〜S65以降の処理が繰り返される。
なお、各制御装置1〜3は、他の制御装置の異常を認識したり、他の制御装置が正常稼働状態でなくなったこと(非正常稼働状態となったこと)を認識した場合には、例えば、アラームを発して、その旨を報知したり、或いは、異常又は非正常稼働状態となった制御装置からの信号入力を待つ処理を中止することができ、待っても来ない信号を待ち続ける不具合を回避できる。
以上のような実施形態によれば、ある制御装置(制御装置1〜3の何れか)が障害の発生により異常状態となり動作不能状態となったり、ある制御装置が他の制御装置とは非同期で省電力状態に遷移したりしても、それらの状態を、他の制御装置が適切に監視(認識)することができる。
またシステム100の全体動作が、複数の制御装置1〜3間の協働によりなされる場合でも、各制御装置1〜3毎の独立によりなされる場合でも、監視方法に差異はなく、システム機能として自由度や拡張性を持つことができる効果を有する。
更に監視処理が単純ルーチン化され、各制御装置1〜3の処理負担を軽減させることができる。
また、例えば、各制御装置状態領域15〜17と並びテーブル18を定期的にシステム100の不揮発記憶領域にバックアップすることによって、システム100全体の状態履歴情報を残すことができる。
以下、本実施形態による効果について、状況別に詳細に説明する。
(1)全ての制御装置1〜3が正常稼働状態である場合、各制御装置1〜3は、順次、図11のステップS106の処理を行うことにより、受けた通知を発行したのとは反対側の制御装置1〜3に対して通知を発行することとなる(一方向にのみ通知のリレーが行われる)。つまり、各制御装置1〜3は、常に、両隣のうち片側の制御装置1〜3からの通知を受けることとなり、該通知を受ける度に、図11のステップS102〜S106の処理を行う。
また、各制御装置1〜3では、タイマ11〜13による計時動作が満了せず、且つ、両隣のうち反対側のプロセッサからは通知を受けないため、隣のプロセッサが正常である(異常ではない)ことを認識できるとともに、自身以外のプロセッサが省電力状態や休止状態などの非正常稼働状態ではないことを認識できる。
(2)ある1つの制御装置(例えば、第1の制御装置1)が非正常稼働状態となり、残りの制御装置(例えば、第2及び第3の制御装置2,3)は全て正常稼働状態である場合は、非正常稼働状態に遷移する第1の制御装置1は、図8のステップS53の処理により、それまでとは反対側の制御装置(例えば、第3の制御装置3)に対して通知を発行する。
よって、この通知を受けた制御装置(例えば、第3の制御装置3)は、自身以外の何れかの制御装置が非正常稼働状態である旨を認識することができる。
更に、この通知を受けた(例えば、第3の制御装置3)は、図11のステップS101〜S105、S107の処理を経て、ステップS106ではなくステップS108の処理を行う。これにより、通知のリレーの方向が反転する。
以後は、その反転したままの方向で、順次、通知のリレーがなされるので、非正常稼働状態へと遷移した制御装置(例えば、第1の制御装置1)以外の各制御装置(例えば、第2及び第3の制御装置2,3)は、自身以外の何れかの制御装置が非正常稼働状態である旨を認識できる。
更に、このような反転した状態での通知のリレーが、非正常稼働状態へと遷移した制御装置(例えば、第1の制御装置1)の手前の制御装置(例えば、第2の制御装置2)まで達すると、該制御装置は、図11のステップS104の処理の結果に基づき、ステップS106の処理ではなくステップS108の処理を行うこととなるので、再び、通知のリレーの方向が反転する。
更に、この通知のリレーが、非正常稼働状態へと遷移した制御装置(例えば、第1の制御装置1)の手前の制御装置(例えば、第3の制御装置3)まで達すると、該制御装置は、図11のステップS104の処理の結果に基づき、ステップS106の処理ではなくステップS108の処理を行うこととなるので、再び、通知のリレーの方向が反転する。
こうして、非正常稼働状態へと遷移した制御装置(例えば、第1の制御装置1)以外の各制御装置(例えば、第2及び第3の制御装置2,3)により、通知のリレーが、繰り返し向きを変えながら、反復的に行われる。
また、このように通知のリレーを行う間、各制御装置(例えば、第2及び第3の制御装置2,3)では、タイマ12,13による計時動作が満了しないので、それぞれ、隣の制御装置が正常である(異常ではない)ことを認識できる。
更に、非正常稼働状態の制御装置(例えば、第1の制御装置1)の両隣の制御装置(例えば、第2及び第3の制御装置2,3)は、図11のステップS104の処理により、非正常稼働状態の制御装置(例えば、第1の制御装置1)が非正常稼働状態である旨を認識することができる。
なお、例えば、制御装置の数が4つ以上の場合には、例えば、通知のリレーの方向が変わった際などにおける図11のステップS104の処理にて、自身以外の全ての制御装置の状態を認識するようにしても良く、この場合、非正常稼働状態の制御装置の隣の制御装置でなくとも、非正常稼働状態の制御装置がどの制御装置であるのかを特定することができる。
(3)複数の制御装置が非正常稼働状態となり、残りの制御装置は全て正常稼働状態である場合
この場合は、ループにおいて通知のリレーがなされる範囲が、非正常稼働状態の各各制御装置によって分断された状態となる点の他は、上記(2)の場合と同様である。
なお、本実施形態の場合、制御装置が3つだけであるため、2つの制御装置(例えば、第2及び第3の制御装置2,3)が非正常稼働状態となり、残る1つの制御装置(例えば、第1の制御装置1)のみが正常稼働状態である場合には、該1つの制御装置のみが、図11のステップS102以降の処理を繰り返す。
(4)何れかの制御装置(例えば、第1の制御装置1)が異常状態となった場合
この場合、異常状態の制御装置(例えば、第1の制御装置1)からは通知が発行されなくなるので、該制御装置からの通知を待っている制御装置(例えば、第2の制御装置2)では、該通知を受ける以前にタイマ(例えば、タイマ12)による計時動作が満了してしまう。よって、通知を待っている制御装置では、本来(正常であれば)通知を発行すべき制御装置が異常状態となった旨を認識することができる。
なお、図11のステップS104の処理にて、自身以外の全ての制御装置の状態を認識する場合、異常状態の制御装置からの通知を待っている制御装置でなくとも、異常状態の制御装置が発生した旨、並びに、異常状態の制御装置がどの制御装置であるのかを認識することができる。
〔第2の実施形態〕
第2の実施形態では、ループを構成する制御装置を増減することが可能な例について説明する。
図12は、ループを構成する制御装置を増減させる場合の動作を説明するためのマルチプロセッサシステム100を示すブロック図である。
例えば、第3の制御装置3の隣(第2の制御装置2とは反対側の隣)に、新たな制御装置nを追加する場合、第3の制御装置3を休止させ、該第3の制御装置3を一旦監視対象から外した後、新たに制御装置nを追加し、その後、第3の制御装置3を復旧させる(正常稼働状態とさせる)。
なお、共有記憶領域4の各制御装置状態領域及び並びテーブル18には、新たに追加される制御装置用の記憶領域が確保されており、追加された制御装置が初期化を行うことにより、その両隣の制御装置は該追加された制御装置を隣の制御装置であると認識する。
ここで、新たな制御装置を追加する処理は、例えば、マルチプロセッサシステム100全体の電源(ループを構成する全制御装置の電源)を遮断してから行うようにしても良いが、例えば、追加される制御装置からの割り込み信号で、初期化が開始されるようにすることにより、電源を遮断することなく、制御装置の追加を行うことができる。
他方、制御装置nをループから外す場合、制御装置nを停止させ、該制御装置nを一旦監視対象から外した後、該制御装置nをループから外す。
第2の実施形態によれば、マルチプロセッサシステム100の規模の最適化を図ることができる。
〔第3の実施形態〕
第3の実施形態では、第1乃至第3制御装置状態記憶領域15〜17が、図13に示すように、制御装置シリアル番号記憶領域19と、稼働状態/省電力状態識別フラグ記憶領域20に加えて、カウント情報記憶領域31を備えている例について説明する。
第3の実施形態の場合、各制御装置1〜3は、図11のステップS103の処理(自身の状態領域更新)を行う度に、自身の状態記憶領域15〜17のカウント情報記憶領域31の値を「1」ずつインクリメントする。
これにより、各制御装置1〜3は、図11のステップS104(両隣の状態確認)にて両隣の制御装置の状態記憶領域15〜17のカウント情報記憶領域31の値を確認することによって、カウント情報記憶領域31の値が前回確認時と変化していない制御装置を異常状態であると認識することができる。
よって、各制御装置1〜3は、隣の制御装置が異常状態となった場合に、該異常状態となった制御装置の稼働状態/省電力状態識別フラグ記憶領域20の記憶内容が、正常稼働状態である旨を示していたとしても、該異常状態となった制御装置が異常状態であると認識することができる。
また、この場合にも、図11のステップS104にて、両隣の制御装置に限らず、自身以外の全ての制御装置の状態を確認するようにすることも好ましく、このようにすることにより、異常状態となった制御装置の隣の制御装置でなくとも、異常状態の制御装置が発生した旨、並びに、異常状態の制御装置がどの制御装置であるのかを認識することができる。
なお、カウント情報記憶領域31の値には、上限を設けても良く、例えば、上限値となった後、更にカウント動作がなされる場合には、再び値が「0」に戻るようにしても良い。
上記の各実施形態で説明したマルチプロセッサシステム100は、例えば、携帯電話機或いはその他の携帯情報端末装置や、パーソナルコンピュータなど、複数の制御装置(例えば、CPU)を備える装置が備えるものとすることができる。
また、上記の第1の実施形態では、制御装置が3つの例を説明したが、制御装置が2つ或いは4つ以上であっても、各制御装置の動作は同様である。
第1の実施形態に係るシステムを示すブロック図である。 共有記憶領域の記憶内容を示す図である。 各制御装置状態記憶領域の記憶内容を示す図である。 制御装置並びテーブルの記憶内容を示す図である。 図1のシステムにおける初期化処理の前半部分を示すフローチャートである。 図1のシステムにおける初期化処理の後半部分を示すフローチャートである。 図1のシステムにおける監視動作(各制御装置が正常稼働状態の場合)を示すフローチャートである。 図1のシステムにおける1つの制御装置が正常稼働状態から省電力状態へ遷移する場合の監視動作を示すフローチャートである。 図1のシステムにおいて、省電力状態だった制御装置が正常稼動状態へ遷移するときの動作を示すフローチャートである。 図1のシステムにおける1つの制御装置に異常が発生した場合の監視動作を示すフローチャートである。 各制御装置が行う基本的な処理を示すフローチャートである。 第2の実施形態に係るシステムを示すブロック図である。 第3の実施形態の場合の制御装置状態記憶領域の記憶内容を示す図である。
符号の説明
1 第1の制御装置(プロセッサ)
2 第2の制御装置(プロセッサ)
3 第3の制御装置(プロセッサ)
4 共有記憶領域(共有メモリ)
11 タイマ
12 タイマ
13 タイマ
15 第1制御装置状態領域(状態書込領域)
16 第2制御装置状態領域(状態書込領域)
17 第3制御装置状態領域(状態書込領域)
21 通知手段
22 通知手段
23 通知手段
100 マルチプロセッサシステム
n 制御装置(プロセッサ)

Claims (20)

  1. 複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、
    前記複数個のプロセッサは、ループ状に直列に接続され、
    前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、
    各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    各プロセッサは、
    前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、
    各プロセッサは、
    自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、
    更に、各プロセッサは、
    両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、
    両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の処理を行うことを特徴とするマルチプロセッサシステム。
  2. 複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、
    前記複数個のプロセッサは、ループ状に直列に接続され、
    前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、
    各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    各プロセッサは、
    前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、
    更に、各プロセッサは、
    両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように予め設定され、
    自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の処理を行うことを特徴とするマルチプロセッサシステム。
  3. 各プロセッサは、隣のプロセッサが異常状態である旨を認識した場合には、両隣のプロセッサのうち、該異常と認識したプロセッサとは反対側のプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始することを特徴とする請求項1又は2に記載のマルチプロセッサシステム。
  4. 各プロセッサは、前記第3の処理の結果に基づき、両隣のプロセッサの何れもが正常稼働状態でないと判定した場合には、前記第2の処理以降の動作を行うことを特徴とする請求項1乃至3の何れか一項に記載のマルチプロセッサシステム。
  5. 前記共有メモリは、前記ループにおいての各プロセッサの並び順を示す情報を格納する並び情報格納領域を備え、
    各プロセッサは、前記並び情報格納領域を参照することにより、両隣のプロセッサを認識することを特徴とする請求項1乃至4の何れか一項に記載のマルチプロセッサシステム。
  6. 当該マルチプロセッサシステムの初期化動作には、各プロセッサが、前記並び情報格納領域を参照することにより、両隣のプロセッサを認識する処理が含まれていることを特徴とする請求項5に記載のマルチプロセッサシステム。
  7. 前記初期化動作には、各プロセッサが、前記状態書込領域に自身の状態を書き込む動作と、前記並び情報格納領域に自身の並び順を示す情報を格納する動作と、が含まれていることを特徴とする請求項6に記載のマルチプロセッサシステム。
  8. 前記状態書込領域は、各プロセッサが自身の識別情報を自身の状態情報と対応付けて書き込むのに使用する領域を備えていることを特徴とする請求項1乃至7の何れか一項に記載のマルチプロセッサシステム。
  9. 各プロセッサは、隣のプロセッサを前記非正常稼働状態から前記正常稼働状態に遷移させるために、該隣のプロセッサに対して自身の通知手段による通知を発行することが可能であることを特徴とする請求項1に記載のマルチプロセッサシステム。
  10. 各プロセッサは、自身からの通知を待っている隣のプロセッサを前記非正常稼働状態から前記正常稼働状態に遷移させるために、該隣のプロセッサに対して自身の通知手段による通知を発行することが可能であることを特徴とする請求項1に記載のマルチプロセッサシステム。
  11. 請求項1乃至10に記載のマルチプロセッサシステムを備えることを特徴とする電子機器。
  12. 当該電子機器は、携帯情報端末装置であることを特徴とする請求項11に記載の電子機器。
  13. 当該電子機器は、携帯電話機であることを特徴とする請求項12に記載の電子機器。
  14. 当該電子機器は、パーソナルコンピュータであることを特徴とする請求項11に記載の電子機器。
  15. ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサを監視する方法であって、
    前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、
    各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    当該監視方法は、
    前記通知を受けたプロセッサが自身のタイマを停止させる第1の工程と、
    前記第1の工程を行うプロセッサが、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の工程と、
    前記第2の工程を行うプロセッサが、前記状態書込領域を参照する第3の工程と、
    前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の工程を行う一方で、
    前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の工程を行い、
    更に、当該監視方法は、
    正常稼働状態から前記非正常稼働状態へと遷移するプロセッサが、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の工程と、
    前記第6の工程を行うプロセッサが、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の工程と、
    両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けたプロセッサが、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の工程と、
    両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了したプロセッサが、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第9の工程と、
    を備えることを特徴とするマルチプロセッサシステムにおける監視方法。
  16. ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備えるマルチプロセッサシステムにおいて、前記複数個のプロセッサを監視する方法であって、
    前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備え、
    各プロセッサは、全プロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    当該監視方法は、
    前記通知を受けたプロセッサが自身のタイマを停止させる第1の工程と、
    前記第1の工程を行うプロセッサが、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の工程と、
    前記第2の工程を行うプロセッサが、前記状態書込領域を参照する第3の工程と、
    前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の工程を行う一方で、
    前記第3の工程を行うプロセッサが、該第3の工程の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の工程を行い、
    更に、当該監視方法は、
    各プロセッサに対して、両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように設定する第6の工程と、
    正常稼働状態から前記非正常稼働状態へと遷移するプロセッサが、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第7の工程と、
    前記第7の工程を行うプロセッサが、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第8の工程と、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けたプロセッサが、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第9の工程と、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了したプロセッサが、該複数個のプロセッサのうち、いずれか1以上が障害の発生により異常状態である旨を認識する第10の工程と、
    を備えることを特徴とするマルチプロセッサシステムにおける監視方法。
  17. ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備え、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備えるマルチプロセッサシステムにおけるプロセッサであって、
    前記マルチプロセッサシステムを構成する全てのプロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、
    自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が前回通知を発行した方とは反対側のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、
    更に、
    両隣のプロセッサのうち、自身が前回通知を発行した方のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、
    両隣のプロセッサのうち、自身が前回通知を発行した方とは反対側のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生によりが異常状態である旨を認識する第9の処理を行うことを特徴とするプロセッサ。
  18. ループ状に直列に接続された複数個のプロセッサと、前記複数個のプロセッサに共通に使用される共有メモリと、を備え、前記共有メモリは、各プロセッサが自身の状態を示す状態情報を書き込むのに使用する状態書込領域を備えるマルチプロセッサシステムにおけるプロセッサであって、
    前記マルチプロセッサシステムを構成する全てのプロセッサにより構成されるループにおける両隣のプロセッサに対し通知を発行する通知手段と、タイマと、を備え、
    前記通知を受けた際には、自身のタイマを停止させる第1の処理と、前記状態書込領域に対して自身の状態が正常稼働状態である旨を書き込む第2の処理と、前記状態書込領域を参照する第3の処理と、を行い、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサが正常稼働状態であると判定した場合には、該プロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第4の処理を行う一方で、
    前記第3の処理の結果に基づき、受けた通知を発行したのとは反対側のプロセッサは、省電力状態又は休止状態である非正常稼働状態であり、且つ、受けた通知を発行したプロセッサは正常稼働状態であると判定した場合には、該受けた通知を発行したプロセッサに対して自身の通知手段による通知を発行するとともに自身のタイマによる計時動作を開始する第5の処理を行い、
    更に、
    両隣のプロセッサのうち何れか一方のプロセッサからの通知を待つように予め設定され、
    自身が正常稼働状態から前記非正常稼働状態へと遷移する際には、前記状態書込領域に対して自身の状態が前記非正常稼働状態である旨を書き込む第6の処理と、両隣のプロセッサのうち自身が通知を待っている方のプロセッサに対して自身の通知手段による通知を発行する第7の処理と、を行い、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサとは反対側のプロセッサからの通知を受けた場合には、自身以外の何れかのプロセッサが前記非正常稼働状態である旨を認識する第8の処理を行う一方で、
    両隣のプロセッサのうち、自身が通知を待っている方のプロセッサからの通知を受ける以前に自身のタイマによる計時動作が満了した場合には、該複数個のプロセッサのうち、いずれか1以上が障害の発生によりが異常状態である旨を認識する第9の処理を行うことを特徴とするプロセッサ。
  19. コンピュータが実行可能なプログラムにおいて、
    請求項17又は18に記載のプロセッサによる前記第1乃至第9の処理を実行することを特徴とするプログラム。
  20. コンピュータ読み取り可能な記録媒体において、請求項19に記載のプログラムを格納したことを特徴とする記録媒体。
JP2004344220A 2004-11-29 2004-11-29 マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ Expired - Fee Related JP4595512B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004344220A JP4595512B2 (ja) 2004-11-29 2004-11-29 マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004344220A JP4595512B2 (ja) 2004-11-29 2004-11-29 マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ

Publications (2)

Publication Number Publication Date
JP2006155193A JP2006155193A (ja) 2006-06-15
JP4595512B2 true JP4595512B2 (ja) 2010-12-08

Family

ID=36633422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004344220A Expired - Fee Related JP4595512B2 (ja) 2004-11-29 2004-11-29 マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ

Country Status (1)

Country Link
JP (1) JP4595512B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4829821B2 (ja) * 2007-03-19 2011-12-07 富士通株式会社 マルチプロセッサシステムおよびマルチプロセッサシステムにおける復旧方法
JP4806382B2 (ja) * 2007-09-19 2011-11-02 富士通株式会社 冗長化システム
JP5471334B2 (ja) * 2009-11-16 2014-04-16 富士通株式会社 マルチプロセッサシステム及びその障害検出方法
JP5477078B2 (ja) * 2010-03-15 2014-04-23 日本電気株式会社 端末装置、cpuログ蓄積方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217666A (ja) * 1988-02-26 1989-08-31 Nec Corp マルチプロセッサシステムの障害検出方式
JPH0259955A (ja) * 1988-08-26 1990-02-28 Fuji Electric Co Ltd マルチプロセッサシステムにおける動作監視方法
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
JPH07262042A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd プロセッサ障害検出方法
JPH10283225A (ja) * 1997-04-01 1998-10-23 Fujitsu Ltd 情報収集方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01217666A (ja) * 1988-02-26 1989-08-31 Nec Corp マルチプロセッサシステムの障害検出方式
JPH0259955A (ja) * 1988-08-26 1990-02-28 Fuji Electric Co Ltd マルチプロセッサシステムにおける動作監視方法
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
JPH07262042A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd プロセッサ障害検出方法
JPH10283225A (ja) * 1997-04-01 1998-10-23 Fujitsu Ltd 情報収集方式

Also Published As

Publication number Publication date
JP2006155193A (ja) 2006-06-15

Similar Documents

Publication Publication Date Title
JP5995571B2 (ja) 情報処理装置及びその制御方法
JP5359742B2 (ja) 省電力制御装置、画像形成装置、及びプログラム
JP2001109729A (ja) マルチプロセッサシステムにおける消費電力制御装置および方法
JP2006229509A (ja) 情報機器および装置再起動方法
JP4595512B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ
CN109905561B (zh) 信息处理装置及信息处理装置的控制方法
JP2004288087A (ja) 情報処理装置
JP5508354B2 (ja) モジュール、周波数制御方法、及び周波数制御プログラム
CN112948297B (zh) 屏幕控制方法、装置、双屏终端设备和存储介质
JP2006011686A (ja) マルチタスクシステムの異常検知方法
JP6623901B2 (ja) リブートシステムおよびリブート方法
JP4322606B2 (ja) ウォッチドッグタイマ
JP2009290528A (ja) 操作表示装置及び画像形成装置
JP3536293B2 (ja) 二重化コンピュータ装置
JP5145910B2 (ja) 情報処理装置及び情報処理方法
US20220334548A1 (en) Control device and control method
WO2022257210A1 (zh) 一种多核处理器的内存巡检方法及系统
JP4983806B2 (ja) 二重化タイマを用いたシステム監視装置、および監視方法
JP2000347758A (ja) 情報処理装置
JP2007148684A (ja) メモリチェック装置、携帯端末、携帯電話機およびそのメモリチェック方法
JPH03252818A (ja) ダウンロード制御方式
JP2021077068A (ja) 情報処理装置及び情報処理方法
JP3501420B2 (ja) 制御システム及びこの制御方法
CN116662092A (zh) 一种内存数据测试方法、装置、存储介质及电子设备
JP2012064142A (ja) 画像処理装置および画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071010

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100409

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100609

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: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees