Actor scheduling for multicore hierarchical memory platforms
Proceedings of the twelfth ACM SIGPLAN workshop on Erlang, 2013•dl.acm.org
Erlang applications are present in several mission-critical systems. These systems demand
substantial computing resources that are usually provided by multiprocessor and multi-core
platforms. Hierarchical memory platforms, or Non-Uniform Memory Access (NUMA)
architectures, account for an important share of these platforms. Yet, the research on the
suitability of the current virtual machine (VM) for these platforms is quite limited. The current
VM assumes a flat memory space, thus not performing as well as it could on these …
substantial computing resources that are usually provided by multiprocessor and multi-core
platforms. Hierarchical memory platforms, or Non-Uniform Memory Access (NUMA)
architectures, account for an important share of these platforms. Yet, the research on the
suitability of the current virtual machine (VM) for these platforms is quite limited. The current
VM assumes a flat memory space, thus not performing as well as it could on these …
Erlang applications are present in several mission-critical systems. These systems demand substantial computing resources that are usually provided by multiprocessor and multi-core platforms. Hierarchical memory platforms, or Non-Uniform Memory Access (NUMA) architectures, account for an important share of these platforms. Yet, the research on the suitability of the current virtual machine (VM) for these platforms is quite limited. The current VM assumes a flat memory space, thus not performing as well as it could on these architectures. The NUMA environment presents challenges to the runtime environment in fields varying from memory management to scheduling and load-balancing. In this article we summarize some of the characteristics of an actor based application to, in light of the above, introduce some NUMA-aware improvements to the Erlang VM. This modified VM uses the NUMA characteristics and the application knowledge to take better memory management, scheduling and load-balancing decisions. We show that, when we consider the default Erlang VM as the baseline, the modified VM can achieve performance improvements up to a factor of 2.50 while limiting the slowdown on the worst case by a factor of 1.15.
ACM Digital Library
Showing the best result for this search. See all results