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 paper, we contribute 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 \emph{communication locality} and \emph{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.
(AGERE!-2017-Slides-2-1.pdf) | 179KiB |
Mon 23 Oct Times are displayed in time zone: Tijuana, Baja California change
13:30 - 15:00: Session 2: Runtime Environments and DebuggingAGERE at Prince of Wales Chair(s): Joeri De KosterVrije Universiteit Brussel, Belgium | |||
13:30 - 14:00 Talk | Locality-Guided Scheduling in CAF AGERE File Attached | ||
14:00 - 14:30 Talk | A Principled Approach Towards Debugging Communicating Event-Loops AGERE Carmen Torres Lopez, Stefan MarrUniversity of Kent, Elisa Gonzalez BoixVrije Universiteit Brussel, Hanspeter MössenböckJKU Linz, Austria, Christophe ScholliersUniversiteit Gent, Belgium | ||
14:30 - 15:00 Talk | Actoverse: A Reversible Debugger for Actors AGERE Link to publication DOI |