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 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | Session 2: Runtime Environments and DebuggingAGERE at Prince of Wales Chair(s): Joeri De Koster Vrije Universiteit Brussel, Belgium | ||
13:30 30mTalk | Locality-Guided Scheduling in CAF AGERE File Attached | ||
14:00 30mTalk | A Principled Approach Towards Debugging Communicating Event-Loops AGERE Carmen Torres Lopez , Stefan Marr University of Kent, Elisa Gonzalez Boix Vrije Universiteit Brussel, Hanspeter Mössenböck JKU Linz, Austria, Christophe Scholliers Universiteit Gent, Belgium | ||
14:30 30mTalk | Actoverse: A Reversible Debugger for Actors AGERE Link to publication DOI |