This work proposes that a counter-intuitive hardware instruction should be included on future CPU processors. Prior CPU processors have implemented a functionality called "hardware transactional memory." Hardware transactional memory, or HTM, gives a program the ability to make a series of changes (a "transaction") while hiding intermediate steps, preventing its scratch work from becoming visible. If anyone else tries to see this scratch work, the attempt is aborted, leaving the global state unchanged (the program can then retry).
Our proposal argues that an always-abort HTM functionality is useful. A program using always-abort HTM (AAHTM) expects that, no matter what, the global state will remain unchanged after the transaction. This idea is useful because we can use AAHTM to "warm-up" the hardware before actually executing the real attempt. Since we can use AAHTM when it would be otherwise unsafe to execute code, and we can use it when a program would otherwise be waiting, we can use the functionality to accelerate a large class of programs. Notably, we are able to accelerate older versions of database software by up to 2.5x, and can accelerate modern matrix libraries by 15%.
Join Sparrho today to stay on top of science
Discover, organise and share research that matters to you