RU2016126977A - Расширение согласующего протокола для индикации состояния транзакции - Google Patents

Расширение согласующего протокола для индикации состояния транзакции Download PDF

Info

Publication number
RU2016126977A
RU2016126977A RU2016126977A RU2016126977A RU2016126977A RU 2016126977 A RU2016126977 A RU 2016126977A RU 2016126977 A RU2016126977 A RU 2016126977A RU 2016126977 A RU2016126977 A RU 2016126977A RU 2016126977 A RU2016126977 A RU 2016126977A
Authority
RU
Russia
Prior art keywords
transaction
remote
processor
request
requesting
Prior art date
Application number
RU2016126977A
Other languages
English (en)
Other versions
RU2665306C2 (ru
Inventor
Эрик Марк ШВАРЦ
Фади Юсуф БУСАБА
Михаэль Карл ГШВИНД
Тимоти СЛЕГЕЛ
Валентина САЛАПУРА
Кристиан ДЖАКОБИ
III Харолд Уэйд КЕЙН
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 RU2016126977A publication Critical patent/RU2016126977A/ru
Application granted granted Critical
Publication of RU2665306C2 publication Critical patent/RU2665306C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Advance Control (AREA)

Claims (33)

1. Компьютерный программный продукт для реализации согласующего протокола, причем компьютерный программный продукт содержит:
машиночитаемый информационный носитель, имеющий заключенные в нем программные команды, причем машиночитаемый информационный носитель не является сигналом, а программные команды являются считываемыми посредством устройства обработки данных для принуждения устройства обработки данных к осуществлению способа, содержащего:
отправку запроса на данные к удаленному процессору,
получение процессором ответа от удаленного процессора, причем ответ включает в себя состояние транзакции удаленной транзакции на удаленном процессоре, и
добавление процессором состояния транзакции удаленной транзакции на удаленном процессоре в таблицу отслеживания взаимного вмешательства локальных транзакций.
2. Компьютерный программный продукт по п. 1, причем состояние транзакции удаленной транзакции добавляется к транзакционному диагностическому блоку.
3. Компьютерный программный продукт по п. 1, причем удаленная транзакция выполняется на удаленном процессоре и прекращает выполнение на основании отправления запроса на данные к удаленному процессору.
4. Компьютерный программный продукт по п. 1, причем запрос производится посредством запрашивающей транзакции, выполняющейся на отправляющем запрос процессоре.
5. Компьютерный программный продукт по п. 1, причем на основании запроса запрашивающей транзакцией, вызывающего прекращение удаленной транзакции на удаленном процессоре, процессор добавляет состояние транзакции удаленной транзакции к таблице отслеживания взаимного вмешательства локальных транзакций и увеличивает отсчет числа прекращений транзакции, произошедших для удаленной транзакции.
6. Компьютерный программный продукт по п. 1, причем состояние транзакции удаленной транзакции, полученное процессором в ответе от удаленного процессора, указывает, что удаленная транзакция была вынуждена прекратиться на основании получения запроса от процессора.
7. Компьютерный программный продукт по п. 1, причем таблица отслеживания взаимного вмешательства локальных транзакций содержит несколько транзакций, испытавших взаимное вмешательство и прекращенных посредством запрашивающей транзакции, выполняющейся на процессоре.
8. Компьютерный программный продукт по п. 1, причем таблица отслеживания взаимного вмешательства локальных транзакций содержит информацию, описывающую удаленные транзакции на удаленных процессорах, и
причем описывающая удаленные транзакции на удаленных процессорах информация включает в себя по меньшей мере одно из: тип взаимного вмешательства, вызванного выполняющейся на процессоре запрашивающей транзакцией, идентификация или адрес каждой из удаленных транзакций, которые были прекращены запрашивающей транзакцией, идентификация каждого из удаленных процессоров, на которых произошло взаимное вмешательство, адрес каждой из удаленных транзакций, которые были прекращены, и показатель проделанной работы, выполненной каждой из удаленных транзакций до того, как быть прекращенной.
9. Компьютерная система для реализации согласующего протокола, причем система содержит:
память, и
процессор, коммуникативно соединенный с памятью, причем компьютерная система выполнена для выполнения способа, содержащего:
отправку запроса на данные к удаленному процессору,
получение процессором ответа от удаленного процессора, причем ответ включает в себя состояние транзакции удаленной транзакции на удаленном процессоре, и
добавление процессором состояния транзакции удаленной транзакции на удаленном процессоре в таблицу отслеживания взаимного вмешательства локальных транзакций.
10. Система по п. 9, причем состояние транзакции удаленной транзакции добавляется к транзакционному диагностическому блоку.
11. Система по п. 9, причем удаленная транзакция выполняется на удаленном процессоре и прекращает выполнение на основании отправления запроса на данные к удаленному процессору.
12. Система по п. 9, причем запрос производится посредством запрашивающей транзакции, выполняющейся на отправляющем запрос процессоре.
13. Система по п. 9, причем на основании запроса запрашивающей транзакцией, вызывающего прекращение удаленной транзакции на удаленном процессоре, процессор добавляет состояние транзакции удаленной транзакции к таблице отслеживания взаимного вмешательства локальных транзакций и увеличивает отсчет числа прекращений транзакции, произошедших для удаленной транзакции.
14. Система по п. 9, причем состояние транзакции удаленной транзакции, полученное процессором в ответе от удаленного процессора, указывает, что удаленная транзакция была вынуждена прекратиться на основании получения запроса от процессора.
15. Система по п. 9, причем таблица отслеживания взаимного вмешательства локальных транзакций содержит несколько транзакций, испытавших взаимное вмешательство и прекращенных посредством запрашивающей транзакции, выполняющейся на процессоре.
16. Компьютерно-реализованный способ реализации согласующего протокола, причем способ содержит:
отправку запроса на данные к удаленному процессору,
получение процессором ответа от удаленного процессора, причем ответ включает в себя состояние транзакции удаленной транзакции на удаленном процессоре, и
добавление процессором состояния транзакции удаленной транзакции на удаленном процессоре в таблицу отслеживания взаимного вмешательства локальных транзакций.
17. Способ по п. 16, причем состояние транзакции удаленной транзакции добавляется к транзакционному диагностическому блоку.
18. Способ по п. 16, причем удаленная транзакция выполняется на удаленном процессоре и прекращает выполнение на основании отправления запроса на данные к удаленному процессору.
19. Способ по п. 16, причем запрос производится посредством запрашивающей транзакции, выполняющейся на отправляющем запрос процессоре.
20. Способ по п. 16, причем на основании запроса запрашивающей транзакцией, вызывающего прекращение удаленной транзакции на удаленном процессоре, процессор добавляет состояние транзакции удаленной транзакции к таблице отслеживания взаимного вмешательства локальных транзакций и увеличивает отсчет числа прекращений транзакции, произошедших для удаленной транзакции.
RU2016126977A 2014-03-14 2015-03-11 Расширение согласующего протокола для индикации состояния транзакции RU2665306C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/212,217 US9817693B2 (en) 2014-03-14 2014-03-14 Coherence protocol augmentation to indicate transaction status
US14/212,217 2014-03-14
PCT/EP2015/055019 WO2015135967A1 (en) 2014-03-14 2015-03-11 Coherence protocol augmentation to indicate transaction status

Publications (2)

Publication Number Publication Date
RU2016126977A true RU2016126977A (ru) 2018-04-16
RU2665306C2 RU2665306C2 (ru) 2018-08-28

Family

ID=52684217

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016126977A RU2665306C2 (ru) 2014-03-14 2015-03-11 Расширение согласующего протокола для индикации состояния транзакции

Country Status (16)

Country Link
US (2) US9817693B2 (ru)
EP (1) EP3117323B1 (ru)
JP (1) JP6490092B2 (ru)
KR (1) KR101843671B1 (ru)
CN (1) CN106133705B (ru)
AU (1) AU2015228889B2 (ru)
BR (1) BR112016021217B1 (ru)
CA (1) CA2940915C (ru)
ES (1) ES2764954T3 (ru)
IL (1) IL247803B (ru)
MX (1) MX2016011905A (ru)
RU (1) RU2665306C2 (ru)
SG (1) SG11201606098YA (ru)
TW (1) TWI652574B (ru)
WO (1) WO2015135967A1 (ru)
ZA (1) ZA201606670B (ru)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817693B2 (en) * 2014-03-14 2017-11-14 International Business Machines Corporation Coherence protocol augmentation to indicate transaction status
US9639276B2 (en) * 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
GB2539641B (en) * 2015-06-11 2019-04-03 Advanced Risc Mach Ltd Coherency between a data processing device and interconnect
US20180004521A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Processors, methods, and systems to identify stores that cause remote transactional execution aborts
KR101946135B1 (ko) * 2017-01-11 2019-02-08 울산과학기술원 비휘발성 메모리를 이용하는 데이터베이스 관리 시스템 및 방법
US10521351B2 (en) 2017-01-12 2019-12-31 International Business Machines Corporation Temporarily suppressing processing of a restrained storage operand request
US10621090B2 (en) * 2017-01-12 2020-04-14 International Business Machines Corporation Facility for extending exclusive hold of a cache line in private cache
US20180365070A1 (en) * 2017-06-16 2018-12-20 International Business Machines Corporation Dynamic throttling of broadcasts in a tiered multi-node symmetric multiprocessing computer system
US10585800B2 (en) 2017-06-16 2020-03-10 International Business Machines Corporation Reducing cache transfer overhead in a system
EP3462312B1 (en) * 2017-09-29 2022-08-17 ARM Limited Permitting unaborted processing of transaction after exception mask update instruction
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory
US20190155985A1 (en) * 2017-11-22 2019-05-23 Mentor Graphics Corporation Communication protocols design verification through database systems for hardware-based emulation platforms
CN108427576B (zh) * 2018-02-12 2022-04-01 华夏芯(北京)通用处理器技术有限公司 一种免受Spectre攻击的高性能推测执行算法
GB2572578B (en) * 2018-04-04 2020-09-16 Advanced Risc Mach Ltd Cache annotations to indicate specultative side-channel condition
US10877895B2 (en) 2018-08-27 2020-12-29 Qualcomm Incorporated Method, apparatus, and system for prefetching exclusive cache coherence state for store instructions
KR102165860B1 (ko) 2018-12-31 2020-10-14 성균관대학교산학협력단 슬로티드 페이지의 더블 헤더 로깅 방법 및 데이터베이스 장치
JP2020135391A (ja) 2019-02-19 2020-08-31 キオクシア株式会社 メモリシステム
US11914511B2 (en) 2020-06-22 2024-02-27 Apple Inc. Decoupling atomicity from operation size
CN112118296B (zh) * 2020-08-30 2023-12-29 浪潮金融信息技术有限公司 一种基于mqtt协议的物联网文件传输方法
US20230176956A1 (en) * 2021-12-08 2023-06-08 Hcl Technologies Limited Method and system for performing dataload protocol operation testing in an avionics unit

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2727222B1 (fr) 1994-11-21 1996-12-27 Cit Alcatel Protocole transactionnel, et systeme pour la mise en oeuvre de ce protocole
GB2302966A (en) 1995-06-30 1997-02-05 Ibm Transaction processing with a reduced-kernel operating system
US6697935B1 (en) * 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
US6449699B2 (en) 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6484240B1 (en) 1999-07-30 2002-11-19 Sun Microsystems, Inc. Mechanism for reordering transactions in computer systems with snoop-based cache consistency protocols
US6349361B1 (en) 2000-03-31 2002-02-19 International Business Machines Corporation Methods and apparatus for reordering and renaming memory references in a multiprocessor computer system
US6990559B2 (en) 2002-10-03 2006-01-24 Hewlett-Packard Development Company, L.P. Mechanism for resolving ambiguous invalidates in a computer system
US7398355B1 (en) 2003-02-13 2008-07-08 Sun Microsystems, Inc. Avoiding locks by transactionally executing critical sections
US7421544B1 (en) 2005-04-04 2008-09-02 Sun Microsystems, Inc. Facilitating concurrent non-transactional execution in a transactional memory system
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock
US8924653B2 (en) * 2006-10-31 2014-12-30 Hewlett-Packard Development Company, L.P. Transactional cache memory system
US7827357B2 (en) * 2007-07-31 2010-11-02 Intel Corporation Providing an inclusive shared cache among multiple core-cache clusters
US8402464B2 (en) 2008-12-01 2013-03-19 Oracle America, Inc. System and method for managing contention in transactional memory using global execution data
US8627017B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Read and write monitoring attributes in transactional memory (TM) systems
US8250331B2 (en) 2009-06-26 2012-08-21 Microsoft Corporation Operating system virtual memory management for hardware transactional memory
US9569254B2 (en) * 2009-07-28 2017-02-14 International Business Machines Corporation Automatic checkpointing and partial rollback in software transaction memory
US8516202B2 (en) * 2009-11-16 2013-08-20 International Business Machines Corporation Hybrid transactional memory system (HybridTM) and method
US8402218B2 (en) 2009-12-15 2013-03-19 Microsoft Corporation Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
US20120227045A1 (en) * 2009-12-26 2012-09-06 Knauth Laura A Method, apparatus, and system for speculative execution event counter checkpointing and restoring
US8719828B2 (en) * 2011-10-14 2014-05-06 Intel Corporation Method, apparatus, and system for adaptive thread scheduling in transactional memory systems
US20130159653A1 (en) * 2011-12-20 2013-06-20 Martin T. Pohlack Predictive Lock Elision
WO2013101078A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Support for speculative ownership without data
US9336046B2 (en) * 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US9396115B2 (en) 2012-08-02 2016-07-19 International Business Machines Corporation Rewind only transactions in a data processing system supporting transactional storage accesses
US9817693B2 (en) * 2014-03-14 2017-11-14 International Business Machines Corporation Coherence protocol augmentation to indicate transaction status

Also Published As

Publication number Publication date
EP3117323B1 (en) 2019-12-04
US20150261564A1 (en) 2015-09-17
WO2015135967A1 (en) 2015-09-17
US20150261676A1 (en) 2015-09-17
CA2940915A1 (en) 2015-09-17
ES2764954T3 (es) 2020-06-05
BR112016021217B1 (pt) 2022-08-09
CN106133705B (zh) 2019-02-22
KR20160088432A (ko) 2016-07-25
TW201610677A (zh) 2016-03-16
ZA201606670B (en) 2018-05-30
BR112016021217A2 (ru) 2017-08-15
AU2015228889A1 (en) 2016-08-04
RU2665306C2 (ru) 2018-08-28
EP3117323A1 (en) 2017-01-18
CN106133705A (zh) 2016-11-16
AU2015228889B2 (en) 2018-02-01
MX2016011905A (es) 2016-12-02
KR101843671B1 (ko) 2018-03-29
IL247803B (en) 2019-03-31
SG11201606098YA (en) 2016-08-30
JP6490092B2 (ja) 2019-03-27
TWI652574B (zh) 2019-03-01
JP2017514206A (ja) 2017-06-01
US9971626B2 (en) 2018-05-15
CA2940915C (en) 2022-10-11
US9817693B2 (en) 2017-11-14

Similar Documents

Publication Publication Date Title
RU2016126977A (ru) Расширение согласующего протокола для индикации состояния транзакции
MX2017015489A (es) Autodiagnostico de procesador del vehiculo autonomo.
JP2018092577A5 (ru)
RU2016149504A (ru) Программный продукт обработки информации, устройство обработки информации и система обработки информации
WO2019014523A8 (en) Systems and methods for automated decentralized multilateral transaction processing
JP2019503525A5 (ru)
JP2015511737A5 (ru)
RU2016112556A (ru) Способ и оборудование для управления устройством
MX2016003784A (es) Metodo y dispositivo para tener acceso a la red del operador.
BR112018068847A2 (pt) sistema e método de processamento de taxa de intercâmbio
RU2017124135A (ru) Устройство обработки информации, способ управления для устройства обработки информации, система обработки информации и компьютерная программа
JP2013025791A5 (ru)
RU2016127442A (ru) Область управления для администрирования множественными потоками в компьютере
WO2016167980A3 (en) Virtual machine systems
RU2016101049A (ru) Способ и устройство для обнаружения интеллектуального устройства
RU2020112483A (ru) Устройство, способ и программа для обработки сигнала
JP2019512129A5 (ru)
JP2016509714A5 (ru)
FR3029376B1 (fr) Procede de traitement d'une requete de livraison de donnees, dispositif, module proxy, terminal client et programme d'ordinateur associes
JP2017527027A5 (ru)
JP2014002716A5 (ru)
JP2013186488A5 (ru)
WO2015024491A3 (en) Enhanced data transfer in multi-cpu systems
RU2012147510A (ru) Предоставление одной программой доступа другой программе к средству отслеживания предупреждений
JP2018501609A5 (ru)