RU2014136808A - Способ и устройство для усовершенствованных технологий пропуска блокировки - Google Patents
Способ и устройство для усовершенствованных технологий пропуска блокировки Download PDFInfo
- Publication number
- RU2014136808A RU2014136808A RU2014136808A RU2014136808A RU2014136808A RU 2014136808 A RU2014136808 A RU 2014136808A RU 2014136808 A RU2014136808 A RU 2014136808A RU 2014136808 A RU2014136808 A RU 2014136808A RU 2014136808 A RU2014136808 A RU 2014136808A
- Authority
- RU
- Russia
- Prior art keywords
- critical section
- speculative critical
- scs
- ncs
- speculative
- Prior art date
Links
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- 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/30181—Instruction operation extension or modification
-
- 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
- G06F9/526—Mutual exclusion algorithms
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
Abstract
1. Способ, содержащий:выполнение спекулятивной критической секции до завершения, независимо от того, удерживается ли блокировка другой транзакцией в начале или во время выполнения спекулятивной критической секции;как только выполнение спекулятивного критической секции завершено, определение того, что блокировка захвачена; иесли блокировка не захвачена, то завершение спекулятивной критической секции, и если блокировка захвачена, то затем прерывание спекулятивной критической секции.2. Способ по п. 1, в котором другая транзакция содержит не спекулятивную критическую секцию.3. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если она завершает выполнение.4. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если она завершает выполнение.5. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце ее выполнения, когда осуществляются попытки завершить.6. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце выполнения, когда осуществляются попытки завершить.7. Способ по п. 1, в котором прерывание спекулятивной критической секции содержит не
Claims (21)
1. Способ, содержащий:
выполнение спекулятивной критической секции до завершения, независимо от того, удерживается ли блокировка другой транзакцией в начале или во время выполнения спекулятивной критической секции;
как только выполнение спекулятивного критической секции завершено, определение того, что блокировка захвачена; и
если блокировка не захвачена, то завершение спекулятивной критической секции, и если блокировка захвачена, то затем прерывание спекулятивной критической секции.
2. Способ по п. 1, в котором другая транзакция содержит не спекулятивную критическую секцию.
3. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если она завершает выполнение.
4. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если она завершает выполнение.
5. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце ее выполнения, когда осуществляются попытки завершить.
6. Способ по п. 2, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце выполнения, когда осуществляются попытки завершить.
7. Способ по п. 1, в котором прерывание спекулятивной критической секции содержит незавершенные результаты спекулятивной критической секции.
8. Процессор, содержащий:
исполнительный компонент для выполнения спекулятивной критической секции для завершения, независимо от того, удерживается ли блокировка другой транзакцией в начале или во время выполнения спекулятивной критической секции;
компонент завершения для определения захвата блокировки, как только выполнение спекулятивной критической секции завершено; и
исполнительный компонент, совершающий спекулятивную критическую секцию, если блокировка не захвачена, и прерывание спекулятивной критической секции, если блокировка захвачена.
9. Процессор по п. 8, в котором другая транзакция содержит не спекулятивную критическую секцию.
10. Процессор по п. 9, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после завершения NCS, способ содержит совершение SCS, если завершается выполнение.
11. Процессор по п. 9, в котором спекулятивная критическая секция (SCS) начинается до начала не спекулятивной критической секции (NCS) и заканчивается после окончания NCS, способ содержит совершение SCS, если завершается выполнение.
12. Процессор по п. 9, в котором спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце исполнения, когда осуществляются попытки завершить.
13. Процессор по п. 9, в котором спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце исполнения, когда осуществляются попытки завершить.
14. Процессор по п. 8, в котором прерывание спекулятивной критической секции содержит не завершение результатов спекулятивной критической секции.
15. Система, содержащая:
память для хранения программного кода и данных;
коммуникационный интерфейс ввода/вывода (IO) для установления связи с одним или несколькими периферийными устройствами;
сетевой коммуникационный интерфейс для коммуникативного подключения системы к сети; и
процессор, содержащий:
исполнительный компонент для выполнения спекулятивной критической секции для совершения, независимо от того, удерживается ли блокировка другой транзакцией в начале или во время выполнения спекулятивной критической секции;
компонент завершения для определения захвачена ли блокировка, как только завершено выполнение спекулятивной критической секции; и
исполнительный компонент совершает спекулятивную критическую секцию, если блокировка не захвачена, и прерывает спекулятивную критическую секцию, если блокировка захвачена.
16. Система по п. 15, в которой другая транзакция содержит не спекулятивную критическую секцию.
17. Система по п. 16, в которой спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если завершается выполнение.
18. Система по п. 16, в которой спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается после окончания NCS, способ содержит совершение SCS, если завершается выполнение.
19. Система по п. 16, в которой спекулятивная критическая секция (SCS) начинается до того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце исполнения, когда осуществляются попытки совершить.
20. Система по п. 16, в которой спекулятивная критическая секция (SCS) начинается после того, как не спекулятивная критическая секция (NCS) начинается и заканчивается до окончания NCS, способ дополнительно содержит прерывание SCS в конце исполнения, когда осуществляются попытки совершить.
21. Система по п. 15, в которой прерывание спекулятивной критической секции содержит несовершение результатов спекулятивной критической секции.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/024,451 | 2013-09-11 | ||
US14/024,451 US9588801B2 (en) | 2013-09-11 | 2013-09-11 | Apparatus and method for improved lock elision techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014136808A true RU2014136808A (ru) | 2016-04-10 |
RU2595925C2 RU2595925C2 (ru) | 2016-08-27 |
Family
ID=51454534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014136808/08A RU2595925C2 (ru) | 2013-09-11 | 2014-09-10 | Способ и устройство для усовершенствованных технологий пропуска блокировки |
Country Status (3)
Country | Link |
---|---|
US (1) | US9588801B2 (ru) |
EP (1) | EP2849065B1 (ru) |
RU (1) | RU2595925C2 (ru) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639392B2 (en) * | 2013-12-17 | 2017-05-02 | Intel Corporation | Unbounded transactional memory with forward progress guarantees using a hardware global lock |
US9799021B1 (en) | 2013-11-26 | 2017-10-24 | Square, Inc. | Tip processing at a point-of-sale system |
US9442775B2 (en) * | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging hardware transactions with instructions to transfer transaction execution control |
US9442853B2 (en) * | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging lock elision transactions with instructions to change execution type |
CN104883677B (zh) | 2014-02-28 | 2018-09-18 | 阿里巴巴集团控股有限公司 | 一种近场通讯设备间通讯的连接方法、装置和系统 |
US9454313B2 (en) * | 2014-06-10 | 2016-09-27 | Arm Limited | Dynamic selection of memory management algorithm |
US11809917B2 (en) | 2014-07-14 | 2023-11-07 | Oracle International Corporation | Systems and methods for safely subscribing to locks using hardware extensions |
US10521277B2 (en) * | 2014-07-14 | 2019-12-31 | Oracle International Corporation | Systems and methods for safely subscribing to locks using hardware extensions |
US10515354B1 (en) | 2014-12-05 | 2019-12-24 | Square, Inc. | Discounted card not present rates following failed card present attempts |
US10534538B2 (en) | 2015-02-23 | 2020-01-14 | Oracle International Corporation | Fine-grained hardware transactional lock elision |
US10067960B2 (en) | 2015-06-04 | 2018-09-04 | Microsoft Technology Licensing, Llc | Controlling atomic updates of indexes using hardware transactional memory |
WO2017044097A1 (en) | 2015-09-10 | 2017-03-16 | Hewlett Packard Enterprise Development Lp | Request of an mcs lock by guests |
US10163107B1 (en) * | 2016-03-31 | 2018-12-25 | Square, Inc. | Technical fallback infrastructure |
US10755281B1 (en) | 2017-03-31 | 2020-08-25 | Square, Inc. | Payment transaction authentication system and method |
US11593773B1 (en) | 2017-03-31 | 2023-02-28 | Block, Inc. | Payment transaction authentication system and method |
US20180315038A1 (en) | 2017-04-28 | 2018-11-01 | Square, Inc. | Multi-source transaction processing |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1037251A1 (ru) * | 1981-12-25 | 1983-08-23 | Уфимский авиационный институт им.Орджоникидзе | Устройство управлени последовательностью операций |
US7120762B2 (en) * | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
US20050144602A1 (en) * | 2003-12-12 | 2005-06-30 | Tin-Fook Ngai | Methods and apparatus to compile programs to use speculative parallel threads |
US7340569B2 (en) | 2004-02-10 | 2008-03-04 | Wisconsin Alumni Research Foundation | Computer architecture providing transactional, lock-free execution of lock-based programs |
US20070022051A1 (en) | 2005-05-18 | 2007-01-25 | Parcxmart Technologies, Inc. | System and method for multi-application payment processing |
US20070136289A1 (en) | 2005-12-14 | 2007-06-14 | Intel Corporation | Lock elision with transactional memory |
US7392335B2 (en) | 2006-02-10 | 2008-06-24 | Oracle International Corporation | Anticipatory changes to resources managed by locks |
US7669015B2 (en) | 2006-02-22 | 2010-02-23 | Sun Microsystems Inc. | Methods and apparatus to implement parallel transactions |
US7793052B2 (en) | 2007-12-31 | 2010-09-07 | Oracle America, Inc. | System and method for implementing hybrid single-compare-single-store operations |
CN102144218A (zh) * | 2008-07-28 | 2011-08-03 | 超威半导体公司 | 可虚拟化的先进同步设备 |
US8533440B2 (en) | 2009-12-15 | 2013-09-10 | Microsoft Corporation | Accelerating parallel transactions using cache resident transactions |
US20130013899A1 (en) | 2011-07-06 | 2013-01-10 | International Business Machines Corporation | Using Hardware Transaction Primitives for Implementing Non-Transactional Escape Actions Inside Transactions |
US9460145B2 (en) * | 2013-03-26 | 2016-10-04 | International Business Machines Corporation | Transactional lock elision with delayed lock checking |
-
2013
- 2013-09-11 US US14/024,451 patent/US9588801B2/en active Active
-
2014
- 2014-08-18 EP EP14181221.4A patent/EP2849065B1/en not_active Not-in-force
- 2014-09-10 RU RU2014136808/08A patent/RU2595925C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP2849065A1 (en) | 2015-03-18 |
RU2595925C2 (ru) | 2016-08-27 |
US20150074366A1 (en) | 2015-03-12 |
EP2849065B1 (en) | 2016-10-26 |
US9588801B2 (en) | 2017-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2014136808A (ru) | Способ и устройство для усовершенствованных технологий пропуска блокировки | |
RU2017126201A (ru) | Способы для понимания неполного запроса на естественном языке | |
RU2014143109A (ru) | Обработка транзакций | |
JP2014521184A5 (ru) | ||
RU2012148401A (ru) | Средство процессорной поддержки | |
RU2015130841A (ru) | Способ и устройство для использования команд пользователя | |
RU2015128627A (ru) | Системы и способы для создания и использования гибридных мобильных приложений | |
MX2016003774A (es) | Metodo y aparato para identificacion de huella dactilar. | |
WO2016004657A1 (zh) | 一种针对嵌入式软件的测试用例自动化生成装置及其方法 | |
JP2016522476A5 (ru) | ||
RU2015123452A (ru) | Способ, устройство и электронное устройство для управления соединениями | |
RU2016144804A (ru) | Отслеживание деятельности робота | |
GB201116408D0 (en) | System for live-migration and automated recovery of applications in a distributed system | |
RU2012148585A (ru) | Сохранение/восстановление выбранных регистров при транзакционной обработке | |
BR112018005836A2 (pt) | método de depuração, processador de múltiplos núcleos e dispositivo de depuração | |
JP2016528650A5 (ru) | ||
RU2014151740A (ru) | Автообновление с квитированием во время работы клиентского интерфейса | |
JP2014532909A5 (ja) | 他のアプリケーションへの依存性に基づく、アプリケーションにおける操作の自動的実施のための方法、装置および記憶媒体 | |
RU2015142983A (ru) | Принудительное создание события элемента управления | |
GB2562014A (en) | Prioritization of transactions | |
JP2017504106A5 (ru) | ||
RU2016151382A (ru) | Способ и сервер для управления профилем | |
RU2016109180A (ru) | Способ, устройство и носитель информации для динамического внесения изменений в функцию | |
WO2017014752A1 (en) | Implementation of load acquire/store release instructions using load/store operation with dmb operation | |
JP2018523235A5 (ru) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180911 |