JP2014500564A5 - - Google Patents

Download PDF

Info

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
Application number
JP2013546344A
Other languages
English (en)
Other versions
JP6027020B2 (ja
JP2014500564A (ja
Filing date
Publication date
Priority claimed from US12/972,792 external-priority patent/US9740562B2/en
Application filed filed Critical
Publication of JP2014500564A publication Critical patent/JP2014500564A/ja
Publication of JP2014500564A5 publication Critical patent/JP2014500564A5/ja
Application granted granted Critical
Publication of JP6027020B2 publication Critical patent/JP6027020B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (18)

  1. 1つまたは複数の動作を実行するようにマイクロプロセッサを制御するように構成された第1のコンピュータ読取可能命令を受け取るステップと、
    マイクロプロセッサを使用して、前記第1のコンピュータ読取可能命令に基づいて第2のコンピュータ読取可能命令を生成するステップであって、前記第2のコンピュータ読取可能命令は、
    数を呼び出すステップと、
    記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
    記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の最初でも最後でもない、前記関数内のポイントである、ステップ
    によって、前記1つまたは複数の動作を実行し、前記チェックポイントから前記関数の実行を再開するように構成される、前記生成するステップと
    を含み、
    前記第2のコンピュータ読取可能命令を生成するステップは、チェックポイントから前記関数の実行を再開するように構成される追加の命令を前記第1のコンピュータ読取可能命令に追加するステップを含むことを特徴とする方法。
  2. 前記第1のコンピュータ読取可能命令を含むソースコードを、前記第2のコンピュータ読取可能命令を含むオブジェクトコードにコンパイルするコンパイラによって実行されることを特徴とする請求項1に記載の方法。
  3. 前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成されることを特徴とする請求項1に記載の方法。
  4. 前記第2のコンピュータ読取可能命令は、前記関数を含むプログラムのプログラムスタックを追跡するようにさらに構成されることを特徴とする請求項1に記載の方法。
  5. 前記第2のコンピュータ読取可能命令は、前記第2のコンピュータ読取可能命令を実行するデバイス上で実行されるオペレーティングシステムから独立した方法でチェックポイントから関数の実行を再開するように構成される請求項1に記載の方法。
  6. 実行されると、
    1つまたは複数の動作を実行するようにマイクロプロセッサを制御するように構成された第1のコンピュータ読取可能命令を受け取るステップと、
    マイクロプロセッサを使用して、前記第1のコンピュータ読取可能命令に基づいて第2のコンピュータ読取可能命令を生成するステップであって、前記第2のコンピュータ読取可能命令は、
    関数を呼び出すステップと、
    前記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
    前記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の修正がなければ前記関数の最初でも最後でもない、前記関数内のポイントである、ステップと
    によって、前記1つまたは複数の動作を実行し、前記関数を含むプログラムのプログラムスタックを追跡し、前記チェックポイントから前記関数の実行を再開するように構成される、前記生成するステップと
    を含む方法を実行するプログラム。
  7. 前記方法は、前記第1のコンピュータ読取可能命令を含むソースコードを、前記第2のコンピュータ読取可能命令を含むオブジェクトコードにコンパイルするコンパイラによって実行される請求項6に記載のプログラム。
  8. 前記第2のコンピュータ読取可能命令を生成するステップは、チェックポイントから前記関数の実行を再開するように構成される追加の命令を前記第1のコンピュータ読取可能命令に追加するステップを含み、前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成される請求項6に記載のプログラム。
  9. 前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成される請求項6に記載のプログラム。
  10. 前記第2のコンピュータ読取可能命令は、前記第2のコンピュータ読取可能命令を実行するデバイス上で実行されるオペレーティングシステムから独立した方法でチェックポイントから関数の実行を再開するように構成される請求項6に記載のプログラム。
  11. 数を呼び出すステップと、
    記関数による使用のためにデータをロードするステップであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されている、ステップと、
    記関数の以前の実行中に前記チェックポイントにおいて実行中であった前記関数の行にスキップするステップであって、前記関数の行は、前記関数の最初でも最後でもない、前記関数内のポイントである、ステップと、
    記関数によって使用されるデータを保存するステップと、
    記関数を含むプログラムのプログラムスタックを追跡するステップ
    によって前記チェックポイントから前記関数の実行を再開するように構成されたコンピュータ読取可能命令を格納したコンピュータ読取可能記憶媒体であって、前記コンピュータ読取可能命令は前記コンピュータ読取可能命令の以前のバージョンに基づく、コンピュータ読取可能記憶媒体と、
    前記コンピュータ読取可能命令を実行するように構成された少なくとも1つのマイクロプロセッサと
    を備えたことを特徴とするシステム。
  12. 前記少なくとも1つのマイクロプロセッサは、第1のマイクロプロセッサおよび第2のマイクロプロセッサを含むことを特徴とする請求項11に記載のシステム。
  13. 前記第1のマイクロプロセッサは前記関数を実行し、前記第1のマイクロプロセッサを使用する前記関数の実行が中断されると、前記関数の実行は、前記第2のマイクロプロセッサを使用して前記チェックポイントから継続されることを特徴とする請求項11に記載のシステム。
  14. 前記第1のマイクロプロセッサを含む第1のデバイスと、
    前記第2のマイクロプロセッサを含む第2のデバイスと
    を含むことを特徴とする請求項13に記載のシステム。
  15. 前記第1のデバイスは、第1のオペレーティングシステムを実行し、前記第2のデバイスは、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムを実行することを特徴とする請求項14に記載のシステム。
  16. 前記チェックポイントにおいて前記データを保存するかどうかを判断するためのコンピュータ読取可能命令をさらに含む請求項11に記載のシステム。
  17. 前記コンピュータ読取可能命令の一部は、前記関数によって使用される前記データを保存するためのデータ構造を定義する請求項11に記載のシステム。
  18. 前記コンピュータ読取可能命令の一部は、1つまたは複数の関数の呼び出しが1つまたは複数の他の関数に対してなされる前記関数内の位置を示す請求項11に記載のシステム。
JP2013546344A 2010-12-20 2011-12-20 プログラム状態のチェックポイントおよび復元の方法 Active JP6027020B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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