RU2014136808A - Способ и устройство для усовершенствованных технологий пропуска блокировки - Google Patents

Способ и устройство для усовершенствованных технологий пропуска блокировки Download PDF

Info

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
Application number
RU2014136808A
Other languages
English (en)
Other versions
RU2595925C2 (ru
Inventor
Ирина КАЛЧУ
Джастин Е. ГОТТШЛИХ
Татьяна ШПЕЙСМЕН
Жиль А. ПОКАМ
Original Assignee
Интел Корпорейшн
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU2014136808A publication Critical patent/RU2014136808A/ru
Application granted granted Critical
Publication of RU2595925C2 publication Critical patent/RU2595925C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • G06F9/528Mutual 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, в которой прерывание спекулятивной критической секции содержит несовершение результатов спекулятивной критической секции.
RU2014136808/08A 2013-09-11 2014-09-10 Способ и устройство для усовершенствованных технологий пропуска блокировки RU2595925C2 (ru)

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)

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

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

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