Integrating dataflow abstractions into transactional memory
Vladimir Gajinov, Miloš Milovanović, Osman Ünsal, Adrián Cristal Kestelman, Eduard Ayguadé Parra, Mateo Valero Cortés · RECERCAT (Consorci de Serveis Universitaris de Catalunya) · 2011
Many concurrent programs require some form of conditional synchronization to coordinate the execution of different program tasks. Programming these algorithms using transactional memory (TM) often results in a high conflict rate between transactions. In this paper we propose an Atomic dataflow model - ADF, which aims to reduce transaction conflicts by incorporating dataflow scheduling principles into transactional memory. The ADF model is based on the execution of atomic units of work called ADF tasks. A programmer explicitly defines data dependencies for the ADF task using the trigger set extension. Trigger set data is implicitly tracked by the TM runtime system, which detects changes and enables the re-execution of a transaction when its dependencies are satisfied. In this paper we fully describe the ADF model, present its syntax and show advantages of the model on a practical example.