Systems and methods for managing
divergence of best effort transactional support mechanisms in various
transactional memory implementations using a portable transaction interface are described. This interface may be implemented by various combinations of best effort hardware features, including none at all. Because the features offered by this interface may be best effort, a default (e.g.,
software) implementation may always be possible without the need for special hardware support.
Software may be written to the interface, and may be
executable on a variety of platforms, taking
advantage of best effort hardware features included on each one, while not depending on any particular mechanism. Multiple implementations of each operation defined by the interface may be included in one or more portable transaction interface libraries. Systems and / or
application software may be written as platform-independent and / or portable, and may call functions of these libraries to implement the operations for a targeted execution environment.