Abstract

The popularity of NUMA architectures has motivated researchers to design numerous locality-aware hierarchical locks, such as cohort locks, HMCS lock. These lock designs achieve high throughput by exploiting lock data locality thus they bind threads to cores in a compact way to preserve as much locality as possible. However, the compact binding does not perform well in the scenario of multiple applications running on a NUMA system at the same time since each application binds its threads to cores independently and thus it tends to bind all application threads to the same set of cores. In this paper, we propose TSP, a new threads scheduling policy for hierarchical locks, which aims to balance threads of multiple applications to Sockets without violation of the compact threads binding of each application, so that all applications could achieve high throughput at the same time. Our evaluation shows that in the scenario of multiple applications running on the same NUMA system, TSP could achieve 6 times of throughput improvement with only two times of computing resource.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call