Using Transactional Memory to Avoid Blocking in OpenMP Synchronization Directives

  • Lars Bonnichsen and Artur Podobas. Using Transactional Memory to Avoid Blocking in OpenMP Synchronization Directives. In Christian Terboven, Bronis R. de Supinski, Pablo Reble, Barbara M. Chapman, and Matthias S. Müller, editors, OpenMP: Heterogenous Execution and Data Movements, Proceedings of the 11th International Workshop on OpenMP (IWOMP), pages 149-161, Aachen, Germany, 2015. Springer. doi:10.1007/978-3-319-24595-9_11
    [BibTeX] [Abstract]

    OpenMP applications with abundant parallelism are often characterized by their high-performance. Unfortunately, OpenMP applications with a lot of synchronization or serialization-points perform poorly because of blocking, i.e. the threads have to wait for each other. In this paper, we present methods based on hardware transactional memory (HTM) for executing OpenMP barrier, critical, and taskwait directives without blocking. Although HTM is still relatively new in the Intel and IBM architectures, we experimentally show a 73 % performance improvement over traditional locking approaches, and 23 % better than other HTM approaches on critical sections. Speculation over barriers can decrease execution time by up-to 41 %. We expect that future systems with HTM support and more cores will have a greater benefit from our approach as they are more likely to block.

    @InProceedings{2015-10-BONNICHSEN,
    author = {Lars Bonnichsen and Artur Podobas},
    editor = {Christian Terboven and Bronis R. de Supinski and Pablo Reble and Barbara M. Chapman and Matthias S. M{\"u}ller},
    title = {{Using Transactional Memory to Avoid Blocking in OpenMP Synchronization Directives}},
    booktitle = {{OpenMP: Heterogenous Execution and Data Movements, Proceedings of the 11th International Workshop on OpenMP (IWOMP)}},
    date = {2015-10-01/2015-10-02},
    year = {2015},
    publisher = {Springer},
    address = {Aachen, Germany},
    pages = {149-161},
    doi = {10.1007/978-3-319-24595-9_11},
    abstract = {OpenMP applications with abundant parallelism are often characterized by their high-performance. Unfortunately, OpenMP applications with a lot of synchronization or serialization-points perform poorly because of blocking, i.e. the threads have to wait for each other. In this paper, we present methods based on hardware transactional memory (HTM) for executing OpenMP barrier, critical, and taskwait directives without blocking. Although HTM is still relatively new in the Intel and IBM architectures, we experimentally show a 73 % performance improvement over traditional locking approaches, and 23 % better than other HTM approaches on critical sections. Speculation over barriers can decrease execution time by up-to 41 %. We expect that future systems with HTM support and more cores will have a greater benefit from our approach as they are more likely to block.}
    }

This entry was posted in Dissemination. Bookmark the permalink.

Comments are closed.