AMD Logo AMD Developer Central

AMD "Advanced Synchronization Facility" Proposal
Skip Navigation LinksHome > CPU Tools > AMD "Advanced Synchronization Facility" Proposal

Overview

The AMD Advanced Synchronization Facility (ASF) is an experimental instruction set extension for the AMD64 architecture that would provide new capabilities for efficient synchronization of access to shared data in highly multithreaded applications as well as operating system kernels. ASF provides a means for software to inspect and update multiple shared memory locations atomically without having to rely on locks for mutual exclusion. It is intended to facilitate lock-free programming for highly concurrent shared data structures, allowing more complex and higher performance manipulation of such structures than is practical with traditional techniques based on compare-swap instructions such as CMPXCHG16B. ASF code can also interoperate with lock-based code, or with Software Transactional Memory.

Some basic usage examples of ASF are provided in the specification. However, we expect the programming community could readily use the power and flexibility of ASF to implement very sophisticated, robust and innovative concurrent data structure algorithms, and we encourage such experimentation. AMD will be releasing a simulation framework in the near future to facilitate this.

AMD is releasing this proposal to encourage the parallel programming community to review and comment on it. Such input will help shape the ultimate direction of this feature, so that it may best serve the needs of advanced parallel application developers.

Documentation

The ASF specification is currently in the proposal stage. AMD is committed to providing technologies that meet software development needs, and is therefore soliciting community input to help refine the ASF specification.

Please download the ASF specification proposal (PDF) (March 2009).

Feedback

Please send your feedback, comments and suggestions to ASF_Feedback@amd.com, or feel free to join public discussion of it in our developer forum.