Some challenges facing Transactional Memory

نویسنده

  • Craig Zilles
چکیده

Evaluating Transactional Memory: TM’s advantages with respect to locks can be categorized roughly into to two categories: those relating to performance (optimistic execution and fine-grain synchronization) and those relating to programmability (no need to associate a synchronization variable to critical sections, natural composition, fault tolerance, and avoiding priority inversion). To date much of the technical evaluation of TM has focused on the former, with very little attempt (to our knowledge) to quantify the impact of the latter. We believe that the importance of the latter needs to be understood because much of the performance benefits of TM can be achieved using a much more straight-forward, evolutionary technique: Speculative Lock Elision (SLE). SLE is a hardware technique for performing an optimistic execution of conventional (e.g., locked) critical sections with fine-grain conflict detection. In the presence of modest sized critical sections (≤10k dynamic instructions) and modest contention, SLE will match or exceed the performance of any Hardware TM (HTM) system and outperform Software TM (STM) systems. Most importantly, however, SLE is very straight-forward to implement—it is already shipping in the Azul Systems Java Appliance— as unbounded “transactions” need not be supported and no source code changes are required for its use. With the challenges remaining in how TM should be cleanly and efficiently architected (some of which we discuss below) and the significant software investment that will be required to enable its widespread adoption, it is import to understand the true programmability benefits of TM. This will require the involvment of software engineering experts and studies of programmer productivity. In such efforts, we suggest that in addition to comparing TM against locks, such work also considers SLE as another benchmark against which TMs benefits must be demonstrated.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Composable Transactional Objects: A Position Paper

Memory transactions provide programmers with a convenient abstraction for concurrent programs: a keyword (such as atomic) designating a region of code that appears, from the perspective of concurrent threads, to execute atomically. Unfortunately, existing implementations in the form of software transactional memory (STM) are often ineffective due to their monolithic nature: every single read or...

متن کامل

Debugging with Transactional Memory

Transactional programming promises to substantially simplify the development of correct, scalable, and efficient concurrent programs. Designs for supporting transactional programming using transactional memory implemented in hardware, software, and a mixture of the two have emerged recently. To our knowledge, nobody has yet addressed issues involved with debugging programs executed using transa...

متن کامل

Partition-Based Hardware Transactional Memory for Many-Core Processors

Transactional memory is an appealing technology which frees programmer from lock-based programming. However, most of current hardware transactional memory systems are proposed for multi-core processors, and may face some challenges with the increasing of processor cores in many-core systems, such as inefficient utilization of transactional buffers, unsolved problem of transactional buffer overf...

متن کامل

Parallelism in Current and Future Processors - Challenges and Support for Designing Optimal Algorithms

Both explicit usable and implicit transparent parallelism is nothing really new in processor technology but has been restricted to high-end computer systems accessible to only a few developers. In recent years, however, parallelism on all levels has found its way into even the cheapest desktop and notebook system and thus every algorithm being developed today should reflect this change to optim...

متن کامل

Towards Transactional Memory Support for GCC

Transactional memory is a parallel programming model providing many advantages over lock-based concurrency. It is one important attempt to exploit the potential of multicore architectures while preserving software development productivity. This paper describes the design of a transactional memory extension for GCC, and highlights research challenges and perspectives enabled by this design.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007