JP2014500564A - プログラム状態のチェックポイントおよび復元の方法 - Google Patents
プログラム状態のチェックポイントおよび復元の方法 Download PDFInfo
- Publication number
- JP2014500564A JP2014500564A JP2013546344A JP2013546344A JP2014500564A JP 2014500564 A JP2014500564 A JP 2014500564A JP 2013546344 A JP2013546344 A JP 2013546344A JP 2013546344 A JP2013546344 A JP 2013546344A JP 2014500564 A JP2014500564 A JP 2014500564A
- Authority
- JP
- Japan
- Prior art keywords
- function
- program
- checkpoint
- execution
- computer readable
- 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
Images
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- 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/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Retry When Errors Occur (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
一般に使用されるプログラム言語は、プログラムの実行中に呼び出される関数を定義する能力を提供する。コードは、関数が受け入れる入力や、関数によって実行されるオペレーション、および関数によって返されるデータなど、関数の主要な態様を定義する。
図2は、プログラムを実行し、様々なチェックポイントでプログラム状態を保存する方法200の例を示す。プログラム状態を保存するために、ローカルオブジェクトのスタックをトラバースすることができ、各々を順番に保存することができる。プログラムの実行は、ステップ202において開始する。ステップ203において、チェックポイント機会に達し、ここで、プログラムは、プログラムの状態を保存するオプションを有する。プログラムは、ステップ203において、このチェックポイント機会を利用してプログラム状態を保存するかどうかに関する判定を行うことができる。プログラムがチェックポイント機会を使用するかどうかに関する判断は、最後のチェックポイント以降に経過した時間の長さまたは任意の他の適切な判断基準に基づいて行うことができる。いくつかの場合に、ユーザが、チェックポイントを明示的に要求することができる。プログラム状態保存の頻度とプログラムの性能との間には、トレードオフが存在する。プログラム状態を保存する頻度を高めることは、データ消失の量を制限することができるが、プログラム性能の低下を引き起こす可能性がある。チェックポイント機会を利用する頻度は、アプリケーションに応じて変化し得る。
図3は、いくつかの実施形態による、チェックポイントから関数の実行を復元する方法300を示す。ステップ302において、クラッシュまたは他の障害が発生した後に、プログラムがリスタートされる。ステップ304において、プログラムが、上で述べた関数Fなどの第1の関数を呼び出す。ステップ306において、関数Fのチェックポイントで保存されたローカル変数が、ストレージからロードされる。ステップ308において、プログラムは、チェックポイントで実行中であった関数Fの行にスキップし、関数Fの実行は、そのポイントから再開される。したがって、ステップ306および308は、関数Fの実行を、プログラム状態がチェックポイントで保存されたときの実行ポイントまで復元することを容易にする。関数Gがチェックポイントで実行中であった場合、プログラムは、関数Gを呼び出す関数Fの行までスキップすることができ、次いで、ステップ310において、関数Gが呼び出される。その後、ステップ306および308が、関数Gについて繰り返される。チェックポイントで保存された関数Gのローカル変数が、ストレージからロードされ、プログラムは、チェックポイントで実行中であった関数Gの行にスキップする。前の関数の範囲内で他に実行中の関数がなかった場合、方法は終了し、プログラム実行がチェックポイントから継続される。したがって、プログラムの実行は、プログラムの中断に先立ってチェックポイントに達する前に実行されたオペレーションのすべてを再実行する必要なしに、チェックポイントから再開することができる。
図4は、いくつかの実施形態による、チェックポイントからプログラムのオペレーションを復元することを可能にするようにコードを変更する方法を示す。上で述べたように、有利には、本明細書で説明する技法を、プログラマによる手作業のコーディングなしで、プログラムに自動的に組み込むことができる。コンパイラなどのプログラム変換ツールは、既存のコードを変更して、チェックポイントからプログラムのオペレーションを復元することを可能にすることができる。例えば、ステップ402において、コンパイラまたは他のプログラム変換ツールは、1つまたは複数の関数を定義するコードを含むプログラムコードを受け取ることができる。本明細書で説明する技法は、プログラムによって実行されるオペレーションのタイプに関して限定されないので、プログラムコードは、任意の適切なオペレーションを実行するように設計することができる。一例として、プログラムコードは、上述の関数FおよびGを定義するコードを含むことができる。ステップ404において、関数FおよびGを実行するためのコードが、プログラムがチェックポイントから実行を復元することを可能にするように変更される。例えば、コンパイラまたは他のプログラム変換ツールは、上で述べたヘルパコード102、関数プリアンブル104、呼び出し側ラベルコード108、および関数エピローグ110を挿入することができる。チェックポイント機会を、データを保存するコード内の適切な位置に挿入することもできる。関数コード106は、ヘルパコード102内で定義されるローカル変数を格納するデータ構造体を利用するように変更され得る。コンパイラを使用して方法400を実行する場合、生成される結果は、中断が発生したときにチェックポイントから関数FおよびGの実行を復元することを可能にする追加の能力を有する、関数FおよびGを実行するように構成されたオブジェクトコードとすることができる。
本明細書で説明する技法は、長い実行時間を有するプログラムにとって非常に重要になり得るフォールトトレラント方式およびフェイルオーバ方式を提供することができる。これは、計算のサイズが増大すると、失われる作業のコストが増大することに起因する。障害の可能性は、より多くのハードウェアを使用して計算を実行するときにより高いので、これらの技法は、多くのコンピューティングリソースを利用する分散プログラムにとっても非常に有用であり得る。新しいコンピューティングハードウェアにおける傾向は、ハードウェアの各連続する世代が指数関数的により速いパラダイムから、各連続する世代が指数関数的により多くの計算コアを有するパラダイムにシフトしてきた。本明細書で説明する技法を使用して、複数の計算コアまたはマシンのクラスタ上で動作するマルチスレッド式プログラムを使用して大量の計算作業を実行することを可能にすることができる。例えば、そのような技法を、複数のマシンおよび/または複数のコアがプログラムデータの処理に用いられるクラウドコンピューティング環境で使用することができる。
Claims (10)
- 1つまたは複数のオペレーションを実行するようにマイクロプロセッサを制御するように構成された第1のコンピュータ読取可能命令を受け取るステップと、
マイクロプロセッサを使用して、前記第1のコンピュータ読取可能命令に基づいて第2のコンピュータ読取可能命令を生成するステップであって、前記第2のコンピュータ読取可能命令は、
i)関数を呼び出すことと、
ii)前記関数による使用のためにデータをロードすることであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されていることと、
iii)前記関数の以前の実行中に前記チェックポイントに達する前に実行された前記関数の部分をスキップすることと
によって、前記1つまたは複数の動作を実行し、前記チェックポイントから前記関数の実行を再開するように構成される、前記生成するステップと
を含むことを特徴とする方法。 - 前記第1のコンピュータ読取可能命令を含むソースコードを、前記第2のコンピュータ読取可能命令を含むオブジェクトコードにコンパイルするコンパイラによって実行されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令を生成するステップは、追加命令を前記第1のコンピュータ読取可能命令に追加するステップを含み、前記追加命令は、チェックポイントから前記関数の実行を再開するように構成されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令は、前記関数によって使用されるデータを保存するようにさらに構成されることを特徴とする請求項1に記載の方法。
- 前記第2のコンピュータ読取可能命令は、前記関数を含むプログラムのプログラムスタックを追跡するようにさらに構成されることを特徴とする請求項1に記載の方法。
- i)関数を呼び出すことと、
ii)前記関数による使用のためにデータをロードすることであって、前記データは、前記関数の以前の実行中にチェックポイントで保存されていることと、
iii)前記関数の以前の実行中に前記チェックポイントに達する前に実行された前記関数の部分をスキップすることと、
iv)前記関数によって使用されるデータを保存することと、
v)前記関数を含むプログラムのプログラムスタックを追跡することと
によって前記チェックポイントから前記関数の実行を再開するように構成されたコンピュータ読取可能命令を格納したコンピュータ読取可能記憶媒体と、
前記コンピュータ読取可能命令を実行するように構成された少なくとも1つのマイクロプロセッサと
を備えたことを特徴とするシステム。 - 前記少なくとも1つのマイクロプロセッサは、第1のマイクロプロセッサおよび第2のマイクロプロセッサを含むことを特徴とする請求項6に記載のシステム。
- 前記第1のマイクロプロセッサは前記関数を実行し、前記第1のマイクロプロセッサを使用する前記関数の実行が中断されると、前記関数の実行は、前記第2のマイクロプロセッサを使用して前記チェックポイントから継続されることを特徴とする請求項7に記載のシステム。
- 前記第1のプロセッサを含む第1のデバイスと、
前記第2のプロセッサを含む第2のデバイスと
を含むことを特徴とする請求項8に記載のシステム。 - 前記第1のデバイスは、第1のオペレーティングシステムを実行し、前記第2のデバイスは、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムを実行することを特徴とする請求項9に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/972,792 | 2010-12-20 | ||
US12/972,792 US9740562B2 (en) | 2010-12-20 | 2010-12-20 | Method for checkpointing and restoring program state |
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 true JP2014500564A (ja) | 2014-01-09 |
JP2014500564A5 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 (16)
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 |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | 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 |
EP3891613B1 (en) | 2019-01-10 | 2023-01-11 | Siemens Industry Software Inc. | 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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6708288B1 (en) * | 2000-10-31 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Compiler-based checkpointing for support of error recovery |
Family Cites Families (39)
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 |
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 |
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 |
JP2008502953A (ja) | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
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 |
US20060206873A1 (en) * | 2005-03-11 | 2006-09-14 | Argade Pramod V | Environment for run control 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 |
US9286109B1 (en) * | 2005-08-26 | 2016-03-15 | Open Invention Network, Llc | Method and system for providing checkpointing to windows application groups |
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 |
EP2108147B1 (en) * | 2006-10-20 | 2017-03-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 WO PCT/US2011/066280 patent/WO2012088171A2/en active Application Filing
- 2011-12-20 CA CA2821522A patent/CA2821522A1/en not_active Abandoned
- 2011-12-20 EP EP11851108.8A patent/EP2656217A4/en not_active Ceased
- 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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6708288B1 (en) * | 2000-10-31 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Compiler-based checkpointing for support of error recovery |
Non-Patent Citations (1)
Title |
---|
JPN6015050116; 多賀奈由太、関口龍郎、米澤明憲: '"通常の実行効率をほとんど損わないスレッドマイグレーションが可能なC++"' 情報処理学会論文誌 第41巻,No.SIG2(PRO6), 20000315, pp.41-53, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
CN102736948A (zh) | 2012-10-17 |
HK1175005A1 (en) | 2013-06-21 |
KR20140000283A (ko) | 2014-01-02 |
US9740562B2 (en) | 2017-08-22 |
KR101903805B1 (ko) | 2018-10-02 |
CA2821522A1 (en) | 2012-06-28 |
WO2012088171A3 (en) | 2012-10-26 |
JP6027020B2 (ja) | 2016-11-16 |
US20120159462A1 (en) | 2012-06-21 |
EP2656217A2 (en) | 2013-10-30 |
CN102736948B (zh) | 2015-04-01 |
WO2012088171A2 (en) | 2012-06-28 |
EP2656217A4 (en) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6027020B2 (ja) | プログラム状態のチェックポイントおよび復元の方法 | |
Zhang et al. | Kappa: A programming framework for serverless computing | |
EP2494468B1 (en) | Context-sensitive slicing for dynamically parallelizing binary programs | |
JP6010540B2 (ja) | 選択された実行ランタイムによる実行のためのユーザコードのランタイム非依存表現 | |
JP5611756B2 (ja) | プログラム・フロー制御 | |
US8849753B2 (en) | Automating asynchronous programming in single threaded systems | |
US8549502B2 (en) | Compiler with user-defined type inference rules | |
US10970130B2 (en) | Composable and cancelable dataflow continuation passing | |
Ma et al. | Lightweight application-level task migration for mobile cloud computing | |
US20110099542A1 (en) | Controlling Compiler Optimizations | |
CN110335041B (zh) | 智能合约调用的一致性检测方法、装置、设备及存储介质 | |
CN102364442A (zh) | 将Wine从x86移植到ARM平台的方法 | |
US9454382B2 (en) | Verification of UML state machines | |
US10496433B2 (en) | Modification of context saving functions | |
Liu et al. | Doing more with less: orchestrating serverless applications without an orchestrator | |
US20210232378A1 (en) | Program calling, electronic device, and storage medium | |
US10552135B1 (en) | Reducing a size of an application package | |
Fanfarillo et al. | Resilient computational applications using Coarray Fortran | |
US20130173682A1 (en) | Floating-point error propagation in dataflow | |
EP2176761A1 (en) | Object model for transactional memory | |
US11442715B1 (en) | Asynchronous framework | |
Chard et al. | Productive Parallel Programming with Parsl | |
WO2022140880A1 (zh) | 有限状态机的控制方法、装置、计算机设备和存储介质 | |
CN115016993A (zh) | 适用于异构冗余的错误清洗方法、装置和计算机设备 | |
JP2013080281A (ja) | 実行制御プログラム、コンパイラ、実行制御装置および実行制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130827 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130828 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141105 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141105 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151210 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160407 |
|
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: 20160914 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161013 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6027020 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |