کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
434313 | 1441700 | 2013 | 13 صفحه PDF | دانلود رایگان |
Software transactional memory (STM) is a promising paradigm which simplifies concurrent programming for chip multiprocessors. Although the implementations of STMs are simple and efficient, they display inconsistent performance: different design decisions lead to systems performing best under different circumstances, often by a large margin.In this paper, we investigate transactional read and write policies in time-based STMs. Existing transactional read and write policies follow a static approach and use one policy across all applications. However, no single universal policy offers optimal performance across all applications. We propose adaptive read validation (ARV) and adaptive lock acquisition (ALA) policies for time-based STMs. Our solutions adjust transactional read and write policies dynamically and according to workloads’ behavior. ARV and ALA are history-based techniques and exploit transaction’s behavior in the past to adjust transactional read and write policies in the future. ARV and ALA not only vary read validation and lock acquisition policies across applications, but also adjust the two policies across different phases of an application. ARV and ALA are simple to implement, require no application-specific information, and are transparent to programmers. We evaluate our adaptive techniques using Stamp v0.9.10 benchmark suite. The evaluation reveals that ARV and ALA are highly effective and improve performance significantly.
Journal: Science of Computer Programming - Volume 78, Issue 9, 1 September 2013, Pages 1559-1571