JP2017520851A - トランザクションにおけるレジスタの動的なセーブ - Google Patents
トランザクションにおけるレジスタの動的なセーブ Download PDFInfo
- Publication number
- JP2017520851A JP2017520851A JP2016575654A JP2016575654A JP2017520851A JP 2017520851 A JP2017520851 A JP 2017520851A JP 2016575654 A JP2016575654 A JP 2016575654A JP 2016575654 A JP2016575654 A JP 2016575654A JP 2017520851 A JP2017520851 A JP 2017520851A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage elements
- mask
- data storage
- subset
- 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
- 238000013500 data storage Methods 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 83
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 9
- 230000005764 inhibitory process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 206010003591 Ataxia Diseases 0.000 description 1
- 206010010947 Coordination abnormal Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 208000028756 lack of coordination Diseases 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
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)
- Retry When Errors Occur (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (22)
- それぞれがデータを記憶するように構成される複数のデータ・ストレージ要素と、
マスクを記憶するように構成されるマスク・ストレージ回路と、
1つ又は複数の命令を実行するように構成される処理回路と、
トランザクション開始命令に応答して、前記データ・ストレージ要素のサブセットを選択して前記データ・ストレージ要素の前記サブセットのバックアップをセーブするように構成されるデータ・セーブ手段と、
前記データ・セーブ手段によって選択された前記データ・ストレージ要素の前記サブセットを示すように、前記マスクをアップデートするように構成されるマスク制御回路と、
前記マスクによって示されなかった前記データ・ストレージ要素のうちの1つへの書き込みを検出するように構成されるモニタと、を備える、
データ処理装置。 - 前記マスクによって示されなかった前記データ・ストレージ要素のうちの前記1つへの前記書き込みを阻害するように構成される阻害回路を備える、
請求項1に記載のデータ処理装置。 - 前記バックアップから前記マスクによって示された前記データ・ストレージ要素を復元するように構成される復元手段を備える、
請求項2に記載のデータ処理装置。 - 前記トランザクション開始命令又はエラー処理手段を示すプログラム・カウンタをアップデートするように構成されるアップデート回路を備える、
請求項3に記載のデータ処理装置。 - 前記モニタがさらに、前記マスクによって示されなかった前記データ・ストレージ要素のうちの前記1つへの前記書き込みの検出に応答して、エラーを発信するように構成される、
請求項1から4までのいずれか一項に記載のデータ処理装置。 - 前記データ・ストレージ要素が、前記データ処理装置によって実行されるヒューリスティックな分析に基づいて前記データ・セーブ手段によって選択される、
請求項1から5までのいずれか一項に記載のデータ処理装置。 - 前記ヒューリスティックな分析が、コンパイラによって注釈されたデータに依存する、
請求項6に記載のデータ処理装置。 - 前記ヒューリスティックな分析が、1つ又は複数の命令に関連した呼び出し規約に依存する、
請求項6又は7に記載のデータ処理装置。 - 前記ヒューリスティックな分析が、前記マスクによって示されない前記データ・ストレージ要素のうちの1つへの書き込みを前記モニタが検出した回数に依存する、
請求項6から8までのいずれか一項に記載のデータ処理装置。 - 選択された前記データ・ストレージ要素の前記サブセットが、前記マスクによって示されない前記データ・ストレージ要素のうちの前記1つへの前記書き込みを検出する前記モニタに応答して増加する、
請求項1から9までのいずれか一項に記載のデータ処理装置。 - データ・ストレージ要素の前記サブセットが、サブセット定義命令に応答して前記データ・セーブ手段によって選択される、
請求項1から10までのいずれか一項に記載のデータ処理装置。 - 前記複数のデータ・ストレージ要素が複数のレジスタである、
請求項1から11までのいずれか一項に記載のデータ処理装置。 - 前記モニタがモニタリング回路を備える、
請求項1から12までのいずれか一項に記載のデータ処理装置。 - 前記モニタがモニタリング・ソフトウェアによって実装される、
請求項1から12までのいずれか一項に記載のデータ処理装置。 - 前記データ・セーブ手段がデータ・セーブ回路を備える、
請求項1から14までのいずれか一項に記載のデータ処理装置。 - 前記データ・セーブ手段がデータ・セーブ・ソフトウェアによって実装される、
請求項1から14までのいずれか一項に記載のデータ処理装置。 - 前記データ・セーブ手段が、ローカル・キャッシュに前記データ・ストレージ要素の前記サブセットのバックアップをセーブするように構成される、
請求項1から16までのいずれか一項に記載のデータ処理装置。 - 前記マスクが、セーブされるべきレジスタのセットとセーブされるべきでないレジスタのセットの両方を示し、
前記データ・ストレージ要素が、前記セーブされるべきレジスタのセットにおいて識別されたストレージ要素を含み、前記セーブされるべきでないレジスタのセットにおいて識別されたストレージ要素を排除することによって、前記データ・セーブ手段によって選択される、
請求項1から17までのいずれか一項に記載のデータ処理装置。 - データを記憶する複数の手段と、
マスクを記憶するマスク・ストレージ手段と、
1つ又は複数の命令を実行する処理手段と、
トランザクション開始命令に応答して、前記データを記憶する複数の手段のサブセットを選択して、前記データを記憶する複数の手段の前記サブセットによって記憶された前記データのバックアップをセーブする、データ・セーブ手段と、
前記データ・セーブ手段によって選択された前記データを記憶する複数の手段の前記サブセットを示すように前記マスクをアップデートするマスク制御手段と、
前記マスクによって示されなかった前記データを記憶する複数の手段のうちの1つへの書き込みを検出するモニタリング手段と、を備える、
データ処理装置。 - データを記憶する複数のデータ・ストレージ要素を含むデータ処理装置においてデータを処理する方法であって、
トランザクション開始命令に応答して前記データ・ストレージ要素のサブセットを選択するステップと、
前記データ・ストレージ要素の前記サブセットによって記憶されたデータのバックアップをセーブするステップと、
前記データ・ストレージ要素の前記サブセットを示すようにマスクをアップデートするステップと、
前記マスクによって示されなかった前記データ・ストレージ要素のうちの1つへの書き込みを検出するステップと、を備える、
データを処理する方法。 - 付属の図面を参照して本明細書に実質的に記載された、データ処理装置。
- 付属の図面を参照して本明細書に実質的に記載された、データを処理する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1412337.6 | 2014-07-11 | ||
GB1412337.6A GB2528115B (en) | 2014-07-11 | 2014-07-11 | Dynamic saving of registers in transactions |
PCT/GB2015/051715 WO2016005723A1 (en) | 2014-07-11 | 2015-06-11 | Dynamic saving of registers in transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017520851A true JP2017520851A (ja) | 2017-07-27 |
JP6637450B2 JP6637450B2 (ja) | 2020-01-29 |
Family
ID=51453986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016575654A Active JP6637450B2 (ja) | 2014-07-11 | 2015-06-11 | トランザクションにおけるレジスタの動的なセーブ |
Country Status (8)
Country | Link |
---|---|
US (1) | US10678595B2 (ja) |
EP (1) | EP3167367A1 (ja) |
JP (1) | JP6637450B2 (ja) |
KR (1) | KR102284952B1 (ja) |
CN (1) | CN106537342B (ja) |
GB (1) | GB2528115B (ja) |
IL (1) | IL249563B (ja) |
WO (1) | WO2016005723A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984457B (zh) * | 2019-05-23 | 2022-09-02 | 华为技术有限公司 | 对存储信息更新的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064086A (ja) * | 2010-09-17 | 2012-03-29 | Fujitsu Ltd | 情報処理装置、情報処理装置の制御方法及び制御プログラム |
US20130339642A1 (en) * | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210874A (en) * | 1988-03-22 | 1993-05-11 | Digital Equipment Corporation | Cross-domain call system in a capability based digital data processing system |
US5319395A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Pixel depth converter for a computer video display |
US6006311A (en) * | 1997-04-14 | 1999-12-21 | Internatinal Business Machines Corporation | Dynamic updating of repair mask used for cache defect avoidance |
US6249824B1 (en) * | 1998-12-12 | 2001-06-19 | Joseph Reid Henrichs | Magnetic data storage fixed hard disk drive using stationary microhead array chips in place of flying-heads and rotary voice-coil actuators |
US6553443B1 (en) * | 1999-09-28 | 2003-04-22 | Legerity, Inc. | Method and apparatus for prioritizing interrupts in a communication system |
US6877089B2 (en) * | 2000-12-27 | 2005-04-05 | International Business Machines Corporation | Branch prediction apparatus and process for restoring replaced branch history for use in future branch predictions for an executing program |
JP3702815B2 (ja) * | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | プロセッサ間レジスタ継承方法及びその装置 |
US7050317B1 (en) * | 2002-03-15 | 2006-05-23 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices that support power saving longest prefix match operations and methods of operating same |
US6920532B2 (en) * | 2002-11-05 | 2005-07-19 | Newisys, Inc. | Cache coherence directory eviction mechanisms for modified copies of memory lines in multiprocessor systems |
KR100532325B1 (ko) * | 2002-11-23 | 2005-11-29 | 삼성전자주식회사 | 터보 복호기의 입력 제어 방법 및 장치 |
US7500055B1 (en) * | 2003-06-27 | 2009-03-03 | Beach Unlimited Llc | Adaptable cache for dynamic digital media |
US20050120185A1 (en) * | 2003-12-01 | 2005-06-02 | Sony Computer Entertainment Inc. | Methods and apparatus for efficient multi-tasking |
US8549513B2 (en) * | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US8813052B2 (en) | 2005-12-07 | 2014-08-19 | Microsoft Corporation | Cache metadata for implementing bounded transactional memory |
US9529592B2 (en) * | 2007-12-27 | 2016-12-27 | Intel Corporation | Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation |
US8433883B2 (en) * | 2009-06-11 | 2013-04-30 | Cray Inc. | Inclusive “OR” bit matrix compare resolution of vector update conflict masks |
US9569254B2 (en) * | 2009-07-28 | 2017-02-14 | International Business Machines Corporation | Automatic checkpointing and partial rollback in software transaction memory |
GB2474522B (en) | 2009-10-19 | 2014-09-03 | Advanced Risc Mach Ltd | Register state saving and restoring |
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
US8756377B2 (en) * | 2010-02-02 | 2014-06-17 | Arm Limited | Area and power efficient data coherency maintenance |
US9002911B2 (en) * | 2010-07-30 | 2015-04-07 | International Business Machines Corporation | Fileset masks to cluster inodes for efficient fileset management |
JP5926373B2 (ja) * | 2012-05-07 | 2016-05-25 | 株式会社日立製作所 | 計算機システム、ストレージ管理計算機及びストレージ管理方法 |
US9298469B2 (en) * | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Management of multiple nested transactions |
US9430166B2 (en) | 2012-08-10 | 2016-08-30 | International Business Machines Corporation | Interaction of transactional storage accesses with other atomic semantics |
US9400650B2 (en) * | 2012-09-28 | 2016-07-26 | Intel Corporation | Read and write masks update instruction for vectorization of recursive computations over interdependent data |
US9251073B2 (en) * | 2012-12-31 | 2016-02-02 | Intel Corporation | Update mask for handling interaction between fills and updates |
US9330026B2 (en) * | 2013-03-05 | 2016-05-03 | Qualcomm Incorporated | Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (HWTW) |
US9223701B2 (en) * | 2013-04-12 | 2015-12-29 | Arm Limited | Data processing apparatus and method for performing load-exclusive and store-exclusive operations |
US9135984B2 (en) * | 2013-12-18 | 2015-09-15 | Micron Technology, Inc. | Apparatuses and methods for writing masked data to a buffer |
JP6374975B2 (ja) * | 2014-03-27 | 2018-08-15 | インテル・コーポレーション | 連続ソースエレメントを複数のマスクされていない結果エレメントにストアすると共に、複数のマスクされた結果エレメントに伝搬するプロセッサ、方法、システム、及び命令 |
CN105247618B (zh) * | 2014-04-30 | 2017-12-15 | 华为技术有限公司 | 一种硬盘执行应用代码的方法及装置 |
CN104410849B (zh) * | 2014-10-21 | 2016-06-29 | 深圳市华星光电技术有限公司 | 图像数据处理方法及装置 |
US9804842B2 (en) * | 2014-12-23 | 2017-10-31 | Intel Corporation | Method and apparatus for efficiently managing architectural register state of a processor |
-
2014
- 2014-07-11 GB GB1412337.6A patent/GB2528115B/en active Active
-
2015
- 2015-06-11 CN CN201580036625.6A patent/CN106537342B/zh active Active
- 2015-06-11 US US15/324,082 patent/US10678595B2/en active Active
- 2015-06-11 EP EP15729909.0A patent/EP3167367A1/en active Pending
- 2015-06-11 WO PCT/GB2015/051715 patent/WO2016005723A1/en active Application Filing
- 2015-06-11 KR KR1020177003060A patent/KR102284952B1/ko active IP Right Grant
- 2015-06-11 JP JP2016575654A patent/JP6637450B2/ja active Active
-
2016
- 2016-12-14 IL IL249563A patent/IL249563B/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012064086A (ja) * | 2010-09-17 | 2012-03-29 | Fujitsu Ltd | 情報処理装置、情報処理装置の制御方法及び制御プログラム |
US20130339642A1 (en) * | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
Also Published As
Publication number | Publication date |
---|---|
EP3167367A1 (en) | 2017-05-17 |
WO2016005723A1 (en) | 2016-01-14 |
IL249563A0 (en) | 2017-02-28 |
JP6637450B2 (ja) | 2020-01-29 |
GB2528115A (en) | 2016-01-13 |
KR20170032339A (ko) | 2017-03-22 |
GB2528115B (en) | 2021-05-19 |
US20170161112A1 (en) | 2017-06-08 |
GB201412337D0 (en) | 2014-08-27 |
CN106537342A (zh) | 2017-03-22 |
CN106537342B (zh) | 2021-04-30 |
KR102284952B1 (ko) | 2021-08-03 |
IL249563B (en) | 2021-08-31 |
US10678595B2 (en) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9430166B2 (en) | Interaction of transactional storage accesses with other atomic semantics | |
US6708288B1 (en) | Compiler-based checkpointing for support of error recovery | |
US8176489B2 (en) | Use of rollback RCU with read-side modifications to RCU-protected data structures | |
US7178062B1 (en) | Methods and apparatus for executing code while avoiding interference | |
US7930695B2 (en) | Method and apparatus for synchronizing threads on a processor that supports transactional memory | |
US9396115B2 (en) | Rewind only transactions in a data processing system supporting transactional storage accesses | |
US9342454B2 (en) | Nested rewind only and non rewind only transactions in a data processing system supporting transactional storage accesses | |
US8316366B2 (en) | Facilitating transactional execution in a processor that supports simultaneous speculative threading | |
US20100031084A1 (en) | Checkpointing in a processor that supports simultaneous speculative threading | |
JP2011529603A (ja) | バーチャル化可能な高度な同期機構 | |
JP2008518337A (ja) | 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 | |
TWI786181B (zh) | 在例外遮罩更新指令之後允許未中止的交易處理 | |
US20100017581A1 (en) | Low overhead atomic memory operations | |
Negi et al. | π-TM: Pessimistic invalidation for scalable lazy hardware transactional memory | |
Wang et al. | Transaction-friendly condition variables | |
JPWO2011096163A1 (ja) | 情報処理システム、排他制御方法および排他制御用プログラム | |
TWI801603B (zh) | 處理獨佔式載入指令的資料處理設備、方法及電腦程式 | |
JP6313907B2 (ja) | 計算の非決定性の下でのリカバリ及び耐障害 | |
Bhat et al. | OSIRIS: Efficient and consistent recovery of compartmentalized operating systems | |
JP6637450B2 (ja) | トランザクションにおけるレジスタの動的なセーブ | |
JP2009230479A (ja) | マイクロプロセッサ | |
US7555614B1 (en) | Methods, systems, and computer program products for preventing concurrent execution of conflicting software operations on the same and different storage processors having access to a common storage medium while avoiding deadlocks | |
JP7526674B2 (ja) | トランザクショナル・メモリをサポートするための装置においてロード排他命令を取り扱うこと | |
JP2014119964A (ja) | 計算機システムおよびプログラム | |
CN112236750B (zh) | 数据处理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190612 |
|
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: 20191127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6637450 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 |