作者: Michael Spear , Michael Scott , Luke Dalessandro , Virendra Marathe
DOI:
关键词:
摘要: Like many past extensions to user programming models, transactions can be added the language or implemented in a library using existing features. We describe library-based transactional memory API for C++. Designed address limitations of an earlier with similar functionality, new interface leverages macros, exceptions, multiple inheritance, generics (templates), and overloading operators (including pointer dereference) attempt minimize syntactic clutter, admit wide variety back-end implementations, avoid arbitrary restrictions on otherwise valid constructs, enable privatization, catch as programmer errors possible, provide semantics that “seem natural” C++ programmers. Having used our construct several small one large application, we conclude while is significant improvement efforts, makes it practical systems researchers build nontrivial applications, fails realize simplicity was supposed motivation first place. Several groups have proposed compiler support way improve performance transactions. conjecture compiler—and language—support will even more important model.