Actor scheduling for multicore hierarchical memory platforms

  • Authors:
  • Emilio Francesquini;Alfredo Goldman;Jean-François Méhaut

  • Affiliations:
  • University of São Paulo, São Paulo, Brazil;University of São Paulo, São Paulo, Brazil;University of Grenoble, Grenoble, France

  • Venue:
  • Proceedings of the twelfth ACM SIGPLAN workshop on Erlang
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.