Raphael Hiesgen: Locality-Guided Scheduling in CAF

  • When Oct 18, 2017 from 03:00 PM to 04:00 PM (CET / UTC200)
  • Where R 4.60
  • Contact Name
  • Add event to calendar iCal

The C++ Actor Framework (CAF) was designed for using multiple, exchangeable schedulers with a default choice of random work stealing (RWS) for load-balancing. RWS is excellently scalable, and by choosing a random victim scheduling is kept simple with minimal information required. On the downside, it ignores  data locality and misses opportunities to improve the application performance.

In this talk, we present a locality-guided scheduling that exploits knowledge about the host system to adapt runtime deployment and thereby improves the performance of actor based applications. We implement and thoroughly analyze a CAF scheduler which considers the trade-off between communication locality and execution locality. The former describes the locality of communicating actors, while the latter the locality between a worker, which executes an actor, and the location of its data. Extensive performance evaluations show a performance gain for data intensive application of up to 25 % on a 64 core NUMA machine.

Slides