JP7157709B2 - 計算機システム及びプログラム実行方法 - Google Patents
計算機システム及びプログラム実行方法 Download PDFInfo
- Publication number
- JP7157709B2 JP7157709B2 JP2019125471A JP2019125471A JP7157709B2 JP 7157709 B2 JP7157709 B2 JP 7157709B2 JP 2019125471 A JP2019125471 A JP 2019125471A JP 2019125471 A JP2019125471 A JP 2019125471A JP 7157709 B2 JP7157709 B2 JP 7157709B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- program
- task
- execution
- core processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Description
そして、同期コア処理部は、他の計算機が備える同期コア処理部と同期した同期タイミングで、他の計算機が実行するプログラムと同じプログラムを実行単位ごとに実行し、プログラムの特性に応じて移住が要請される実行中のプログラムを準同期コア処理部に移住させ、準同期コア処理部は、同期コア処理部から移住したプログラムを実行した後、同期コア処理部にプログラムを移住させ、同期コア処理部は、準同期コア処理部から移住したプログラムを同期タイミングで実行して得た実行結果を比較機に出力する。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
以下、本発明の一実施の形態に係るタスク同期処理の例について図1と図2を参照して説明する。
図1は、本発明の一実施の形態に係る計算機システム10のシステム構成図である。
計算機システム10は、計算機X201と、計算機Y211と、計算機Z221と、計算機T231と、出力比較機251とがネットワーク240に接続され、出力比較機251と外部装置とがネットワーク260で接続される構成をとる。
一方、出力比較機251は、外部のネットワーク260から受信したデータを各計算機にブロードキャスト送信する。そして、各計算機の同一タスクが同一データを受信した後、受信したデータの処理を行う。
図2は、本発明の一実施の形態に係るタスク同期処理のために各計算機で稼働するオペレーティングシステム(OS)の構成例と、タスク実行方法の例を示すタイムチャートである。本明細書では、オペレーティングシステムをOSと略記して説明する。
始めに、OS100の構成例について説明する。
計算機X201は、OS100によって管理されるタスク(所定の実行単位の一例)ごとにプログラムを切り替えて、複数のプログラムを並列に実行可能な同期コア処理部101及び準同期コア処理部108を備える。
ここで、OS100の同期コア処理部101が備えるキュー及び各処理部の詳細な動作例について説明する。
次実行タスク選択処理部103(第1選択処理部の一例)は、実行タスクキュー102で実行可能状態となったタスクのうち、計算機X201,211で同一順序かつ最も早く実行可能待ちとなったタスクを選択する。
次に、準同期コア処理部108が備えるキュー及び各処理部の詳細な動作例について説明する。
タスク起床処理部111(第2プログラム実行部の一例)は、次実行タスク選択処理部110が選択したタスクを起床し、実行する。
次に、OS120の構成例について説明する。
計算機Y211は、計算機X201と同様に、OS120によって管理されるタスク(所定の実行単位の一例)ごとにプログラムを切り替えて、複数のプログラムを並列に実行可能な同期コア処理部121及び準同期コア処理部128を備える。
ここで、OS120の同期コア処理部121が備えるキュー及び各処理部の詳細な動作例について説明する。
次実行タスク選択処理部123(第1選択処理部の一例)は、実行タスクキュー122で実行可能状態となったタスクのうち、計算機X201,211で同一順序かつ最も早く実行可能待ちとなったタスクを選択する。
次に、準同期コア処理部128が備えるキュー及び各処理部の詳細な動作例について説明する。
タスク起床処理部131は、次実行タスク選択処理部130が選択したタスクを起床し、実行する。
タスク同期181は、計算機X201と計算機Y211がタスクBを次の実行タスクとして待合わせ完了したことを表す。
タスク同期182は、計算機X201と計算機Y211がタスクCを次の実行タスクとして待合わせ完了したことを表す。
タスク同期184は、計算機X201と計算機Y211がタスクBを次の実行タスクとして待合わせ完了したことを表す。
タスク同期185は、計算機X201と計算機Y211がタスクEを次の実行タスクとして待合わせ完了したことを表す。
計算機X201の準同期コアイベントT2X171は、計算機X201でタスクBが決定性処理を終了し、準同期コア処理部108から同期コア処理部101へのタスクBの移住要請を実施したタイミングを示す。
計算機X201の準同期コアイベントT3X172は、計算機X201でタスクBが準同期コア処理部108から同期コア処理部101に移住したタスクBの非決定性処理を、同期コア処理部101が開始したタイミングを示す。
コア移住要請161は、計算機X201の同期コア処理部101が実行中のタスクBから任意のタイミングで実施されるコア移住要請を示す。このコア移住要請により、タスクBが同期コア処理部101から準同期コア処理部108に移住される。なお、同期コア処理部101で実行されたタスクBの出力結果が、準同期コア処理部108に移住されたタスクBに入力されるのではない。
コア移住要請160は、計算機X201の準同期コア処理部108が実行中のタスクBから任意のタイミングで実施されるコア移住要請を示す。このコア移住要請により、タスクBが準同期コア処理部108から同期コア処理部101に移住される。
計算機Y211の準同期コアイベントT2Y174は、計算機Y211でタスクBが決定性処理を終了し、準同期コア処理部128から同期コア処理部121へのタスクBの移住要請を実施したタイミングを示す。
計算機Y211の準同期コアイベントT3Y175は、計算機Y211でタスクBが準同期コア処理部128から同期コア処理部121に移住したタスクBの非決定性処理を、同期コア処理部121が開始したタイミングを示す。
コア移住要請162は、計算機Y211の同期コア処理部121が実行中のタスクBから任意のタイミングで実施したコア移住要請を示す。このコア移住要請により、同期コア処理部121から準同期コア処理部128にタスクBが移住される。
コア移住要請163は、計算機Y211の準同期コア処理部128が実行中のタスクBから任意のタイミングで実施したコア移住要請を示す。このコア移住要請により、タスクBが準同期コア処理部128から同期コア処理部121に移住される。
計算機Y211の準同期コア処理部128では、準同期コアイベントT1Y173のタイミングで、タスクIの実行が終了すると、次実行タスク選択処理部130が実行タスクキュー129からタスクBを選択し、タスク起床処理部131がタスクBの実行を開始する。
例えば、上述した実施の形態は本発明を分かりやすく説明するためにシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、本実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
Claims (7)
- オペレーティングシステムによって動作が管理される同期コア処理部及び準同期コア処理部を有し、前記同期コア処理部及び前記準同期コア処理部は、所定の実行単位ごとにプログラムを切り替えて、複数の前記プログラムを並列に実行可能である計算機と、
ネットワークで接続される複数の前記計算機で実行された前記プログラムの実行結果を比較して比較結果を出力する比較機と、を備え、
前記計算機が実行する前記プログラムの実行タイミングを他の前記計算機で実行される前記プログラムの実行タイミングと同期させるための同期用データを、前記ネットワークを介して規定の時間範囲で他の前記計算機と交換する計算機システムであって、
前記同期コア処理部は、他の前記計算機が備える同期コア処理部と同期した同期タイミングで、他の前記計算機が実行するプログラムと同じ前記プログラムを前記実行単位ごとに実行し、前記プログラムの特性に応じて移住が要請される実行中の前記プログラムを前記準同期コア処理部に移住させ、
前記準同期コア処理部は、前記同期コア処理部から移住した前記プログラムを実行した後、前記同期コア処理部に前記プログラムを移住させ、
前記同期コア処理部は、前記準同期コア処理部から移住した前記プログラムを前記同期タイミングで実行して得た前記実行結果を前記比較機に出力する
計算機システム。 - 前記同期コア処理部が前記同期タイミングで実行する前記プログラムは、他の前記計算機と同期して実行されなければ入力される値が同一であっても出力結果が同一とならず、他の前記計算機と同期して実行され、かつ入力される値が同一であれば出力結果が同一となる非決定性処理を特性とし、
前記同期コア処理部から前記準同期コア処理部に移住される前記プログラムは、入力される値が同一であれば出力結果が同一となる決定性処理を特性とする
請求項1に記載の計算機システム。 - 前記同期コア処理部は、
前記実行単位ごとに前記プログラムをキューに接続して管理する第1プログラム管理部と、
前記第1プログラム管理部で実行可能状態となった前記プログラムのうち、複数の前記計算機で同一順序かつ最も早く実行可能待ちとなった前記プログラムを選択する第1選択処理部と、
第1選択処理部が選択した前記プログラムを前記同期タイミングで実行する第1プログラム実行部と、
前記第1プログラム実行部が実行中の前記プログラムから移住要請を受付ける第1移住要請受付部と、
前記移住要請を受付けた前記プログラムを、前記準同期コア処理部に移住させる第1移住処理部と、
他の前記計算機が備える前記同期コア処理部との間で、前記第1選択処理部により選択された前記プログラムの次に実行可能状態となる前記プログラムの実行開始を待合わせる待合わせ処理部と、を備える
請求項2に記載の計算機システム。 - 前記第1選択処理部は、前記第1プログラム管理部に接続される実行待ち状態の前記プログラムを、前記同期コア処理部が生成し、又は実行中断した後、前記第1プログラム管理部に接続される前記プログラムと、前記準同期コア処理部から移住される前記プログラムとに分類して選択し、
前記待合わせ処理部は、前記準同期コア処理部から移住される前記プログラムの実行開始を待合わせる時間範囲を、前記同期コア処理部が生成し、又は実行中断した後、前記第1プログラム管理部に接続される前記プログラムの実行開始を待合わせる時間範囲よりも長くする
請求項3に記載の計算機システム。 - 前記準同期コア処理部は、
前記実行単位ごとに前記プログラムをキューに接続して管理する第2プログラム管理部と、
前記第2プログラム管理部で実行可能状態となった前記プログラムのうち、最も早く実行可能待ちとなった前記プログラムを選択する第2選択処理部と、
第2選択処理部が選択した前記プログラムを実行する第2プログラム実行部と、
前記第2プログラム実行部が実行中の前記プログラムから移住要請を受付ける第2移住要請受付部と、
前記移住要請を受付けた前記プログラムを、前記同期コア処理部に移住させる第2移住処理部と、を備え、
前記第1移住処理部は、移住要請を行った前記プログラムが指定した任意の移住先に、前記第1移住要請受付部が受付けた前記プログラムを移住させ、
前記第2移住処理部は、前記プログラムの移住元に前記プログラムを移住させる
請求項3又は4に記載の計算機システム。 - 前記第1移住要請受付部は、前記プログラムの実行中の任意のタイミングで、前記プログラムから前記移住要請を受け付け、
前記第1移住処理部は、移住要請を行った前記プログラムが指定した任意の移住先にある前記第2プログラム管理部に、前記第1移住要請受付部が受付けた前記プログラムを移住させて接続する
請求項5に記載の計算機システム。 - オペレーティングシステムによって動作が管理される同期コア処理部及び準同期コア処理部を有し、前記同期コア処理部及び前記準同期コア処理部は、所定の実行単位ごとにプログラムを切り替えて、複数の前記プログラムを並列に実行可能である計算機と、
ネットワークで接続される複数の前記計算機で実行された前記プログラムの実行結果を比較して比較結果を出力する比較機と、を備え、
前記計算機が実行する前記プログラムの実行タイミングを他の前記計算機で実行される前記プログラムの実行タイミングと同期させるための同期用データを、前記ネットワークを介して規定の時間範囲で他の前記計算機と交換する計算機システムで行われるプログラム実行方法であって、
前記同期コア処理部は、他の前記計算機が備える同期コア処理部と同期した同期タイミングで、他の前記計算機が実行するプログラムと同じ前記プログラムを前記実行単位ごとに実行し、前記プログラムの特性に応じて移住が要請される実行中の前記プログラムを前記準同期コア処理部に移住させる処理と、
前記準同期コア処理部は、前記同期コア処理部から移住した前記プログラムを実行した後、前記同期コア処理部に前記プログラムを移住させる処理と、
前記同期コア処理部は、前記準同期コア処理部から移住した前記プログラムを前記同期タイミングで実行して得た実行結果を前記比較機に出力する処理と、を含む
プログラム実行方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019125471A JP7157709B2 (ja) | 2019-07-04 | 2019-07-04 | 計算機システム及びプログラム実行方法 |
PCT/JP2020/009409 WO2021002054A1 (ja) | 2019-07-04 | 2020-03-05 | 計算機システム及びプログラム実行方法 |
US17/618,016 US20220261298A1 (en) | 2019-07-04 | 2020-03-05 | Computer system and program execution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019125471A JP7157709B2 (ja) | 2019-07-04 | 2019-07-04 | 計算機システム及びプログラム実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021012481A JP2021012481A (ja) | 2021-02-04 |
JP7157709B2 true JP7157709B2 (ja) | 2022-10-20 |
Family
ID=74100833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019125471A Active JP7157709B2 (ja) | 2019-07-04 | 2019-07-04 | 計算機システム及びプログラム実行方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220261298A1 (ja) |
JP (1) | JP7157709B2 (ja) |
WO (1) | WO2021002054A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004046356A (ja) | 2002-07-09 | 2004-02-12 | Fujitsu Ltd | 高信頼性クラスタシステムおよびそれを実現するプログラム |
JP2012194615A (ja) | 2011-03-15 | 2012-10-11 | Mitsubishi Electric Corp | プロセス間同期方法 |
JP2016031651A (ja) | 2014-07-29 | 2016-03-07 | 富士通株式会社 | 情報処理システム及び方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117793A1 (en) * | 2002-12-17 | 2004-06-17 | Sun Microsystems, Inc. | Operating system architecture employing synchronous tasks |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US20060026214A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | Switching from synchronous to asynchronous processing |
DE102005037213A1 (de) * | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal |
JP2008518339A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの実施ユニットを有する計算機において切り替える装置および方法 |
DE102005037217A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
WO2011118012A1 (ja) * | 2010-03-25 | 2011-09-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
US9436512B2 (en) * | 2011-12-22 | 2016-09-06 | Board Of Supervisors Of Louisana State University And Agricultural And Mechanical College | Energy efficient job scheduling in heterogeneous chip multiprocessors based on dynamic program behavior using prim model |
WO2013171796A1 (en) * | 2012-05-17 | 2013-11-21 | Hitachi, Ltd. | Storage apparatus and method of controlling storage apparatus |
US10466985B2 (en) * | 2016-08-23 | 2019-11-05 | Google Llc | Hybrid deoptimization mechanism for class hierarchy analysis |
JP7042709B2 (ja) * | 2018-06-28 | 2022-03-28 | ルネサスエレクトロニクス株式会社 | 半導体装置、制御システムおよび半導体装置の制御方法 |
-
2019
- 2019-07-04 JP JP2019125471A patent/JP7157709B2/ja active Active
-
2020
- 2020-03-05 US US17/618,016 patent/US20220261298A1/en active Pending
- 2020-03-05 WO PCT/JP2020/009409 patent/WO2021002054A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004046356A (ja) | 2002-07-09 | 2004-02-12 | Fujitsu Ltd | 高信頼性クラスタシステムおよびそれを実現するプログラム |
JP2012194615A (ja) | 2011-03-15 | 2012-10-11 | Mitsubishi Electric Corp | プロセス間同期方法 |
JP2016031651A (ja) | 2014-07-29 | 2016-03-07 | 富士通株式会社 | 情報処理システム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021002054A1 (ja) | 2021-01-07 |
JP2021012481A (ja) | 2021-02-04 |
US20220261298A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3270289B1 (en) | Container-based multi-tenant computing infrastructure | |
US10275851B1 (en) | Checkpointing for GPU-as-a-service in cloud computing environment | |
US10873623B2 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
US10628273B2 (en) | Node system, server apparatus, scaling control method, and program | |
JP5874879B2 (ja) | I/oデバイスの制御方法及び仮想計算機システム | |
JP3891936B2 (ja) | 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ | |
US8260840B1 (en) | Dynamic scaling of a cluster of computing nodes used for distributed execution of a program | |
US9389976B2 (en) | Distributed persistent memory using asynchronous streaming of log records | |
US11262933B2 (en) | Sharing memory resources between asynchronous replication workloads | |
JP2016526735A (ja) | 仮想ハドゥープマネジャ | |
WO2015097839A1 (ja) | 優先度割込み対応リアルタイムハイパバイザ | |
US9152491B2 (en) | Job continuation management apparatus, job continuation management method and job continuation management program | |
US20130311685A1 (en) | Computer system and control method thereof | |
JP2000222368A (ja) | リモ―ト・メソッド呼び出しシステムにおける複製サポ―トのための方法及びシステム | |
US10108463B2 (en) | System, method of controlling to execute a job, and apparatus | |
US9398094B2 (en) | Data transfer device | |
US20220027247A1 (en) | Maintenance operations based on analysis of collected data | |
JP7157709B2 (ja) | 計算機システム及びプログラム実行方法 | |
US11442959B2 (en) | System and method of time-based snapshot synchronization | |
Andreoli et al. | Priority-driven differentiated performance for nosql database-as-a-service | |
US10193767B1 (en) | Multiple available witnesses | |
JP6446315B2 (ja) | 多重化計算機の記憶領域一致化装置 | |
Tsai et al. | FVMM: Fast VM Migration for Virtualization-based Fault Tolerance Using Templates | |
US12026072B2 (en) | Metering framework for improving resource utilization for a disaster recovery environment | |
JP6547363B2 (ja) | 管理装置、管理装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220926 |
|
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: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7157709 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |