کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
432429 688890 2013 14 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Software transactional memories for Scala
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Software transactional memories for Scala
چکیده انگلیسی

Transactional memory is an alternative to locks for handling concurrency in multi-threaded environments. Instead of providing critical regions that only one thread can enter at a time, transactional memory records sufficient information to detect and correct for conflicts if they occur. This paper surveys the range of options for implementing software transactional memory in Scala. Where possible, we provide references to implementations that instantiate each technique. As part of this survey, we document for the first time several techniques developed in the implementation of Manchester University Transactions for Scala. We order the implementation techniques on a scale moving from the least to the most invasive in terms of modifications to the compilation and runtime environment. This shows that, while the less invasive options are easier to implement and more common, they are more verbose and invasive in the codes using them, often requiring changes to the syntax and program structure throughout the code.


► Transactional memory is an alternative to lock-based concurrency management.
► We describe the range of techniques for software transactional memory including some new techniques.
► We evaluate all techniques and order them by invasiveness to the Scala environment.
► The least invasive techniques are harder for users, and adversely affect the code.
► The optimum point is not at either extreme of the scale.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Parallel and Distributed Computing - Volume 73, Issue 2, February 2013, Pages 150–163
نویسندگان
, , , , ,