Software Transactional Memory (STM) stands as powerful concurrent programming paradigm, enabling atomicity and isolation while accessing shared data. On the downside, STM may suffer from performance degradation due to excessive conflicts among concurrent transactions, which cause waste of CPU-cycles and energy because of transaction aborts. An approach to cope with this issue consists of putting in place smart scheduling strategies which temporarily suspend the execution of some transaction in order to reduce the transaction conflict rate. In this article, we present an adaptive model-based transaction scheduling technique relying on a Markov Chain-based performance model of STM systems. Our scheduling technique is adaptive in a twofold sense: (i) it controls the execution of transactions depending on throughput predictions by the model as a function of the current system state, (ii) it re-tunes on-line the Markov Chain-based model to adapt it-and the outcoming transaction scheduling decisions-to dynamic variations of the workload. We have been able to achieve the latter target thanks to the fact that our performance model is extremely lightweight. In fact, to be recomputed, it requires a reduced set of input parameters, whose values can be estimated via a few on-line samples related to the current workload dynamics. We also present a scheduler that implements our adaptive technique, which we integrated within the open source TinySTM package. Further, we report the results of an experimental study based on the STAMP benchmark suite, which has been aimed at assessing both the accuracy of our performance model in predicting the actual system throughput and the advantages of the adaptive scheduling policy over literature techniques.

Adaptive Model-based Scheduling in Software Transactional Memory / Di Sanzo, Pierangelo; Pellegrini, Alessandro; Sannicandro, Marco; Ciciani, Bruno; Quaglia, Francesco. - In: IEEE TRANSACTIONS ON COMPUTERS. - ISSN 0018-9340. - 69:5(2020), pp. 621-632. [10.1109/TC.2019.2954139]

Adaptive Model-based Scheduling in Software Transactional Memory

Di Sanzo, Pierangelo
Primo
;
Pellegrini, Alessandro
;
Ciciani, Bruno
;
Quaglia, Francesco
2020

Abstract

Software Transactional Memory (STM) stands as powerful concurrent programming paradigm, enabling atomicity and isolation while accessing shared data. On the downside, STM may suffer from performance degradation due to excessive conflicts among concurrent transactions, which cause waste of CPU-cycles and energy because of transaction aborts. An approach to cope with this issue consists of putting in place smart scheduling strategies which temporarily suspend the execution of some transaction in order to reduce the transaction conflict rate. In this article, we present an adaptive model-based transaction scheduling technique relying on a Markov Chain-based performance model of STM systems. Our scheduling technique is adaptive in a twofold sense: (i) it controls the execution of transactions depending on throughput predictions by the model as a function of the current system state, (ii) it re-tunes on-line the Markov Chain-based model to adapt it-and the outcoming transaction scheduling decisions-to dynamic variations of the workload. We have been able to achieve the latter target thanks to the fact that our performance model is extremely lightweight. In fact, to be recomputed, it requires a reduced set of input parameters, whose values can be estimated via a few on-line samples related to the current workload dynamics. We also present a scheduler that implements our adaptive technique, which we integrated within the open source TinySTM package. Further, we report the results of an experimental study based on the STAMP benchmark suite, which has been aimed at assessing both the accuracy of our performance model in predicting the actual system throughput and the advantages of the adaptive scheduling policy over literature techniques.
2020
Transactional Memory; Transaction Scheduling; Performance Models; Model-based Performance Optimization; Markov processes
01 Pubblicazione su rivista::01a Articolo in rivista
Adaptive Model-based Scheduling in Software Transactional Memory / Di Sanzo, Pierangelo; Pellegrini, Alessandro; Sannicandro, Marco; Ciciani, Bruno; Quaglia, Francesco. - In: IEEE TRANSACTIONS ON COMPUTERS. - ISSN 0018-9340. - 69:5(2020), pp. 621-632. [10.1109/TC.2019.2954139]
File allegati a questo prodotto
File Dimensione Formato  
DiSanzo_Postprint_Adaptive-Model_2020.pdf

accesso aperto

Note: https://ieeexplore.ieee.org/document/8906078
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.43 MB
Formato Adobe PDF
1.43 MB Adobe PDF
DiSanzo_Adaptive-Model_2020.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.59 MB
Formato Adobe PDF
1.59 MB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1339993
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 4
  • ???jsp.display-item.citation.isi??? 3
social impact