Participant: Diego Didona
Home Institution: INESC-ID / Instituto Superior Técnico - Technical University of Lisbon
Home Country: Portugal
Host: Prof. Pascal Felber
Host Institution: Université de Neuchâtel - Institut D’Informatique
Host Country: Switzerland
Start Date: 2012-01-16
End Date: 2012-02-16
Description: Transactional memory (TM) has been widely studied over the last decade as it provides a scalable and easy-to-use alternative to locks. Over the last years, a wide body of literature has been published on TM, and several variants have been developed, including hardware-based (HTM), software-based (STM), and distributed (DTM). One of the key results highlighted by existing research is that, independently of the nature of the synchronization scheme adopted by a TM platform, its actual performance is strongly workload dependent and affected by a number of complex, often intertwined factors (e.g. duration of transactions, level of data contention, ratio of update vs read-only transactions).
The motivation for this STSM is the belief that most workloads have a natural degree of parallelism, i.e., there is a workload-specific threshold below which adding more threads will improve transaction throughput, and over which new threads will not help and might even degrade performance because of higher contention and aborts rates, even if sufficiently many cores are available.
The STSM’s focus is on the importance of adapting the concurrency level to the workload (which is referred to as elastic scaling) in various application settings. Related problems have been already addressed in previous research. For instance, Felber et al. tackled the problem of how to tune at run time the number of “locks” and their coverage of the whole address space in the TinySTM library. Wang et al. exploit machine learning techniques to select which STM implementation to adopt on the basis of the application workload. Ansari et al. adapt the parallelism of STM applications in order to maintain the transaction abort rate under a predefined level. In the area of replicated relational databases, recent works have proposed mechanisms for supporting elastic scaling, namely automatically adapting, in face of varying workloads, the number of nodes the platform is deployed onto. So far, however, limited attention has been devoted to dynamically identifying the optimal degree of parallelism for a (D)TM platform, namely the degree of local (i.e. number of active threads) and possibly global (i.e. number of nodes in a DTM) concurrency that maximizes the throughput of complex (D)TM applications. The purpose of this STSM is to investigate this topic, taking as a starting point experiences and results already obtained separately by the research teams from Lisbon and Neuchâtel.