We use cookies to ensure that we give you the best experience on our website. By continuing to browse this repository, you give consent for essential cookies to be used. You can read more about our Privacy and Cookie Policy.

Durham Research Online
You are in:

A case study for a new invasive extension of Intel's Threading Building Blocks.

Schreiber, Martin and Weinzierl, Tobias (2018) 'A case study for a new invasive extension of Intel's Threading Building Blocks.', in Proceedings of HiPEAC 2018 — 3rd COSH Workshop on Co-Scheduling of HPC Applications (COSH 2018). München: Technische Universität München (TUM), pp. 21-26.


We study codes deploying multiple MPI ranks to one node where each rank is parallelised with TBB. A static assignment of cores to ranks here is disadvantageous if the load is not perfectly balanced, the runtime is subject to fluctuations or one MPI rank runs through phases with low concurrency. We propose an extension to TBB where developers manually annotate which code parts could exploit further cores. The cores are then dynamically associated with ranks. Our approach is decentralised, lightweight and minimally invasive w.r.t. code modifications. Some brief performance studies suggest that a flexible, permanently changing assignment of cores to compute ranks can outperform a static distribution, while greedily haggling over cores throughout a simulation might perform even better.

Item Type:Book chapter
Full text:(AM) Accepted Manuscript
Download PDF
Publisher Web site:
Publisher statement:Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice. COSH2018, January 2018, Manchester, United Kingdom © 2018 Copyright held by the authors. Published in the TUM library
Date accepted:15 January 2018
Date deposited:16 January 2018
Date of first online publication:2018
Date first made open access:No date available

Save or Share this output

Look up in GoogleScholar