Scalable Concurrent Pools Based on Diffracting Trees

Alexandr D. Anenkov, Alexey A. Paznikov, Mikhail S. Kupriyanov · 2020

Multithreading synchronization is one of the most essential problems parallel programming. Concurrent pool is one of the most common and demanded data structures in scalable applications. The promising way to implement concurrent pool is using diffracting (diffraction) tree as an auxiliary data structure to increase the scalability. In this work, we try to optimize diffracting-tree based pool and propose our implementations which outperforms the existing ones. We designed concurrent based on diffracting trees which optimize access of threads to global variables for maximization of the efficiency (throughput) of data structure. We performed experimental modeling to evaluate the efficiency of concurrent pools. We give the evidence that our pools have higher scalability compared with the existing pool's implementations based on diffracting trees. We discuss the experimental results and provide the guidance for using them.

Read the paper · More papers on PaperTik