Self-optimizing Concurrency in Software Transactional Memory via Model-based Approach
In the era of multi-core systems, the need for tools simplifying the development of concurrent applications is increasingly looming. In such a context, Software Transactional Memory (STM) is recognized as an effective programming paradigm, thanks to its ability to guarantee consistency of data that are shared across concurrent threads in an application transparent manner. On the other hand, a core problem to cope with for STM, which has received great attention of late, deals with (dynamically) regulating the degree of concurrency, in order to deliver optimal performance. In fact, depending on the application workload, whose profile can also change over time, an oversized number of concurrent threads may cause loss in performance due to excessive data contention, which may give rise to excessively high transaction abort rate. Conversely, an undersized number of threads may hamper performance due to limited exploitation of parallelism. We address this problem by proposing a self-regulation approach of the concurrency level, which leverages a parametric analytical performance model aimed at predicting the scalability of the STM application as a function of the actual workload profile and the number of concurrent threads supposed to sustaining the execution. The regulation scheme allows achieving optimal performance during the whole lifetime of the application via dynamically resizing the number of concurrent threads according to the predictions by the model. The later is customized for a specific application/platform pair through regression analysis, which is based on a lightweight sampling phase. We also present a real implementation of the model-based concurrency self-regulation architecture integrated within the open source TinySTM framework. Further, the effectiveness of the proposal is evaluated via an experimental assessment based on standard STM benchmark applications.
Year of publication: |
2013-07
|
---|---|
Authors: | Di Sanzo, Pierangelo ; Del Re, Francesco ; Rughetti, Diego ; Ciciani, Bruno ; Quaglia, Francesco |
Institutions: | Dipartimento di Ingegneria Informatica, Automatica e Gestionale "Antonio Ruberti", Facoltà di Ingegneria dell'Informazione Informatica e Statistica |
Subject: | Software Transactional Memory | performance modeling | concurrency regulation | self-tuning |
Saved in:
freely available
Extent: | application/pdf |
---|---|
Series: | DIAG Technical Reports. - ISSN 2281-4299. |
Type of publication: | Book / Working Paper |
Notes: | Number 2013-07 24 pages |
Source: |
Persistent link: https://www.econbiz.de/10011148675
Saved in favorites
Similar items by subject
-
System capacity and performance modelling of finite buffer queueing networks
Smith, J. M., (2014)
-
Fuzzy self-tuning differential evolution for optimal product line design
Tsafarakis, Stelios, (2020)
-
Competition between volatility and overall market gain and the performance of leveraged index funds
Schad, Rainer, (2018)
- More ...