ВЫПОЛНЕНИЕ ВЫНУЖДЕННОЙ ТРАНЗАКЦИИ

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