JP2014500564A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2014500564A5 JP2014500564A5 JP2013546344A JP2013546344A JP2014500564A5 JP 2014500564 A5 JP2014500564 A5 JP 2014500564A5 JP 2013546344 A JP2013546344 A JP 2013546344A JP 2013546344 A JP2013546344 A JP 2013546344A JP 2014500564 A5 JP2014500564 A5 JP 2014500564A5
- Authority
- JP
- Japan
- Prior art keywords
- function
- computer readable
- microprocessor
- checkpoint
- readable instruction
- 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.)
- Granted
Links
Claims (18)
- 1つまたは複数の動作を実行するようにマイクロプロセッサを制御するように構成された第1のコンピュータ読取可能命令を受け取るステップと、
マイクロプロセッサを使用して、前記第1のコンピュータ読取可能命令に基づいて第2のコンピュータ読取可能命令を生成するステップであって、前記第2のコンピュータ読取可能命令は、
関数を呼び出すステップと、
前記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
前記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の最初でも最後でもない、前記関数内のポイントである、ステップと
によって、前記1つまたは複数の動作を実行し、前記チェックポイントから前記関数の実行を再開するように構成される、前記生成するステップと
を含み、
前記第2のコンピュータ読取可能命令を生成するステップは、チェックポイントから前記関数の実行を再開するように構成される追加の命令を前記第1のコンピュータ読取可能命令に追加するステップを含むことを特徴とする方法。 - 前記第1のコンピュータ読取可能命令を含むソースコードを、前記第2のコンピュータ読取可能命令を含むオブジェクトコードにコンパイルするコンパイラによって実行されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令は、前記関数を含むプログラムのプログラムスタックを追跡するようにさらに構成されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令は、前記第2のコンピュータ読取可能命令を実行するデバイス上で実行されるオペレーティングシステムから独立した方法でチェックポイントから関数の実行を再開するように構成される請求項1に記載の方法。
- 実行されると、
1つまたは複数の動作を実行するようにマイクロプロセッサを制御するように構成された第1のコンピュータ読取可能命令を受け取るステップと、
マイクロプロセッサを使用して、前記第1のコンピュータ読取可能命令に基づいて第2のコンピュータ読取可能命令を生成するステップであって、前記第2のコンピュータ読取可能命令は、
関数を呼び出すステップと、
前記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
前記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の修正がなければ前記関数の最初でも最後でもない、前記関数内のポイントである、ステップと
によって、前記1つまたは複数の動作を実行し、前記関数を含むプログラムのプログラムスタックを追跡し、前記チェックポイントから前記関数の実行を再開するように構成される、前記生成するステップと
を含む方法を実行するプログラム。 - 前記方法は、前記第1のコンピュータ読取可能命令を含むソースコードを、前記第2のコンピュータ読取可能命令を含むオブジェクトコードにコンパイルするコンパイラによって実行される請求項6に記載のプログラム。
- 前記第2のコンピュータ読取可能命令を生成するステップは、チェックポイントから前記関数の実行を再開するように構成される追加の命令を前記第1のコンピュータ読取可能命令に追加するステップを含み、前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成される請求項6に記載のプログラム。
- 前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成される請求項6に記載のプログラム。
- 前記第2のコンピュータ読取可能命令は、前記第2のコンピュータ読取可能命令を実行するデバイス上で実行されるオペレーティングシステムから独立した方法でチェックポイントから関数の実行を再開するように構成される請求項6に記載のプログラム。
- 関数を呼び出すステップと、
前記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
前記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の最初でも最後でもない、前記関数内のポイントである、ステップと、
前記関数によって使用されるデータを保存するステップと、
前記関数を含むプログラムのプログラムスタックを追跡するステップと
によって前記チェックポイントから前記関数の実行を再開するように構成されたコンピュータ読取可能命令を格納したコンピュータ読取可能記憶媒体であって、前記コンピュータ読取可能命令は前記コンピュータ読取可能命令の以前のバージョンに基づく、コンピュータ読取可能記憶媒体と、
前記コンピュータ読取可能命令を実行するように構成された少なくとも1つのマイクロプロセッサと
を備えたことを特徴とするシステム。 - 前記少なくとも1つのマイクロプロセッサは、第1のマイクロプロセッサおよび第2のマイクロプロセッサを含むことを特徴とする請求項11に記載のシステム。
- 前記第1のマイクロプロセッサは前記関数を実行し、前記第1のマイクロプロセッサを使用する前記関数の実行が中断されると、前記関数の実行は、前記第2のマイクロプロセッサを使用して前記チェックポイントから継続されることを特徴とする請求項11に記載のシステム。
- 前記第1のマイクロプロセッサを含む第1のデバイスと、
前記第2のマイクロプロセッサを含む第2のデバイスと
を含むことを特徴とする請求項13に記載のシステム。 - 前記第1のデバイスは、第1のオペレーティングシステムを実行し、前記第2のデバイスは、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムを実行することを特徴とする請求項14に記載のシステム。
- 前記チェックポイントにおいて前記データを保存するかどうかを判断するためのコンピュータ読取可能命令をさらに含む請求項11に記載のシステム。
- 前記コンピュータ読取可能命令の一部は、前記関数によって使用される前記データを保存するためのデータ構造を定義する請求項11に記載のシステム。
- 前記コンピュータ読取可能命令の一部は、1つまたは複数の関数の呼び出しが1つまたは複数の他の関数に対してなされる前記関数内の位置を示す請求項11に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/972,792 US9740562B2 (en) | 2010-12-20 | 2010-12-20 | Method for checkpointing and restoring program state |
US12/972,792 | 2010-12-20 | ||
PCT/US2011/066280 WO2012088171A2 (en) | 2010-12-20 | 2011-12-20 | Method for checkpointing and restoring program state |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014500564A JP2014500564A (ja) | 2014-01-09 |
JP2014500564A5 true JP2014500564A5 (ja) | 2014-12-25 |
JP6027020B2 JP6027020B2 (ja) | 2016-11-16 |
Family
ID=46236230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013546344A Active JP6027020B2 (ja) | 2010-12-20 | 2011-12-20 | プログラム状態のチェックポイントおよび復元の方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9740562B2 (ja) |
EP (1) | EP2656217A4 (ja) |
JP (1) | JP6027020B2 (ja) |
KR (1) | KR101903805B1 (ja) |
CN (1) | CN102736948B (ja) |
CA (1) | CA2821522A1 (ja) |
HK (1) | HK1175005A1 (ja) |
WO (1) | WO2012088171A2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9384019B2 (en) * | 2014-03-25 | 2016-07-05 | International Business Machines Corporation | Dynamic code injection |
JP6691294B2 (ja) * | 2016-06-13 | 2020-04-28 | 富士通株式会社 | 情報処理装置、ダイナミックリンクプログラムおよびプログラム再開方法 |
CN108241543B (zh) * | 2016-12-30 | 2020-07-07 | 深圳壹账通智能科技有限公司 | 业务操作断点执行的方法、业务服务器及系统 |
US10782950B2 (en) * | 2018-05-01 | 2020-09-22 | Amazon Technologies, Inc. | Function portability for services hubs using a function checkpoint |
US10853178B1 (en) * | 2018-05-18 | 2020-12-01 | Amazon Technologies, Inc. | Code function checkpoint and restore |
EP3605374A1 (en) | 2018-08-03 | 2020-02-05 | Hewlett-Packard Development Company, L.P. | Intrusion resilient applications |
WO2020146011A1 (en) * | 2019-01-10 | 2020-07-16 | Mentor Graphics Corporation | Software checkpoint-restoration between distinctly compiled executables |
US11368470B2 (en) * | 2019-06-13 | 2022-06-21 | International Business Machines Corporation | Real-time alert reasoning and priority-based campaign discovery |
CN111198689B (zh) * | 2019-12-30 | 2023-04-28 | 北京明略软件系统有限公司 | 一种代码执行方法、装置及计算机可读存储介质 |
CN113778742A (zh) * | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 程序执行方法,程序处理方法以及相关设备 |
US11467850B2 (en) | 2020-11-11 | 2022-10-11 | Micron Technology, Inc. | Computing device reboot |
CN113127248B (zh) * | 2021-04-02 | 2022-08-09 | 清华大学 | 面向机器人ros程序的自动崩溃恢复方法和系统 |
US11899546B2 (en) | 2022-05-26 | 2024-02-13 | Red Hat, Inc. | Portability of checkpoints of an application using central processing unit (CPU)-specific functions |
KR102625338B1 (ko) * | 2023-03-06 | 2024-01-15 | 주식회사 모레 | 인공지능 연산과 연관된 호출 목록 병렬 처리 방법및 시스템 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044475A (en) | 1995-06-16 | 2000-03-28 | Lucent Technologies, Inc. | Checkpoint and restoration systems for execution control |
US6154877A (en) | 1997-07-03 | 2000-11-28 | The University Of Iowa Research Foundation | Method and apparatus for portable checkpointing using data structure metrics and conversion functions |
US6161219A (en) | 1997-07-03 | 2000-12-12 | The University Of Iowa Research Foundation | System and method for providing checkpointing with precompile directives and supporting software to produce checkpoints, independent of environment constraints |
US6631514B1 (en) * | 1998-01-06 | 2003-10-07 | Hewlett-Packard Development, L.P. | Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations |
US6256751B1 (en) | 1998-10-29 | 2001-07-03 | International Business Machines Corporation | Restoring checkpointed processes without restoring attributes of external data referenced by the processes |
US7814309B1 (en) * | 2000-02-29 | 2010-10-12 | Cisco Technology, Inc. | Method for checkpointing and reconstructing separated but interrelated data |
US7240334B1 (en) * | 2000-06-29 | 2007-07-03 | International Business Machines Corporation | Methods, systems, and computer program products for deferred computer program tracing |
US6708288B1 (en) * | 2000-10-31 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Compiler-based checkpointing for support of error recovery |
US6874138B1 (en) * | 2000-11-28 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Method and apparatus for resuming execution of a failed computer program |
US6766471B2 (en) | 2000-12-28 | 2004-07-20 | International Business Machines Corporation | User-level checkpoint and restart for groups of processes |
US6817014B2 (en) * | 2001-04-11 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Analysis of executable program code using compiler-generated function entry points and endpoints with other sources of function entry points and endpoints |
US20030088807A1 (en) * | 2001-11-07 | 2003-05-08 | Mathiske Bernd J.W. | Method and apparatus for facilitating checkpointing of an application through an interceptor library |
US7206964B2 (en) * | 2002-08-30 | 2007-04-17 | Availigent, Inc. | Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication |
US20040260678A1 (en) | 2003-06-18 | 2004-12-23 | Microsoft Corporation | State based configuration failure detection using checkpoint comparison |
EP1690163A4 (en) | 2003-11-17 | 2011-07-13 | Virginia Tech Intell Prop | TRANSPARENT CREATION OF CONTROL POINTS AND MIGRATION OF PROCESSES IN A DISTRIBUTED SYSTEM |
US7275183B2 (en) * | 2004-04-30 | 2007-09-25 | Hewlett-Packard Development Company, L.P. | Method of restoring processes within process domain |
US7634687B2 (en) | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
FR2881246B1 (fr) * | 2005-01-21 | 2007-03-23 | Meiosys Soc Par Actions Simpli | Procede perdictif de gestion, de journalisation ou de rejeu d'operations non deterministes au sein du deroulement d'un processus applicatif |
WO2006099446A2 (en) * | 2005-03-11 | 2006-09-21 | Argade Pramod V | Environment for controlling the execution of computer programs |
US7711988B2 (en) * | 2005-06-15 | 2010-05-04 | The Board Of Trustees Of The University Of Illinois | Architecture support system and method for memory monitoring |
US8082468B1 (en) * | 2008-12-15 | 2011-12-20 | Open Invention Networks, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US8255745B2 (en) * | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
US7673181B1 (en) | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
US7810081B2 (en) * | 2006-08-22 | 2010-10-05 | International Business Machines Corporation | Compilation error isolation, optimization and resolution |
US7669081B2 (en) | 2006-09-27 | 2010-02-23 | Raytheon Company | Systems and methods for scheduling, processing, and monitoring tasks |
CA2667172C (en) * | 2006-10-20 | 2013-01-08 | Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The Public Health Agency Of Canada | Method and apparatus for software policy management |
US8214806B2 (en) * | 2007-05-09 | 2012-07-03 | International Business Machines Corporation | Iterative, non-uniform profiling method for automatically refining performance bottleneck regions in scientific code |
US7818610B2 (en) * | 2007-09-27 | 2010-10-19 | Microsoft Corporation | Rapid crash recovery for flash storage |
US8495573B2 (en) * | 2007-10-04 | 2013-07-23 | International Business Machines Corporation | Checkpoint and restartable applications and system services |
US7793153B2 (en) * | 2008-01-11 | 2010-09-07 | International Business Machines Corporation | Checkpointing and restoring user space data structures used by an application |
US8510757B2 (en) * | 2008-01-11 | 2013-08-13 | Google Inc. | Gathering pages allocated to an application to include in checkpoint information |
US20090254888A1 (en) * | 2008-04-07 | 2009-10-08 | International Business Machines Corporation | Debug tours for software debugging |
US8533663B2 (en) * | 2008-05-12 | 2013-09-10 | Oracle America, Inc. | System and method for utilizing available best effort hardware mechanisms for supporting transactional memory |
US8291383B1 (en) * | 2008-10-20 | 2012-10-16 | Google Inc. | Code analysis via dual branch exploration |
US20100153776A1 (en) * | 2008-12-12 | 2010-06-17 | Sun Microsystems, Inc. | Using safepoints to provide precise exception semantics for a virtual machine |
US9021502B2 (en) * | 2008-12-29 | 2015-04-28 | Oracle America Inc. | Method and system for inter-thread communication using processor messaging |
US7945808B2 (en) * | 2009-01-30 | 2011-05-17 | International Business Machines Corporation | Fanout connectivity structure for use in facilitating processing within a parallel computing environment |
US9940138B2 (en) * | 2009-04-08 | 2018-04-10 | Intel Corporation | Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations |
US8949801B2 (en) * | 2009-05-13 | 2015-02-03 | International Business Machines Corporation | Failure recovery for stream processing applications |
US8392694B2 (en) * | 2009-09-15 | 2013-03-05 | International Business Machines Corporation | System and method for software initiated checkpoint operations |
US8745597B2 (en) * | 2009-11-25 | 2014-06-03 | International Business Machines Corporation | Providing programming support to debuggers |
-
2010
- 2010-12-20 US US12/972,792 patent/US9740562B2/en active Active
-
2011
- 2011-12-19 CN CN201110428259.2A patent/CN102736948B/zh active Active
- 2011-12-20 EP EP11851108.8A patent/EP2656217A4/en not_active Ceased
- 2011-12-20 CA CA2821522A patent/CA2821522A1/en not_active Abandoned
- 2011-12-20 WO PCT/US2011/066280 patent/WO2012088171A2/en active Application Filing
- 2011-12-20 JP JP2013546344A patent/JP6027020B2/ja active Active
- 2011-12-20 KR KR1020137015985A patent/KR101903805B1/ko active IP Right Grant
-
2013
- 2013-02-20 HK HK13102145.5A patent/HK1175005A1/xx unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014500564A5 (ja) | ||
KR102102166B1 (ko) | 심드 구조 기반의 쓰레드 분기 관리 장치 및 방법 | |
JP2006107481A5 (ja) | ||
WO2007045920A3 (en) | System and method for the backward debugging of computer programs | |
RU2008138698A (ru) | Модель абстрактного исполнения для мета-рабочего цикла, основанного на продолжении | |
US8024710B2 (en) | Unwinding unwindable code | |
JP2014501412A5 (ja) | ||
RU2014143109A (ru) | Обработка транзакций | |
JP2014513373A5 (ja) | ||
RU2012148403A (ru) | Средство предупреждающего прерывания предпосылки создания изобретения | |
JP2011123917A5 (ja) | ||
RU2010149255A (ru) | Экземпляры планировщика в процессе | |
JP2013522769A5 (ja) | ||
WO2011088414A3 (en) | Systems and methods for per-action compiling in contact handling systems | |
JP2014527644A5 (ja) | ||
MY159188A (en) | Controlling generation of debug exceptions | |
BR112016021725A2 (pt) | Apoio de comportamento dinâmico em programas estatisticamente compilados | |
WO2007107707A3 (en) | Computer architecture | |
MY158480A (en) | Diagnosing Code Using Single Step Execution | |
CN102063286A (zh) | 程序流控制 | |
JP2009501369A5 (ja) | ||
WO2012173355A3 (ko) | 게임 서버의 작업 파일 실행 장치 및 방법 | |
WO2017096917A1 (zh) | 一种热补丁注入方法及装置 | |
TW201346756A (zh) | 具有用於分支錯誤預測之第二跳躍執行單元的處理器 | |
US7596780B2 (en) | System and method for virtual catching of an exception |